1. 28 Oct, 2016 27 commits
  2. 27 Oct, 2016 13 commits
    • Linus Torvalds's avatar
      Allow KASAN and HOTPLUG_MEMORY to co-exist when doing build testing · 67463e54
      Linus Torvalds authored
      No, KASAN may not be able to co-exist with HOTPLUG_MEMORY at runtime,
      but for build testing there is no reason not to allow them together.
      
      This hopefully means better build coverage and fewer embarrasing silly
      problems like the one fixed by commit 9db4f36e ("mm: remove unused
      variable in memory hotplug") in the future.
      
      Cc: Stephen Rothwell <sfr@canb.auug.org.au>
      Cc: Andrey Ryabinin <aryabinin@virtuozzo.com>
      Cc: Alexander Potapenko <glider@google.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      67463e54
    • Linus Torvalds's avatar
      mm: remove unused variable in memory hotplug · 9db4f36e
      Linus Torvalds authored
      When I removed the per-zone bitlock hashed waitqueues in commit
      9dcb8b68 ("mm: remove per-zone hashtable of bitlock waitqueues"), I
      removed all the magic hotplug memory initialization of said waitqueues
      too.
      
      But when I actually _tested_ the resulting build, I stupidly assumed
      that "allmodconfig" would enable memory hotplug.  And it doesn't,
      because it enables KASAN instead, which then disables hotplug memory
      support.
      
      As a result, my build test of the per-zone waitqueues was totally
      broken, and I didn't notice that the compiler warns about the now unused
      iterator variable 'i'.
      
      I guess I should be happy that that seems to be the worst breakage from
      my clearly horribly failed test coverage.
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9db4f36e
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 4e68af0b
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "I2C has some driver bugfixes, module autoload fixes, and driver
        enablement on some architectures"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: imx: defer probe if bus recovery GPIOs are not ready
        i2c: designware: Avoid aborted transfers with fast reacting I2C slaves
        i2c: i801: Fix I2C Block Read on 8-Series/C220 and later
        i2c: xgene: Avoid dma_buffer overrun
        i2c: digicolor: Fix module autoload
        i2c: xlr: Fix module autoload for OF registration
        i2c: xlp9xx: Fix module autoload
        i2c: jz4780: Fix module autoload
        i2c: allow configuration of imx driver for ColdFire architecture
        i2c: mark device nodes only in case of successful instantiation
        i2c: rk3x: Give the tuning value 0 during rk3x_i2c_v0_calc_timings
        i2c: hix5hd2: allow build with ARCH_HISI
      4e68af0b
    • Linus Torvalds's avatar
      Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux · 7f2145b0
      Linus Torvalds authored
      Pull thermal updates from Zhang Rui:
       "The latest Thermal Management updates for v4.9-rc3:
      
         - Fix a regression introduced by commit
           b721ca0d(thermal/powerclamp: remove cpu whitelist), that
           powerclamp driver checks cpu support in a wrong way. From: Eric
           Ernst.
      
         - Fix a problem that intel_pch_thermal driver misses passive trip
           point when the PCH thermal device has an ACPI companion device
           associated. From: Srinivas Pandruvada.
      
         - Add missing support for Haswell PCH thermal sensor. From: Srinivas
           Pandruvada"
      
      * 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/rzhang/linux:
        thermal/powerclamp: correct cpu support check
        thermal: intel_pch_thermal: Enable Haswell PCH
        thermal: intel_pch_thermal: Add an ACPI passive trip
      7f2145b0
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux · 55bea71e
      Linus Torvalds authored
      Pull s390 fixes from Martin Schwidefsky:
       "A few more s390 patches for 4.9:
         - a fix for an overflow in the dasd driver reported by UBSAN
         - fix a regression and add hotplug memory to the zone movable again
         - add ignore defines for the pkey system calls
         - fix the ouput of the merged stack tracer
         - replace printk with pr_cont in arch/s390 where appropriate
         - remove the arch specific return_address function again
         - ignore reserved channel paths at boot time
         - add a missing hugetlb_bad_size call to the arch backend"
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux:
        s390/mm: fix zone calculation in arch_add_memory()
        s390/dumpstack: use pr_cont within show_stack and die
        s390/dumpstack: get rid of return_address again
        s390/disassambler: use pr_cont where appropriate
        s390/dumpstack: use pr_cont where appropriate
        s390/dumpstack: restore reliable indicator for call traces
        s390/mm: use hugetlb_bad_size()
        s390/cio: don't register chpids in reserved state
        s390: ignore pkey system calls
        s390/dasd: avoid undefined behaviour
      55bea71e
    • Linus Torvalds's avatar
      Merge tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux · 7618c6a1
      Linus Torvalds authored
      Pull module maintainership updates from Rusty Russell:
       "(Quoting from the MAINTAINERS commit:)
      
        Being a Linux kernel maintainer has been my proudest professional
        accomplishment, spanning the last 19 years. But now we have a surfeit
        of excellent hackers, and I can hand this over without regret.
      
        I'll still be around as co-maintainer for another cycle, but Jessica
        is now the one to convince if you want your patches applied. She
        rocks, and is far more timely than me too!"
      
      * tag 'modules-next-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux:
        MAINTAINERS: Begin module maintainer transition
      7618c6a1
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.9-rc2-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux · e3300ffe
      Linus Torvalds authored
      Pull oreangefs updates from Mike Marshall:
       "A couple of orangefs cleanups sent in by other developers:
      
         - use d_fsdata instead of d_time (Miklos Szeredi)
      
         - use file_inode(file) instead of file->f_path.dentry->d_inode (Amir
           Goldstein)"
      
      * tag 'for-linus-4.9-rc2-ofs-1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux:
        orangefs: don't use d_time
        orangefs: user file_inode() where it is due
      e3300ffe
    • Linus Torvalds's avatar
      Merge tag 'xfs-fixes-for-linus-4.9-rc3' of... · e890038e
      Linus Torvalds authored
      Merge tag 'xfs-fixes-for-linus-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs
      
      Pull xfs fixes from Dave Chinner:
       "This update contains fixes for most of the outstanding regressions
        introduced with the 4.9-rc1 XFS merge. There is also a fix for an
        iomap bug, too.
      
        This is a quite a bit larger than I'd prefer for a -rc3, but most of
        the change comes from cleaning up the new reflink copy on write code;
        it's much simpler and easier to understand now. These changes fixed
        several bugs in the new code, and it wasn't clear that there was an
        easier/simpler way to fix them. The rest of the fixes are the usual
        size you'd expect at this stage.
      
        I've left the commits to soak in linux-next for a some extra time
        because of the size before asking you to pull, no new problems with
        them have been reported so I think it's all OK.
      
        Summary:
         - iomap page offset masking fix for page faults
         - add IOMAP_REPORT to distinguish between read and fiemap map
           requests
         - cleanups to new shared data extent code
         - fix mount active status on failed log recovery
         - fix broken dquots in a buffer calculation
         - fix locking order issues and merge xfs_reflink_remap_range and
           xfs_file_share_range
         - rework unmapping of CoW extents and remove now unused functions
         - clean state when CoW is done"
      
      * tag 'xfs-fixes-for-linus-4.9-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/dgc/linux-xfs: (25 commits)
        xfs: clear cowblocks tag when cow fork is emptied
        xfs: fix up inode cowblocks tracking tracepoints
        fs: Do to trim high file position bits in iomap_page_mkwrite_actor
        xfs: remove xfs_bunmapi_cow
        xfs: optimize xfs_reflink_end_cow
        xfs: optimize xfs_reflink_cancel_cow_blocks
        xfs: refactor xfs_bunmapi_cow
        xfs: optimize writes to reflink files
        xfs: don't bother looking at the refcount tree for reads
        xfs: handle "raw" delayed extents xfs_reflink_trim_around_shared
        xfs: add xfs_trim_extent
        iomap: add IOMAP_REPORT
        xfs: merge xfs_reflink_remap_range and xfs_file_share_range
        xfs: remove xfs_file_wait_for_io
        xfs: move inode locking from xfs_reflink_remap_range to xfs_file_share_range
        xfs: fix the same_inode check in xfs_file_share_range
        xfs: remove the same fs check from xfs_file_share_range
        libxfs: v3 inodes are only valid on crc-enabled filesystems
        libxfs: clean up _calc_dquots_per_chunk
        xfs: unset MS_ACTIVE if mount fails
        ...
      e890038e
    • Chris Mason's avatar
      btrfs: fix races on root_log_ctx lists · 570dd450
      Chris Mason authored
      btrfs_remove_all_log_ctxs takes a shortcut where it avoids walking the
      list because it knows all of the waiters are patiently waiting for the
      commit to finish.
      
      But, there's a small race where btrfs_sync_log can remove itself from
      the list if it finds a log commit is already done.  Also, it uses
      list_del_init() to remove itself from the list, but there's no way to
      know if btrfs_remove_all_log_ctxs has already run, so we don't know for
      sure if it is safe to call list_del_init().
      
      This gets rid of all the shortcuts for btrfs_remove_all_log_ctxs(), and
      just calls it with the proper locking.
      
      This is part two of the corruption fixed by cbd60aa7.  I should have
      done this in the first place, but convinced myself the optimizations were
      safe.  A 12 hour run of dbench 2048 will eventually trigger a list debug
      WARN_ON for the list_del_init() in btrfs_sync_log().
      
      Fixes: d1433debReported-by: default avatarDave Jones <davej@codemonkey.org.uk>
      cc: stable@vger.kernel.org # 3.15+
      Signed-off-by: default avatarChris Mason <clm@fb.com>
      570dd450
    • 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