Skip to content
  1. Aug 30, 2015
  2. Aug 29, 2015
  3. Aug 28, 2015
    • Linus Torvalds's avatar
      Merge branch 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 5e7fec29
      Linus Torvalds authored
      Pull libata fixlet from Tejun Heo:
       "Simple blacklist entry addition"
      
      * 'for-4.2-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        Add factory recertified Crucial M500s to blacklist
      5e7fec29
    • Linus Torvalds's avatar
      Merge tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · b29083c5
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Here are stable fixes that have been gathered since rc8: fixes for
        HD-audio widget power control regressions since 4.1, a NULL fix for
        HD-audio HDMI, a noise fix for Conexant codecs and a quirk addition
        for USB-Audio DSD"
      
      * tag 'sound-fix-4.2' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound:
        ALSA: hda - Fix path power activation
        ALSA: hda - Check all inputs for is_active_nid_for_any()
        ALSA: hda: fix possible NULL dereference
        ALSA: hda - Shutdown CX20722 on reboot/free to avoid spurious noises
        ALSA: usb: Add native DSD support for Gustard DAC-X20U
      b29083c5
    • Linus Torvalds's avatar
      Merge tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux · 4941b8f0
      Linus Torvalds authored
      Pull powerpc fixes from Michael Ellerman:
       "Fix MSI/MSI-X on pseries from Guilherme"
      
      * tag 'powerpc-4.2-4' of git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux:
        powerpc/PCI: Disable MSI/MSI-X interrupts at PCI probe time in OF case
        PCI: Make pci_msi_setup_pci_dev() non-static for use by arch code
      4941b8f0
    • Linus Torvalds's avatar
      Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net · e001d708
      Linus Torvalds authored
      Pull networking fixes from David Miller:
       "Some straggler bug fixes here:
      
         1) Netlink_sendmsg() doesn't check iterator type properly in mmap
            case, from Ken-ichirou MATSUZAWA.
      
         2) Don't sleep in atomic context in bcmgenet driver, from Florian
            Fainelli.
      
         3) The pfkey_broadcast() code patch can't actually ever use anything
            other than GFP_ATOMIC.  And the cases that right now pass
            GFP_KERNEL or similar will currently trigger an RCU splat.  Just
            use GFP_ATOMIC unconditionally.  From David Ahern.
      
         4) Fix FD bit timings handling in pcan_usb driver, from Marc
            Kleine-Budde.
      
         5) Cache dst leaked in ip6_gre tunnel removal, fix from Huaibin Wang.
      
         6) Traversal into drivers/net/ethernet/renesas should be triggered by
            CONFIG_NET_VENDOR_RENESAS, not a particular driver's config
            option.  From Kazuya Mizuguchi.
      
         7) Fix regression in handling of igmp_join errors in vxlan, from
            Marcelo Ricardo Leitner.
      
         8) Make phy_{read,write}_mmd_indirect() properly take the mdio_lock
            mutex when programming the registers.  From Russell King.
      
         9) Fix non-forced handling in u32_destroy(), from WANG Cong.
      
        10) Test the EVENT_NO_RUNTIME_PM flag before it is cleared in
            usbnet_stop(), from Eugene Shatokhin.
      
        11) In sfc driver, don't fetch statistics firmware isn't capable of,
            from Bert Kenward.
      
        12) Verify ASCONF address parameter location in SCTP, from Xin Long"
      
      * git://git.kernel.org/pub/scm/linux/kernel/git/davem/net:
        sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state
        sctp: asconf's process should verify address parameter is in the beginning
        sfc: only use vadaptor stats if firmware is capable
        net: phy: fixed: propagate fixed link values to struct
        usbnet: Get EVENT_NO_RUNTIME_PM bit before it is cleared
        drivers: net: xgene: fix: Oops in linkwatch_fire_event
        cls_u32: complete the check for non-forced case in u32_destroy()
        net: fec: use reinit_completion() in mdio accessor functions
        net: phy: add locking to phy_read_mmd_indirect()/phy_write_mmd_indirect()
        vxlan: re-ignore EADDRINUSE from igmp_join
        net: compile renesas directory if NET_VENDOR_RENESAS is configured
        ip6_gre: release cached dst on tunnel removal
        phylib: Make PHYs children of their MDIO bus, not the bus' parent.
        can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters
        net: Fix RCU splat in af_key
        net: bcmgenet: fix uncleaned dma flags
        net: bcmgenet: Avoid sleeping in bcmgenet_timeout
        netlink: mmap: fix tx type check
      e001d708
    • Linus Torvalds's avatar
      Merge branch 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm · 5c98bcce
      Linus Torvalds authored
      Pull nvdimm fixlet from Dan Williams:
       "This is a libnvdimm ABI fixup.
      
        I pushed back on this change quite hard given the late date, that it
        appears to be purely cosmetic, sysfs is not necessarily meant to be a
        user friendly UI, and the kernel interprets the reversed polarity of
        the ACPI_NFIT_MEM_ARMED flag correctly.  When this flag is set, the
        energy source of an NVDIMM is not armed and any new writes to the DIMM
        may not be preserved.
      
        However, Bob Moore warned me that it is important to get these things
        named correctly wherever they appear otherwise we run the risk of a
        less than cautious firmware engineer implementing the polarity the
        wrong way.  Once a mistake like that escapes into production platforms
        the flag becomes useless and we need to move to a new bit position.
      
        Bob has agreed to take a change through ACPICA to rename
        ACPI_NFIT_MEM_ARMED to ACPI_NFIT_MEM_NOT_ARMED, and the patch below
        from Toshi brings the sysfs representation of these flags in line with
        their respective polarities.
      
        Please pull for 4.2 as this is the first kernel to expose the ACPI
        NFIT sysfs representation, and this is likely a kernel that firmware
        developers will be using for checking out their NVDIMM enabling"
      
      * 'libnvdimm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/nvdimm/nvdimm:
        nfit: Clarify memory device state flags strings
      5c98bcce
    • lucien's avatar
      sctp: donot reset the overall_error_count in SHUTDOWN_RECEIVE state · f648f807
      lucien authored
      Commit f8d96052 ("sctp: Enforce retransmission limit during shutdown")
      fixed a problem with excessive retransmissions in the SHUTDOWN_PENDING by not
      resetting the association overall_error_count.  This allowed the association
      to better enforce assoc.max_retrans limit.
      
      However, the same issue still exists when the association is in SHUTDOWN_RECEIVED
      state.  In this state, HB-ACKs will continue to reset the overall_error_count
      for the association would extend the lifetime of association unnecessarily.
      
      This patch solves this by resetting the overall_error_count whenever the current
      state is small then SCTP_STATE_SHUTDOWN_PENDING.  As a small side-effect, we
      end up also handling SCTP_STATE_SHUTDOWN_ACK_SENT and SCTP_STATE_SHUTDOWN_SENT
      states, but they are not really impacted because we disable Heartbeats in those
      states.
      
      Fixes: Commit f8d96052
      
       ("sctp: Enforce retransmission limit during shutdown")
      Signed-off-by: default avatarXin Long <lucien.xin@gmail.com>
      Acked-by: default avatarMarcelo Ricardo Leitner <marcelo.leitner@gmail.com>
      Acked-by: default avatarVlad Yasevich <vyasevich@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      f648f807
  4. Aug 27, 2015
  5. Aug 26, 2015
  6. Aug 25, 2015
    • huaibin Wang's avatar
      ip6_gre: release cached dst on tunnel removal · d4257295
      huaibin Wang authored
      When a tunnel is deleted, the cached dst entry should be released.
      
      This problem may prevent the removal of a netns (seen with a x-netns IPv6
      gre tunnel):
        unregister_netdevice: waiting for lo to become free. Usage count = 3
      
      CC: Dmitry Kozlov <xeb@mail.ru>
      Fixes: c12b395a
      
       ("gre: Support GRE over IPv6")
      Signed-off-by: default avatarhuaibin Wang <huaibin.wang@6wind.com>
      Signed-off-by: default avatarNicolas Dichtel <nicolas.dichtel@6wind.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      d4257295
    • Jeff Moyer's avatar
      mtip32x: fix regression introduced by blk-mq per-hctx flush · 74c9c913
      Jeff Moyer authored
      Hi,
      
      After commit f70ced09
      
       (blk-mq: support per-distpatch_queue flush
      machinery), the mtip32xx driver may oops upon module load due to walking
      off the end of an array in mtip_init_cmd.  On initialization of the
      flush_rq, init_request is called with request_index >= the maximum queue
      depth the driver supports.  For mtip32xx, this value is used to index
      into an array.  What this means is that the driver will walk off the end
      of the array, and either oops or cause random memory corruption.
      
      The problem is easily reproduced by doing modprobe/rmmod of the mtip32xx
      driver in a loop.  I can typically reproduce the problem in about 30
      seconds.
      
      Now, in the case of mtip32xx, it actually doesn't support flush/fua, so
      I think we can simply return without doing anything.  In addition, no
      other mq-enabled driver does anything with the request_index passed into
      init_request(), so no other driver is affected.  However, I'm not really
      sure what is expected of drivers.  Ming, what did you envision drivers
      would do when initializing the flush requests?
      
      Signed-off-by: default avatarJeff Moyer <jmoyer@redhat.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      74c9c913
    • Tejun Heo's avatar
      writeback: sync_inodes_sb() must write out I_DIRTY_TIME inodes and always call wait_sb_inodes() · 006a0973
      Tejun Heo authored
      e7972912
      
       ("writeback: don't issue wb_writeback_work if clean")
      updated writeback path to avoid kicking writeback work items if there
      are no inodes to be written out; unfortunately, the avoidance logic
      was too aggressive and broke sync_inodes_sb().
      
      * sync_inodes_sb() must write out I_DIRTY_TIME inodes but I_DIRTY_TIME
        inodes dont't contribute to bdi/wb_has_dirty_io() tests and were
        being skipped over.
      
      * inodes are taken off wb->b_dirty/io/more_io lists after writeback
        starts on them.  sync_inodes_sb() skipping wait_sb_inodes() when
        bdi_has_dirty_io() breaks it by making it return while writebacks
        are in-flight.
      
      This patch fixes the breakages by
      
      * Removing bdi_has_dirty_io() shortcut from bdi_split_work_to_wbs().
        The callers are already testing the condition.
      
      * Removing bdi_has_dirty_io() shortcut from sync_inodes_sb() so that
        it always calls into bdi_split_work_to_wbs() and wait_sb_inodes().
      
      * Making bdi_split_work_to_wbs() consider the b_dirty_time list for
        WB_SYNC_ALL writebacks.
      
      Kudos to Eryu, Dave and Jan for tracking down the issue.
      
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      Fixes: e7972912 ("writeback: don't issue wb_writeback_work if clean")
      Link: http://lkml.kernel.org/g/20150812101204.GE17933@dhcp-13-216.nay.redhat.com
      
      
      Reported-and-bisected-by: default avatarEryu Guan <eguan@redhat.com>
      Cc: Dave Chinner <david@fromorbit.com>
      Cc: Jan Kara <jack@suse.com>
      Cc: Ted Ts'o <tytso@google.com>
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      006a0973
    • David Daney's avatar
      phylib: Make PHYs children of their MDIO bus, not the bus' parent. · 8b63ec18
      David Daney authored
      commit 18ee49dd ("phylib: rename mii_bus::dev to mii_bus::parent")
      changed the parent of PHY devices from the bus to the bus parent.
      
      Then, commit 4dea547f
      
       ("phylib: rework to prepare for OF
      registration of PHYs") moved the code into phy_device.c
      
      At this point, it is somewhat unclear why the change was seen as
      necessary.  But, when we look at the device model tree in
      /sys/devices, it is clearly incorrect.  The PHYs should be children of
      their MDIO bus.
      
      Change the PHY's parent device to be the MDIO bus device.
      
      Cc: Lennert Buytenhek <buytenh@wantstofly.org>
      Cc: Grant Likely <grant.likely@secretlab.ca>
      Signed-off-by: default avatarDavid Daney <david.daney@cavium.com>
      Acked-by: default avatarFlorian Fainelli <f.fainelli@gmail.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      8b63ec18
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · b1713b13
      Linus Torvalds authored
      Pull x86 fix from Thomas Gleixner:
       "A single fix for a APIC regression introduced in 4.0 which went
        undetected until now.
      
        I screwed up the x2apic cleanup in a subtle way.  The screwup is only
        visible on systems which have x2apic preenabled in the BIOS and need
        to disable it during boot"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/apic: Fix fallout from x2apic cleanup
      b1713b13
    • Marc Kleine-Budde's avatar
      can: pcan_usb: don't provide CAN FD bittimings by non-FD adapters · 06b23f7f
      Marc Kleine-Budde authored
      
      
      The CAN FD data bittiming constants are provided via netlink only when there
      are valid CAN FD constants available in priv->data_bittiming_const.
      
      Due to the indirection of pointer assignments in the peak_usb driver the
      priv->data_bittiming_const never becomes NULL - not even for non-FD adapters.
      
      The data_bittiming_const points to zero'ed data which leads to this result
      when running 'ip -details link show can0':
      
      35: can0: <NOARP,ECHO> mtu 16 qdisc noop state DOWN mode DEFAULT group default qlen 10
          link/can  promiscuity 0
          can state STOPPED restart-ms 0
      	  pcan_usb: tseg1 1..16 tseg2 1..8 sjw 1..4 brp 1..64 brp-inc 1
      	  : dtseg1 0..0 dtseg2 0..0 dsjw 1..0 dbrp 0..0 dbrp-inc 0  <== BROKEN!
      	  clock 8000000
      
      This patch changes the struct peak_usb_adapter::bittiming_const and struct
      peak_usb_adapter::data_bittiming_const to pointers to fix the assignemnt
      problems.
      
      Cc: linux-stable <stable@vger.kernel.org> # >= 4.0
      Reported-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      Tested-by: default avatarOliver Hartkopp <socketcan@hartkopp.net>
      Signed-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
      06b23f7f
    • Takashi Iwai's avatar
      ALSA: hda - Fix path power activation · c7cd0ef6
      Takashi Iwai authored
      The widget power-saving code tries to turn up/down the power of each
      widget in the I/O paths that are modified at each jack plug/unplug.
      The recent report revealed that the power activation leaves some
      widgets unpowered after plugging.  This is because
      snd_hda_activate_path() turns on path->active flag at the end of the
      function while the path power management is done before that.  Then
      it's regarded as if nothing is active, and the driver turns off the
      power.
      
      The fix is simply to set the flag at the beginning of the function,
      before trying to power up.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521
      
      
      Cc: <stable@vger.kernel.org> [v4.1+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      c7cd0ef6
    • Takashi Iwai's avatar
      ALSA: hda - Check all inputs for is_active_nid_for_any() · 9d2b48f7
      Takashi Iwai authored
      The is_active_nid_for_any() function in the generic parser is supposed
      to check all connections from/to the given widget, but the current
      code checks only the first input connection (index = 0).
      
      This patch corrects the code to check all inputs by passing -1 to
      index argument.
      
      Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=102521
      
      
      Cc: <stable@vger.kernel.org> [v4.1+]
      Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
      9d2b48f7
  7. Aug 24, 2015
    • J. Bruce Fields's avatar
      nfsd: Add Jeff Layton as co-maintainer · 883985f6
      J. Bruce Fields authored
      
      
      Jeff has been doing a lot of development (including much of the
      state-locking rewrite just as one example) plus lots of review and other
      miscellaneous nfsd work, so let's acknowledge the status quo.
      
      I'll continue to be the one to send regular pull requests but Jeff will
      should be available to cover there occasionally too.
      
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      883985f6
    • David Ahern's avatar
      net: Fix RCU splat in af_key · ba51b6be
      David Ahern authored
      Hit the following splat testing VRF change for ipsec:
      
      [  113.475692] ===============================
      [  113.476194] [ INFO: suspicious RCU usage. ]
      [  113.476667] 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED Not tainted
      [  113.477545] -------------------------------
      [  113.478013] /work/monster-14/dsa/kernel.git/include/linux/rcupdate.h:568 Illegal context switch in RCU read-side critical section!
      [  113.479288]
      [  113.479288] other info that might help us debug this:
      [  113.479288]
      [  113.480207]
      [  113.480207] rcu_scheduler_active = 1, debug_locks = 1
      [  113.480931] 2 locks held by setkey/6829:
      [  113.481371]  #0:  (&net->xfrm.xfrm_cfg_mutex){+.+.+.}, at: [<ffffffff814e9887>] pfkey_sendmsg+0xfb/0x213
      [  113.482509]  #1:  (rcu_read_lock){......}, at: [<ffffffff814e767f>] rcu_read_lock+0x0/0x6e
      [  113.483509]
      [  113.483509] stack backtrace:
      [  113.484041] CPU: 0 PID: 6829 Comm: setkey Not tainted 4.2.0-rc6-1+deb7u2+clUNRELEASED #3.2.65-1+deb7u2+clUNRELEASED
      [  113.485422] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.7.5.1-0-g8936dbb-20141113_115728-nilsson.home.kraxel.org 04/01/2014
      [  113.486845]  0000000000000001 ffff88001d4c7a98 ffffffff81518af2 ffffffff81086962
      [  113.487732]  ffff88001d538480 ffff88001d4c7ac8 ffffffff8107ae75 ffffffff8180a154
      [  113.488628]  0000000000000b30 0000000000000000 00000000000000d0 ffff88001d4c7ad8
      [  113.489525] Call Trace:
      [  113.489813]  [<ffffffff81518af2>] dump_stack+0x4c/0x65
      [  113.490389]  [<ffffffff81086962>] ? console_unlock+0x3d6/0x405
      [  113.491039]  [<ffffffff8107ae75>] lockdep_rcu_suspicious+0xfa/0x103
      [  113.491735]  [<ffffffff81064032>] rcu_preempt_sleep_check+0x45/0x47
      [  113.492442]  [<ffffffff8106404d>] ___might_sleep+0x19/0x1c8
      [  113.493077]  [<ffffffff81064268>] __might_sleep+0x6c/0x82
      [  113.493681]  [<ffffffff81133190>] cache_alloc_debugcheck_before.isra.50+0x1d/0x24
      [  113.494508]  [<ffffffff81134876>] kmem_cache_alloc+0x31/0x18f
      [  113.495149]  [<ffffffff814012b5>] skb_clone+0x64/0x80
      [  113.495712]  [<ffffffff814e6f71>] pfkey_broadcast_one+0x3d/0xff
      [  113.496380]  [<ffffffff814e7b84>] pfkey_broadcast+0xb5/0x11e
      [  113.497024]  [<ffffffff814e82d1>] pfkey_register+0x191/0x1b1
      [  113.497653]  [<ffffffff814e9770>] pfkey_process+0x162/0x17e
      [  113.498274]  [<ffffffff814e9895>] pfkey_sendmsg+0x109/0x213
      
      In pfkey_sendmsg the net mutex is taken and then pfkey_broadcast takes
      the RCU lock.
      
      Since pfkey_broadcast takes the RCU lock the allocation argument is
      pointless since GFP_ATOMIC must be used between the rcu_read_{,un}lock.
      The one call outside of rcu can be done with GFP_KERNEL.
      
      Fixes: 7f6b9dbd
      
       ("af_key: locking change")
      Signed-off-by: default avatarDavid Ahern <dsa@cumulusnetworks.com>
      Acked-by: default avatarEric Dumazet <edumazet@google.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
      ba51b6be