1. 28 Oct, 2016 19 commits
  2. 27 Oct, 2016 5 commits
    • Linus Torvalds's avatar
      Merge tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi · 18c2152d
      Linus Torvalds authored
      Pull SCSI fixes from James Bottomley:
       "Two small fixes: one is a fatal section mismatch (reference to init
        after it's discarded) and the other two are iscsi locking fixes"
      
      * tag 'scsi-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi:
        scsi: NCR5380: no longer mark irq probing as __init
        scsi: be2iscsi: Replace _bh with _irqsave/irqrestore
        scsi: libiscsi: Fix locking in __iscsi_conn_send_pdu
      18c2152d
    • Linus Torvalds's avatar
      Merge branch 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata · 4a3c390c
      Linus Torvalds authored
      Pull libata fixes from Tejun Heo:
       "The AHCI MSI handling change in rc1 was a bit broken and caused disk
        probing failures on some machines.  These three patches should fix the
        issues"
      
      David Howells comments:
       "My test machine fell foul of this using a PCIe M.2-attached SSD card.
        The patches fix it for me"
      
      * 'for-4.9-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/tj/libata:
        ahci: fix the single MSI-X case in ahci_init_one
        ahci: fix nvec check
        ahci: only try to use multi-MSI mode if there is more than 1 port
      4a3c390c
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.dk/linux-block · 9c953d63
      Linus Torvalds authored
      Pull block fixes from Jens Axboe:
       "A set of fixes for this series, most notably the fix for the blk-mq
        software queue regression in from this merge window.
      
        Apart from that, a fix for an unlikely hang if a queue is flooded with
        FUA requests from Ming, and a few small fixes for nbd and badblocks.
        Lastly, a rename update for the proc softirq output, since the block
        polling code was made generic"
      
      * 'for-linus' of git://git.kernel.dk/linux-block:
        blk-mq: update hardware and software queues for sleeping alloc
        block: flush: fix IO hang in case of flood fua req
        nbd: fix incorrect unlock of nbd->sock_lock in sock_shutdown
        badblocks: badblocks_set/clear update unacked_exist
        softirq: Display IRQ_POLL for irq-poll statistics
      9c953d63
    • Linus Torvalds's avatar
      mm: remove per-zone hashtable of bitlock waitqueues · 9dcb8b68
      Linus Torvalds authored
      The per-zone waitqueues exist because of a scalability issue with the
      page waitqueues on some NUMA machines, but it turns out that they hurt
      normal loads, and now with the vmalloced stacks they also end up
      breaking gfs2 that uses a bit_wait on a stack object:
      
           wait_on_bit(&gh->gh_iflags, HIF_WAIT, TASK_UNINTERRUPTIBLE)
      
      where 'gh' can be a reference to the local variable 'mount_gh' on the
      stack of fill_super().
      
      The reason the per-zone hash table breaks for this case is that there is
      no "zone" for virtual allocations, and trying to look up the physical
      page to get at it will fail (with a BUG_ON()).
      
      It turns out that I actually complained to the mm people about the
      per-zone hash table for another reason just a month ago: the zone lookup
      also hurts the regular use of "unlock_page()" a lot, because the zone
      lookup ends up forcing several unnecessary cache misses and generates
      horrible code.
      
      As part of that earlier discussion, we had a much better solution for
      the NUMA scalability issue - by just making the page lock have a
      separate contention bit, the waitqueue doesn't even have to be looked at
      for the normal case.
      
      Peter Zijlstra already has a patch for that, but let's see if anybody
      even notices.  In the meantime, let's fix the actual gfs2 breakage by
      simplifying the bitlock waitqueues and removing the per-zone issue.
      Reported-by: default avatarAndreas Gruenbacher <agruenba@redhat.com>
      Tested-by: default avatarBob Peterson <rpeterso@redhat.com>
      Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Andy Lutomirski <luto@kernel.org>
      Cc: Steven Whitehouse <swhiteho@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9dcb8b68
    • Jens Axboe's avatar
      blk-mq: update hardware and software queues for sleeping alloc · 7fe31130
      Jens Axboe authored
      If we end up sleeping due to running out of requests, we should
      update the hardware and software queues in the map ctx structure.
      Otherwise we could end up having rq->mq_ctx point to the pre-sleep
      context, and risk corrupting ctx->rq_list since we'll be
      grabbing the wrong lock when inserting the request.
      Reported-by: default avatarDave Jones <davej@codemonkey.org.uk>
      Reported-by: default avatarChris Mason <clm@fb.com>
      Tested-by: default avatarChris Mason <clm@fb.com>
      Fixes: 63581af3 ("blk-mq: remove non-blocking pass in blk_mq_map_request")
      Signed-off-by: default avatarJens Axboe <axboe@fb.com>
      7fe31130
  3. 26 Oct, 2016 1 commit
  4. 25 Oct, 2016 7 commits
    • Christoph Hellwig's avatar
      ahci: fix the single MSI-X case in ahci_init_one · 0ce57f8a
      Christoph Hellwig authored
      We need to make sure hpriv->irq is set properly if we don't use per-port
      vectors, so switch from blindly assigning pdev->irq to using
      pci_irq_vector, which handles all interrupt types correctly.
      Signed-off-by: default avatarChristoph Hellwig <hch@lst.de>
      Reported-by: default avatarRobert Richter <robert.richter@cavium.com>
      Tested-by: default avatarRobert Richter <robert.richter@cavium.com>
      Tested-by: default avatarDavid Daney <ddaney.cavm@gmail.com>
      Fixes: 0b9e2988 ("ahci: use pci_alloc_irq_vectors")
      Signed-off-by: default avatarTejun Heo <tj@kernel.org>
      0ce57f8a
    • Linus Torvalds's avatar
      Merge branch 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6 · 9fe68cad
      Linus Torvalds authored
      Pull crypto fix from Herbert Xu:
       "This fixes a regression caused by the stack vmalloc change"
      
      * 'linus' of git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:
        hwrng: core - Don't use a stack buffer in add_early_randomness()
      9fe68cad
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · b5cd8917
      Linus Torvalds authored
      Pull clk fixes from Stephen Boyd:
       "This is the first batch of clk driver fixes for this release.
      
        We have a handful of fixes for the uniphier clk driver that was
        introduced recently, as well as Kconfig option hiding, module
        autoloading markings, and a few fixes for clk_hw based registration
        patches that went in this merge window"
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: at91: Fix a return value in case of error
        clk: uniphier: rename MIO clock to SD clock for Pro5, PXs2, LD20 SoCs
        clk: uniphier: fix memory overrun bug
        clk: hi6220: use CLK_OF_DECLARE_DRIVER for sysctrl and mediactrl clock init
        clk: mvebu: armada-37xx-periph: Fix the clock gate flag
        clk: bcm2835: Clamp the PLL's requested rate to the hardware limits.
        clk: max77686: fix number of clocks setup for clk_hw based registration
        clk: mvebu: armada-37xx-periph: Fix the clock provider registration
        clk: core: add __init decoration for CLK_OF_DECLARE_DRIVER function
        clk: mediatek: Add hardware dependency
        clk: samsung: clk-exynos-audss: Fix module autoload
        clk: uniphier: fix type of variable passed to regmap_read()
        clk: uniphier: add system clock support for sLD3 SoC
      b5cd8917
    • Linus Torvalds's avatar
      Merge tag 'gpio-v4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio · 1ce5bdb8
      Linus Torvalds authored
      Pull GPIO fixes from Linus Walleij:
       "Here is a set of GPIO fixes for the v4.9 kernel series:
      
         - Fix up off-by one and line offset validation, info leak to
           userspace, and reject invalid flags. Those are especially valuable
           hardening patches from Lars-Peter Clausen, all tagged for stable.
      
         - Fix module autoload for TS4800 and ATH79.
      
         - Correct the IRQ handler for MPC8xxx to use handle_level_irq() as it
           (a) reacts to edges not levels and (b) even implements .irq_ack().
           We were missing IRQs here.
      
         - Fix the error path for acpi_dev_gpio_irq_get()
      
         - Fix a memory leak in the MXS driver.
      
         - Fix an annoying typo in the STMPE driver.
      
         - Put a dependency on sysfs to the mockup driver"
      
      * tag 'gpio-v4.9-2' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-gpio:
        gpio: mpc8xxx: Correct irq handler function
        gpio: ath79: Fix module autoload
        gpio: ts4800: Fix module autoload
        gpio: GPIO_GET_LINEEVENT_IOCTL: Reject invalid line and event flags
        gpio: GPIO_GET_LINEHANDLE_IOCTL: Reject invalid line flags
        gpio: GPIOHANDLE_GET_LINE_VALUES_IOCTL: Fix information leak
        gpio: GPIO_GET_LINEEVENT_IOCTL: Validate line offset
        gpio: GPIOHANDLE_GET_LINE_VALUES_IOCTL: Fix information leak
        gpio: GPIO_GET_LINEHANDLE_IOCTL: Validate line offset
        gpio: GPIO_GET_CHIPINFO_IOCTL: Fix information leak
        gpio: GPIO_GET_CHIPINFO_IOCTL: Fix line offset validation
        gpio / ACPI: fix returned error from acpi_dev_gpio_irq_get()
        gpio: mockup: add sysfs dependency
        gpio: stmpe: || vs && typo
        gpio: mxs: Unmap region obtained by of_iomap
        gpio/board.txt: point to gpiod_set_value
      1ce5bdb8
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip · aa34e07e
      Linus Torvalds authored
      Pull xen fixes from David Vrabel:
      
       - advertise control feature flags in xenstore
      
       - fix x86 build when XEN_PVHVM is disabled
      
      * tag 'for-linus-4.9-rc2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/xen/tip:
        xenbus: check return value of xenbus_scanf()
        xenbus: prefer list_for_each()
        x86: xen: move cpu_up functions out of ifdef
        xenbus: advertise control feature flags
      aa34e07e
    • Lorenzo Stoakes's avatar
      mm: unexport __get_user_pages() · 0d731759
      Lorenzo Stoakes authored
      This patch unexports the low-level __get_user_pages() function.
      
      Recent refactoring of the get_user_pages* functions allow flags to be
      passed through get_user_pages() which eliminates the need for access to
      this function from its one user, kvm.
      
      We can see that the two calls to get_user_pages() which replace
      __get_user_pages() in kvm_main.c are equivalent by examining their call
      stacks:
      
        get_user_page_nowait():
          get_user_pages(start, 1, flags, page, NULL)
          __get_user_pages_locked(current, current->mm, start, 1, page, NULL, NULL,
      			    false, flags | FOLL_TOUCH)
          __get_user_pages(current, current->mm, start, 1,
      		     flags | FOLL_TOUCH | FOLL_GET, page, NULL, NULL)
      
        check_user_page_hwpoison():
          get_user_pages(addr, 1, flags, NULL, NULL)
          __get_user_pages_locked(current, current->mm, addr, 1, NULL, NULL, NULL,
      			    false, flags | FOLL_TOUCH)
          __get_user_pages(current, current->mm, addr, 1, flags | FOLL_TOUCH, NULL,
      		     NULL, NULL)
      Signed-off-by: default avatarLorenzo Stoakes <lstoakes@gmail.com>
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0d731759
    • Linus Torvalds's avatar
      proc: don't use FOLL_FORCE for reading cmdline and environment · 272ddc8b
      Linus Torvalds authored
      Now that Lorenzo cleaned things up and made the FOLL_FORCE users
      explicit, it becomes obvious how some of them don't really need
      FOLL_FORCE at all.
      
      So remove FOLL_FORCE from the proc code that reads the command line and
      arguments from user space.
      
      The mem_rw() function actually does want FOLL_FORCE, because gdd (and
      possibly many other debuggers) use it as a much more convenient version
      of PTRACE_PEEKDATA, but we should consider making the FOLL_FORCE part
      conditional on actually being a ptracer.  This does not actually do
      that, just moves adds a comment to that effect and moves the gup_flags
      settings next to each other.
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      272ddc8b
  5. 24 Oct, 2016 7 commits
  6. 23 Oct, 2016 1 commit
    • Linus Torvalds's avatar
      Merge tag 'upstream-4.9-rc2' of git://git.infradead.org/linux-ubifs · 5ff93abc
      Linus Torvalds authored
      Pull UBI[FS] fixes from Richard Weinberger:
       "This contains fixes for issues in both UBI and UBIFS:
      
         - Fallout from the merge window, refactoring UBI code introduced some
           issues.
      
         - Fixes for an UBIFS readdir bug which can cause getdents() to busy
           loop for ever and a bug in the UBIFS xattr code"
      
      * tag 'upstream-4.9-rc2' of git://git.infradead.org/linux-ubifs:
        ubifs: Abort readdir upon error
        UBI: Fix crash in try_recover_peb()
        ubi: fix swapped arguments to call to ubi_alloc_aeb
        ubifs: Fix xattr_names length in exit paths
        ubifs: Rename ubifs_rename2
      5ff93abc