1. 10 Jul, 2017 22 commits
    • Anshuman Khandual's avatar
      mm: hugetlb: soft-offline: dissolve source hugepage after successful migration · c3114a84
      Anshuman Khandual authored
      Currently hugepage migrated by soft-offline (i.e.  due to correctable
      memory errors) is contained as a hugepage, which means many non-error
      pages in it are unreusable, i.e.  wasted.
      
      This patch solves this issue by dissolving source hugepages into buddy.
      As done in previous patch, PageHWPoison is set only on a head page of
      the error hugepage.  Then in dissoliving we move the PageHWPoison flag
      to the raw error page so that all healthy subpages return back to buddy.
      
      [arnd@arndb.de: fix warnings: replace some macros with inline functions]
        Link: http://lkml.kernel.org/r/20170609102544.2947326-1-arnd@arndb.de
      Link: http://lkml.kernel.org/r/1496305019-5493-5-git-send-email-n-horiguchi@ah.jp.nec.comSigned-off-by: default avatarAnshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c3114a84
    • Naoya Horiguchi's avatar
      mm: hwpoison: change PageHWPoison behavior on hugetlb pages · b37ff71c
      Naoya Horiguchi authored
      We'd like to narrow down the error region in memory error on hugetlb
      pages.  However, currently we set PageHWPoison flags on all subpages in
      the error hugepage and add # of subpages to num_hwpoison_pages, which
      doesn't fit our purpose.
      
      So this patch changes the behavior and we only set PageHWPoison on the
      head page then increase num_hwpoison_pages only by 1.  This is a
      preparation for narrow-down part which comes in later patches.
      
      Link: http://lkml.kernel.org/r/1496305019-5493-4-git-send-email-n-horiguchi@ah.jp.nec.comSigned-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b37ff71c
    • Naoya Horiguchi's avatar
      mm: hugetlb: return immediately for hugetlb page in __delete_from_page_cache() · 09612fa6
      Naoya Horiguchi authored
      We avoid calling __mod_node_page_state(NR_FILE_PAGES) for hugetlb page
      now, but it's not enough because later code doesn't handle hugetlb
      properly.  Actually in our testing, WARN_ON_ONCE(PageDirty(page)) at the
      end of this function fires for hugetlb, which makes no sense.  So we
      should return immediately for hugetlb pages.
      
      Link: http://lkml.kernel.org/r/1496305019-5493-3-git-send-email-n-horiguchi@ah.jp.nec.comSigned-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09612fa6
    • Naoya Horiguchi's avatar
      mm: hugetlb: prevent reuse of hwpoisoned free hugepages · 243abd5b
      Naoya Horiguchi authored
      Patch series "mm: hwpoison: fixlet for hugetlb migration".
      
      This patchset updates the hwpoison/hugetlb code to address 2 reported
      issues.
      
      One is madvise(MADV_HWPOISON) failure reported by Intel's lkp robot (see
      http://lkml.kernel.org/r/20170417055948.GM31394@yexl-desktop.) First
      half was already fixed in mainline, and another half about hugetlb cases
      are solved in this series.
      
      Another issue is "narrow-down error affected region into a single 4kB
      page instead of a whole hugetlb page" issue, which was tried by Anshuman
      (http://lkml.kernel.org/r/20170420110627.12307-1-khandual@linux.vnet.ibm.com)
      and I updated it to apply it more widely.
      
      This patch (of 9):
      
      We no longer use MIGRATE_ISOLATE to prevent reuse of hwpoison hugepages
      as we did before.  So current dequeue_huge_page_node() doesn't work as
      intended because it still uses is_migrate_isolate_page() for this check.
      This patch fixes it with PageHWPoison flag.
      
      Link: http://lkml.kernel.org/r/1496305019-5493-2-git-send-email-n-horiguchi@ah.jp.nec.comSigned-off-by: default avatarNaoya Horiguchi <n-horiguchi@ah.jp.nec.com>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: "Aneesh Kumar K.V" <aneesh.kumar@linux.vnet.ibm.com>
      Cc: Anshuman Khandual <khandual@linux.vnet.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      243abd5b
    • Eric Biggers's avatar
      fs/buffer.c: make bh_lru_install() more efficient · 241f01fb
      Eric Biggers authored
      To install a buffer_head into the cpu's LRU queue, bh_lru_install()
      would construct a new copy of the queue and then memcpy it over the real
      queue.  But it's easily possible to do the update in-place, which is
      faster and simpler.  Some work can also be skipped if the buffer_head
      was already in the queue.
      
      As a microbenchmark I timed how long it takes to run sb_getblk()
      10,000,000 times alternating between BH_LRU_SIZE + 1 blocks.
      Effectively, this benchmarks looking up buffer_heads that are in the
      page cache but not in the LRU:
      
      	Before this patch: 1.758s
      	After this patch: 1.653s
      
      This patch also removes about 350 bytes of compiled code (on x86_64),
      partly due to removal of the memcpy() which was being inlined+unrolled.
      
      Link: http://lkml.kernel.org/r/20161229193445.1913-1-ebiggers3@gmail.comSigned-off-by: default avatarEric Biggers <ebiggers@google.com>
      Cc: Alexander Viro <viro@zeniv.linux.org.uk>
      Cc: Christoph Lameter <cl@linux.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      241f01fb
    • Nick Desaulniers's avatar
      mm/zsmalloc.c: fix -Wunneeded-internal-declaration warning · 3457f414
      Nick Desaulniers authored
      is_first_page() is only called from the macro VM_BUG_ON_PAGE() which is
      only compiled in as a runtime check when CONFIG_DEBUG_VM is set,
      otherwise is checked at compile time and not actually compiled in.
      
      Fixes the following warning, found with Clang:
      
        mm/zsmalloc.c:472:12: warning: function 'is_first_page' is not needed and will not be emitted [-Wunneeded-internal-declaration]
        static int is_first_page(struct page *page)
                 ^
      
      Link: http://lkml.kernel.org/r/20170524053859.29059-1-nick.desaulniers@gmail.comSigned-off-by: default avatarNick Desaulniers <nick.desaulniers@gmail.com>
      Reviewed-by: default avatarSergey Senozhatsky <sergey.senozhatsky@gmail.com>
      Acked-by: default avatarMinchan Kim <minchan@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3457f414
    • Gustavo A. R. Silva's avatar
      mm/memory_hotplug.c: add NULL check to avoid potential NULL pointer dereference · dbac61a3
      Gustavo A. R. Silva authored
      The NULL check at line 1226: if (!pgdat), implies that pointer pgdat
      might be NULL.
      
      rollback_node_hotadd() dereferences this pointer.  Add NULL check to
      avoid a potential NULL pointer dereference.
      
      Addresses-Coverity-ID: 1369133
      Link: http://lkml.kernel.org/r/20170530212436.GA6195@embeddedgusSigned-off-by: default avatarGustavo A. R. Silva <garsilva@embeddedor.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      dbac61a3
    • David Rientjes's avatar
      mm, vmscan: avoid thrashing anon lru when free + file is low · 06226226
      David Rientjes authored
      The purpose of the code that commit 62376251 ("revert 'mm: vmscan:
      do not swap anon pages just because free+file is low'") reintroduces is
      to prefer swapping anonymous memory rather than trashing the file lru.
      
      If the anonymous inactive lru for the set of eligible zones is
      considered low, however, or the length of the list for the given reclaim
      priority does not allow for effective anonymous-only reclaiming, then
      avoid forcing SCAN_ANON.  Forcing SCAN_ANON will end up thrashing the
      small list and leave unreclaimed memory on the file lrus.
      
      If the inactive list is insufficient, fallback to balanced reclaim so
      the file lru doesn't remain untouched.
      
      [akpm@linux-foundation.org: fix build]
      Link: http://lkml.kernel.org/r/alpine.DEB.2.10.1705011432220.137835@chino.kir.corp.google.comSigned-off-by: default avatarDavid Rientjes <rientjes@google.com>
      Suggested-by: default avatarMinchan Kim <minchan@kernel.org>
      Acked-by: default avatarMichal Hocko <mhocko@suse.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Mel Gorman <mgorman@techsingularity.net>
      Cc: Rik van Riel <riel@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      06226226
    • Yevgen Pronenko's avatar
      mm/memory.c: convert to DEFINE_DEBUGFS_ATTRIBUTE · 0a1345f8
      Yevgen Pronenko authored
      The preferred strategy to define debugfs attributes is to use the
      DEFINE_DEBUGFS_ATTRIBUTE() macro and to use debugfs_create_file_unsafe().
      
      Link: http://lkml.kernel.org/r/20170528145948.32127-1-y.pronenko@gmail.comSigned-off-by: default avatarYevgen Pronenko <y.pronenko@gmail.com>
      Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.com>
      Cc: Jan Kara <jack@suse.cz>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0a1345f8
    • Vlastimil Babka's avatar
      mm, page_alloc: fallback to smallest page when not stealing whole pageblock · 7a8f58f3
      Vlastimil Babka authored
      Since commit 3bc48f96 ("mm, page_alloc: split smallest stolen page
      in fallback") we pick the smallest (but sufficient) page of all that
      have been stolen from a pageblock of different migratetype.  However,
      there are cases when we decide not to steal the whole pageblock.
      
      Practically in the current implementation it means that we are trying to
      fallback for a MIGRATE_MOVABLE allocation of order X, go through the
      freelists from MAX_ORDER-1 down to X, and find free page of order Y.  If
      Y is less than pageblock_order / 2, we decide not to steal all pages
      from the pageblock.  When Y > X, it means we are potentially splitting a
      larger page than we need, as there might be other pages of order Z,
      where X <= Z < Y.  Since Y is already too small to steal whole
      pageblock, picking smallest available Z will result in the same decision
      and we avoid splitting a higher-order page in a MIGRATE_UNMOVABLE or
      MIGRATE_RECLAIMABLE pageblock.
      
      This patch therefore changes the fallback algorithm so that in the
      situation described above, we switch the fallback search strategy to go
      from order X upwards to find the smallest suitable fallback.  In theory
      there shouldn't be a downside of this change wrt fragmentation.
      
      This has been tested with mmtests' stress-highalloc performing
      GFP_KERNEL order-4 allocations, here is the relevant extfrag tracepoint
      statistics:
      
                                                              4.12.0-rc2      4.12.0-rc2
                                                               1-kernel4       2-kernel4
        Page alloc extfrag event                                  25640976    69680977
        Extfrag fragmenting                                       25621086    69661364
        Extfrag fragmenting for unmovable                            74409       73204
        Extfrag fragmenting unmovable placed with movable            69003       67684
        Extfrag fragmenting unmovable placed with reclaim.            5406        5520
        Extfrag fragmenting for reclaimable                           6398        8467
        Extfrag fragmenting reclaimable placed with movable            869         884
        Extfrag fragmenting reclaimable placed with unmov.            5529        7583
        Extfrag fragmenting for movable                           25540279    69579693
      
      Since we force movable allocations to steal the smallest available page
      (which we then practially always split), we steal less per fallback, so
      the number of fallbacks increases and steals potentially happen from
      different pageblocks.  This is however not an issue for movable pages
      that can be compacted.
      
      Importantly, the "unmovable placed with movable" statistics is lower,
      which is the result of less fragmentation in the unmovable pageblocks.
      The effect on reclaimable allocation is a bit unclear.
      
      Link: http://lkml.kernel.org/r/20170529093947.22618-1-vbabka@suse.czSigned-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Acked-by: default avatarMel Gorman <mgorman@techsingularity.net>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: David Rientjes <rientjes@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      7a8f58f3
    • Shaohua Li's avatar
      swap: add block io poll in swapin path · 23955622
      Shaohua Li authored
      For fast flash disk, async IO could introduce overhead because of
      context switch.  block-mq now supports IO poll, which improves
      performance and latency a lot.  swapin is a good place to use this
      technique, because the task is waiting for the swapin page to continue
      execution.
      
      In my virtual machine, directly read 4k data from a NVMe with iopoll is
      about 60% better than that without poll.  With iopoll support in swapin
      patch, my microbenchmark (a task does random memory write) is about
      10%~25% faster.  CPU utilization increases a lot though, 2x and even 3x
      CPU utilization.  This will depend on disk speed.
      
      While iopoll in swapin isn't intended for all usage cases, it's a win
      for latency sensistive workloads with high speed swap disk.  block layer
      has knob to control poll in runtime.  If poll isn't enabled in block
      layer, there should be no noticeable change in swapin.
      
      I got a chance to run the same test in a NVMe with DRAM as the media.
      In simple fio IO test, blkpoll boosts 50% performance in single thread
      test and ~20% in 8 threads test.  So this is the base line.  In above
      swap test, blkpoll boosts ~27% performance in single thread test.
      blkpoll uses 2x CPU time though.
      
      If we enable hybid polling, the performance gain has very slight drop
      but CPU time is only 50% worse than that without blkpoll.  Also we can
      adjust parameter of hybid poll, with it, the CPU time penality is
      reduced further.  In 8 threads test, blkpoll doesn't help though.  The
      performance is similar to that without blkpoll, but cpu utilization is
      similar too.  There is lock contention in swap path.  The cpu time
      spending on blkpoll isn't high.  So overall, blkpoll swapin isn't worse
      than that without it.
      
      The swapin readahead might read several pages in in the same time and
      form a big IO request.  Since the IO will take longer time, it doesn't
      make sense to do poll, so the patch only does iopoll for single page
      swapin.
      
      [akpm@linux-foundation.org: coding-style fixes]
      Link: http://lkml.kernel.org/r/070c3c3e40b711e7b1390002c991e86a-b5408f0@7511894063d3764ff01ea8111f5a004d7dd700ed078797c204a24e620ddb965cSigned-off-by: default avatarShaohua Li <shli@fb.com>
      Cc: Tim Chen <tim.c.chen@intel.com>
      Cc: Huang Ying <ying.huang@intel.com>
      Cc: Jens Axboe <axboe@fb.com>
      Cc: Hugh Dickins <hughd@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      23955622
    • Linus Torvalds's avatar
      Merge tag 'for-linus-4.13-v2' of git://github.com/cminyard/linux-ipmi · 9eb78880
      Linus Torvalds authored
      Pull IPMI updates from Corey Minyard:
       "Some small fixes for IPMI, and one medium sized changed.
      
        The medium sized change is adding a platform device for IPMI entries
        in the DMI table. Otherwise there is no auto loading for IPMI devices
        if they are only in the DMI table"
      
      * tag 'for-linus-4.13-v2' of git://github.com/cminyard/linux-ipmi:
        ipmi:ssif: Add missing unlock in error branch
        char: ipmi: constify bmc_dev_attr_group and bmc_device_type
        ipmi:ssif: Check dev before setting drvdata
        ipmi: Convert DMI handling over to a platform device
        ipmi: Create a platform device for a DMI-specified IPMI interface
        ipmi: use rcu lock around call to intf->handlers->sender()
        ipmi:ssif: Use i2c_adapter_id instead of adapter->nr
        ipmi: Use the proper default value for register size in ACPI
        ipmi_ssif: remove redundant null check on array client->adapter->name
        ipmi/watchdog: fix watchdog timeout set on reboot
        ipmi_ssif: unlock on allocation failure
      9eb78880
    • Linus Torvalds's avatar
      Merge tag 'xfs-4.13-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux · 642338ba
      Linus Torvalds authored
      Pull XFS updates from Darrick Wong:
       "Here are some changes for you for 4.13. For the most part it's fixes
        for bugs and deadlock problems, and preparation for online fsck in
        some future merge window.
      
         - Avoid quotacheck deadlocks
      
         - Fix transaction overflows when bunmapping fragmented files
      
         - Refactor directory readahead
      
         - Allow admin to configure if ASSERT is fatal
      
         - Improve transaction usage detail logging during overflows
      
         - Minor cleanups
      
         - Don't leak log items when the log shuts down
      
         - Remove double-underscore typedefs
      
         - Various preparation for online scrubbing
      
         - Introduce new error injection configuration sysfs knobs
      
         - Refactor dq_get_next to use extent map directly
      
         - Fix problems with iterating the page cache for unwritten data
      
         - Implement SEEK_{HOLE,DATA} via iomap
      
         - Refactor XFS to use iomap SEEK_HOLE and SEEK_DATA
      
         - Don't use MAXPATHLEN to check on-disk symlink target lengths"
      
      * tag 'xfs-4.13-merge-5' of git://git.kernel.org/pub/scm/fs/xfs/xfs-linux: (48 commits)
        xfs: don't crash on unexpected holes in dir/attr btrees
        xfs: rename MAXPATHLEN to XFS_SYMLINK_MAXLEN
        xfs: fix contiguous dquot chunk iteration livelock
        xfs: Switch to iomap for SEEK_HOLE / SEEK_DATA
        vfs: Add iomap_seek_hole and iomap_seek_data helpers
        vfs: Add page_cache_seek_hole_data helper
        xfs: remove a whitespace-only line from xfs_fs_get_nextdqblk
        xfs: rewrite xfs_dq_get_next_id using xfs_iext_lookup_extent
        xfs: Check for m_errortag initialization in xfs_errortag_test
        xfs: grab dquots without taking the ilock
        xfs: fix semicolon.cocci warnings
        xfs: Don't clear SGID when inheriting ACLs
        xfs: free cowblocks and retry on buffered write ENOSPC
        xfs: replace log_badcrc_factor knob with error injection tag
        xfs: convert drop_writes to use the errortag mechanism
        xfs: remove unneeded parameter from XFS_TEST_ERROR
        xfs: expose errortag knobs via sysfs
        xfs: make errortag a per-mountpoint structure
        xfs: free uncommitted transactions during log recovery
        xfs: don't allow bmap on rt files
        ...
      642338ba
    • Linus Torvalds's avatar
      Merge branch 'nowait-aio-btrfs-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6618a24a
      Linus Torvalds authored
      Pull btrfs fix from David Sterba:
       "This fixes a user-visible bug introduced by the nowait-aio patches
        merged in this cycle"
      
      * 'nowait-aio-btrfs-fixup' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: nowait aio: Correct assignment of pos
      6618a24a
    • Linus Torvalds's avatar
      Merge branch 'fix-uio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · 1d07b6cb
      Linus Torvalds authored
      Pull copy*_iter fix from Al Viro.
      
      [ Al used entirely the wrong return value. Oopsie. ]
      
      * 'fix-uio' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix brown paperbag bug in inlined copy_..._iter()
      1d07b6cb
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid · a91ab911
      Linus Torvalds authored
      Pull HID updates from Jiri Kosina:
      
       - open/close tracking improvements from Dmitry Torokhov
      
       - battery support improvements in Wacom driver from Jason Gerecke
      
       - Win8 support fixes from Benjamin Tissories and Hans de Geode
      
       - misc fixes to Intel-ISH driver from Arnd Bergmann
      
       - support for quite a few new devices and small assorted fixes here and
         there
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/hid: (35 commits)
        HID: intel-ish-hid: Enable Gemini Lake ish driver
        HID: intel-ish-hid: Enable Cannon Lake ish driver
        HID: wacom: fix mistake in printk
        HID: multitouch: optimize the sticky fingers timer
        HID: multitouch: fix rare Win 8 cases when the touch up event gets missing
        HID: multitouch: use BIT macro
        HID: Add driver for Retrode2 joypad adapter
        HID: multitouch: Add support for Google Rose Touchpad
        HID: multitouch: Support PTP Stick and Touchpad device
        HID: core: don't use negative operands when shift
        HID: apple: Use country code to detect ISO keyboards
        HID: remove no longer used hid->open field
        greybus: hid: remove custom locking from gb_hid_open/close
        HID: usbhid: remove custom locking from usbhid_open/close
        HID: i2c-hid: remove custom locking from i2c_hid_open/close
        HID: serialize hid_hw_open and hid_hw_close
        HID: usbhid: do not rely on hid->open when deciding to do IO
        HID: hiddev: use hid_hw_power instead of usbhid_get/put_power
        HID: hiddev: use hid_hw_open/close instead of usbhid_open/close
        HID: asus: Add support for Zen AiO MD-5110 keyboard
        ...
      a91ab911
    • Goldwyn Rodrigues's avatar
      btrfs: nowait aio: Correct assignment of pos · ff0fa732
      Goldwyn Rodrigues authored
      Assigning pos for usage early messes up in append mode, where the pos is
      re-assigned in generic_write_checks(). Assign pos later to get the
      correct position to write from iocb->ki_pos.
      
      Since check_can_nocow also uses the value of pos, we shift
      generic_write_checks() before check_can_nocow(). Checks with IOCB_DIRECT
      are present in generic_write_checks(), so checking for IOCB_NOWAIT is
      enough.
      
      Also, put locking sequence in the fast path.
      
      This fixes a user visible bug, as reported:
      
      "apparently breaks several shell related features on my system.
      In zsh history stopped working, because no new entries are added
      anymore.
      I fist noticed the issue when I tried to build mplayer. It uses a shell
      script to generate a help_mp.h file:
      [...]
      
      Here is a simple testcase:
      
       % echo "foo" >> test
       % echo "foo" >> test
       % cat test
       foo
       %
      "
      
      Fixes: edf064e7 ("btrfs: nowait aio support")
      CC: Jens Axboe <axboe@kernel.dk>
      Reported-by: default avatarMarkus Trippelsdorf <markus@trippelsdorf.de>
      Link: https://lkml.kernel.org/r/20170704042306.GA274@x4Signed-off-by: default avatarGoldwyn Rodrigues <rgoldwyn@suse.com>
      Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
      Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
      ff0fa732
    • Al Viro's avatar
      fix brown paperbag bug in inlined copy_..._iter() · c43aeb19
      Al Viro authored
      "copied nothing" == "return 0", not "return full size".
      
      Fixes: aa28de27 "iov_iter/hardening: move object size checks to inlined part"
      Spotted-by: default avatarArnd Bergmann <arnd@arndb.de>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      c43aeb19
    • Jiri Kosina's avatar
      Merge branches 'for-4.13/multitouch', 'for-4.13/retrode',... · 837c194a
      Jiri Kosina authored
      Merge branches 'for-4.13/multitouch', 'for-4.13/retrode', 'for-4.13/transport-open-close-consolidation', 'for-4.13/upstream' and 'for-4.13/wacom' into for-linus
      837c194a
    • Jiri Kosina's avatar
      Merge branches 'for-4.13/ish' and 'for-4.13/ite' into for-linus · 604250dd
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-core.c
      604250dd
    • Jiri Kosina's avatar
      Merge branches 'for-4.13/apple' and 'for-4.13/asus' into for-linus · 4f94ff4e
      Jiri Kosina authored
      Conflicts:
      	drivers/hid/hid-core.c
      4f94ff4e
    • Linus Torvalds's avatar
      Merge tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux · af3c8d98
      Linus Torvalds authored
      Pull drm updates from Dave Airlie:
       "This is the main pull request for the drm, I think I've got one later
        driver pull for mediatek SoC driver, I'm undecided on if it needs to
        go to you yet.
      
        Otherwise summary below:
      
        Core drm:
         - Atomic add driver private objects
         - Deprecate preclose hook in modern drivers
         - MST bandwidth tracking
         - Use kvmalloc in more places
         - Add mode_valid hook for crtc/encoder/bridge
         - Reduce sync_file construction time
         - Documentation updates
         - New DRM synchronisation object support
      
        New drivers:
         - pl111 - pl111 CLCD display controller
      
        Panel:
         - Innolux P079ZCA panel driver
         - Add NL12880B20-05, NL192108AC18-02D, P320HVN03 panels
         - panel-samsung-s6e3ha2: Add s6e3hf2 panel support
      
        i915:
         - SKL+ watermark fixes
         - G4x/G33 reset improvements
         - DP AUX backlight improvements
         - Buffer based GuC/host communication
         - New getparam for (sub)slice infomation
         - Cannonlake and Coffeelake initial patches
         - Execbuf optimisations
      
        radeon/amdgpu:
         - Lots of Vega10 bug fixes
         - Preliminary raven support
         - KIQ support for compute rings
         - MEC queue management rework
         - DCE6 Audio support
         - SR-IOV improvements
         - Better radeon/amdgpu selection support
      
        nouveau:
         - HDMI stereoscopic support
         - Display code rework for >= GM20x GPUs
      
        msm:
         - GEM rework for fine-grained locking
         - Per-process pagetable work
         - HDMI fixes for Snapdragon 820.
      
        vc4:
         - Remove 256MB CMA limit from vc4
         - Add out-fence support
         - Add support for cygnus
         - Get/set tiling ioctls support
         - Add T-format tiling support for scanout
      
        zte:
         - add VGA support.
      
        etnaviv:
         - Thermal throttle support for newer GPUs
         - Restore userspace buffer cache performance
         - dma-buf sync fix
      
        stm:
         - add stm32f429 display support
      
        exynos:
         - Rework vblank handling
         - Fixup sw-trigger code
      
        sun4i:
         - V3s display engine support
         - HDMI support for older SoCs
         - Preliminary work on dual-pipeline SoCs.
      
        rcar-du:
         - VSP work
      
        imx-drm:
         - Remove counter load enable from PRE
         - Double read/write reduction flag support
      
        tegra:
         - Documentation for the host1x and drm driver.
         - Lots of staging ioctl fixes due to grate project work.
      
        omapdrm:
         - dma-buf fence support
         - TILER rotation fixes"
      
      * tag 'drm-for-v4.13' of git://people.freedesktop.org/~airlied/linux: (1270 commits)
        drm: Remove unused drm_file parameter to drm_syncobj_replace_fence()
        drm/amd/powerplay: fix bug fail to remove sysfs when rmmod amdgpu.
        amdgpu: Set cik/si_support to 1 by default if radeon isn't built
        drm/amdgpu/gfx9: fix driver reload with KIQ
        drm/amdgpu/gfx8: fix driver reload with KIQ
        drm/amdgpu: Don't call amd_powerplay_destroy() if we don't have powerplay
        drm/ttm: Fix use-after-free in ttm_bo_clean_mm
        drm/amd/amdgpu: move get memory type function from early init to sw init
        drm/amdgpu/cgs: always set reference clock in mode_info
        drm/amdgpu: fix vblank_time when displays are off
        drm/amd/powerplay: power value format change for Vega10
        drm/amdgpu/gfx9: support the amdgpu.disable_cu option
        drm/amd/powerplay: change PPSMC_MSG_GetCurrPkgPwr for Vega10
        drm/amdgpu: Make amdgpu_cs_parser_init static (v2)
        drm/amdgpu/cs: fix a typo in a comment
        drm/amdgpu: Fix the exported always on CU bitmap
        drm/amdgpu/gfx9: gfx_v9_0_enable_gfx_static_mg_power_gating() can be static
        drm/amdgpu/psp: upper_32_bits/lower_32_bits for address setup
        drm/amd/powerplay/cz: print message if smc message fails
        drm/amdgpu: fix typo in amdgpu_debugfs_test_ib_init
        ...
      af3c8d98
  2. 09 Jul, 2017 14 commits
    • David Howells's avatar
      afs: Add metadata xattrs · d3e3b7ea
      David Howells authored
      Add xattrs to allow the user to get/set metadata in lieu of having pioctl()
      available.  The following xattrs are now available:
      
       - "afs.cell"
      
         The name of the cell in which the vnode's volume resides.
      
       - "afs.fid"
      
         The volume ID, vnode ID and vnode uniquifier of the file as three hex
         numbers separated by colons.
      
       - "afs.volume"
      
         The name of the volume in which the vnode resides.
      
      For example:
      
      	# getfattr -d -m ".*" /mnt/scratch
      	getfattr: Removing leading '/' from absolute path names
      	# file: mnt/scratch
      	afs.cell="mycell.myorg.org"
      	afs.fid="10000b:1:1"
      	afs.volume="scratch"
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d3e3b7ea
    • Marc Dionne's avatar
      afs: Ignore AFS_ACE_READ and AFS_ACE_WRITE for directories · fd249821
      Marc Dionne authored
      The AFS_ACE_READ and AFS_ACE_WRITE permission bits should not
      be used to make access decisions for the directory itself.  They
      are meant to control access for the objects contained in that
      directory.
      
      Reading a directory is allowed if the AFS_ACE_LOOKUP bit is set.
      This would cause an incorrect access denied error for a directory
      with AFS_ACE_LOOKUP but not AFS_ACE_READ.
      
      The AFS_ACE_WRITE bit does not allow operations that modify the
      directory.  For a directory with AFS_ACE_WRITE but neither
      AFS_ACE_INSERT nor AFS_ACE_DELETE, this would result in trying
      operations that would ultimately be denied by the server.
      Signed-off-by: default avatarMarc Dionne <marc.dionne@auristor.com>
      Signed-off-by: default avatarDavid Howells <dhowells@redhat.com>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      fd249821
    • Cong Wang's avatar
      mqueue: fix a use-after-free in sys_mq_notify() · f991af3d
      Cong Wang authored
      The retry logic for netlink_attachskb() inside sys_mq_notify()
      is nasty and vulnerable:
      
      1) The sock refcnt is already released when retry is needed
      2) The fd is controllable by user-space because we already
         release the file refcnt
      
      so we when retry but the fd has been just closed by user-space
      during this small window, we end up calling netlink_detachskb()
      on the error path which releases the sock again, later when
      the user-space closes this socket a use-after-free could be
      triggered.
      
      Setting 'sock' to NULL here should be sufficient to fix it.
      Reported-by: default avatarGeneBlue <geneblue.mail@gmail.com>
      Signed-off-by: default avatarCong Wang <xiyou.wangcong@gmail.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Manfred Spraul <manfred@colorfullife.com>
      Cc: stable@kernel.org
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      f991af3d
    • Linus Torvalds's avatar
      Merge branch 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 2b976203
      Linus Torvalds authored
      Pull x86 fixes from Thomas Gleixner:
       "The x86 updates contain:
      
         - A fix for a longstanding PAT bug, where PAT was reported on CPUs
           that do not support it, which leads to wrong caching attributes and
           missing MTRR updates
      
         - Prevent overwriting of the e820 firmware table, which causes kexec
           kernels to lose the fake mptable which is stored there.
      
         - Cleanup of the UV/BAU code, removing unused code and making local
           functions static"
      
      * 'x86-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        x86/boot/e820: Introduce the bootloader provided e820_table_firmware[] table
        x86/boot/e820: Rename the e820_table_firmware to e820_table_kexec
        x86/boot/e820: Avoid overwriting e820_table_firmware
        x86/mm/pat: Don't report PAT on CPUs that don't support it
        x86/platform/uv/BAU: Minor cleanup, make some local functions static
      2b976203
    • Linus Torvalds's avatar
      Merge branch 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 8d97a6c3
      Linus Torvalds authored
      Pull timers fixlet from Thomas Gleixner:
       "Add Frederic Weisbecker as NOHZ/dyntick maintainer"
      
      [ And an unmentioned and unrelated typo fix in the same commit? Hmm.. ]
      
      * 'timers-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        MAINTAINERS: Add Frederic Weisbecker as nohz/dyntics maintainer
      8d97a6c3
    • Linus Torvalds's avatar
      Merge branch 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4d3c4a42
      Linus Torvalds authored
      Pull smp/hotplug fix from Thomas Gleixner:
       "A single fix for a brown paperbag bug:
      
        The unparking of the initial percpu threads of an upcoming CPU happens
        right now on the idle task, but that's wrong as the unpark function
        might sleep. Move it to the control CPU."
      
      * 'smp-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        smp/hotplug: Move unparking of percpu threads to the control CPU
      4d3c4a42
    • Linus Torvalds's avatar
      Merge branch 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 4fde846a
      Linus Torvalds authored
      Pull scheduler fixes from Thomas Gleixner:
       "This scheduler update provides:
      
         - The (hopefully) final fix for the vtime accounting issues which
           were around for quite some time
      
         - Use types known to user space in UAPI headers to unbreak user space
           builds
      
         - Make load balancing respect the current scheduling domain again
           instead of evaluating unrelated CPUs"
      
      * 'sched-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        sched/headers/uapi: Fix linux/sched/types.h userspace compilation errors
        sched/fair: Fix load_balance() affinity redo path
        sched/cputime: Accumulate vtime on top of nsec clocksource
        sched/cputime: Move the vtime task fields to their own struct
        sched/cputime: Rename vtime fields
        sched/cputime: Always set tsk->vtime_snap_whence after accounting vtime
        vtime, sched/cputime: Remove vtime_account_user()
        Revert "sched/cputime: Refactor the cputime_adjust() code"
      4fde846a
    • Linus Torvalds's avatar
      Merge branch 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c3931a87
      Linus Torvalds authored
      Pull perf fixes from Thomas Gleixner:
       "A couple of fixes for perf and kprobes:
      
         - Add he missing exclude_kernel attribute for the precise_ip level so
           !CAP_SYS_ADMIN users get the proper results.
      
         - Warn instead of failing completely when perf has no unwind support
           for a particular architectiure built in.
      
         - Ensure that jprobes are at function entry and not at some random
           place"
      
      * 'perf-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        kprobes: Ensure that jprobe probepoints are at function entry
        kprobes: Simplify register_jprobes()
        kprobes: Rename [arch_]function_offset_within_entry() to [arch_]kprobe_on_func_entry()
        perf unwind: Do not fail due to missing unwind support
        perf evsel: Set attr.exclude_kernel when probing max attr.precise_ip
      c3931a87
    • Linus Torvalds's avatar
      Merge branch 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · c8b2ba83
      Linus Torvalds authored
      Pull locking fixes from Thomas Gleixner:
      
       - Fix the EINTR logic in rwsem-spinlock to avoid double locking by a
         writer and a reader
      
       - Add a missing include to qspinlocks
      
      * 'locking-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        locking/qspinlock: Explicitly include asm/prefetch.h
        locking/rwsem-spinlock: Fix EINTR branch in __down_write_common()
      c8b2ba83
    • Linus Torvalds's avatar
      Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 7cb328c3
      Linus Torvalds authored
      Pull irq fixes from Thomas Gleixner:
      
       - A few fixes mopping up the fallout of the big irq overhaul
      
       - Move the interrupt resource management logic out of the spin locked,
         irq disabled region to avoid unnecessary restrictions of the resource
         callbacks
      
       - Preparation for reworking the per cpu irq request function.
      
      * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        irqdomain: Allow ACPI device nodes to be used as irqdomain identifiers
        genirq/debugfs: Remove redundant NULL pointer check
        genirq: Allow to pass the IRQF_TIMER flag with percpu irq request
        genirq/timings: Move free timings out of spinlocked region
        genirq: Move irq resource handling out of spinlocked region
        genirq: Add mutex to irq desc to serialize request/free_irq()
        genirq: Move bus locking into __setup_irq()
        genirq: Force inlining of __irq_startup_managed to prevent build failure
        genirq/debugfs: Fix build for !CONFIG_IRQ_DOMAIN
      7cb328c3
    • Linus Torvalds's avatar
      Merge branch 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip · 19bf2e0e
      Linus Torvalds authored
      Pull objtool fix from Thomas Gleixner:
       "A fix to the objtool sibling call detection logic to distinguish
        normal jumps inside a function from a real sibling call"
      
      * 'core-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
        objtool: Fix sibling call detection logic
      19bf2e0e
    • Linus Torvalds's avatar
      Merge tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 · bc2c6421
      Linus Torvalds authored
      Pull ext4 updates from Ted Ts'o:
       "The first major feature for ext4 this merge window is the largedir
        feature, which allows ext4 directories to support over 2 billion
        directory entries (assuming ~64 byte file names; in practice, users
        will run into practical performance limits first.) This feature was
        originally written by the Lustre team, and credit goes to Artem
        Blagodarenko from Seagate for getting this feature upstream.
      
        The second major major feature allows ext4 to support extended
        attribute values up to 64k. This feature was also originally from
        Lustre, and has been enhanced by Tahsin Erdogan from Google with a
        deduplication feature so that if multiple files have the same xattr
        value (for example, Windows ACL's stored by Samba), only one copy will
        be stored on disk for encoding and caching efficiency.
      
        We also have the usual set of bug fixes, cleanups, and optimizations"
      
      * tag 'ext4_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (47 commits)
        ext4: fix spelling mistake: "prellocated" -> "preallocated"
        ext4: fix __ext4_new_inode() journal credits calculation
        ext4: skip ext4_init_security() and encryption on ea_inodes
        fs: generic_block_bmap(): initialize all of the fields in the temp bh
        ext4: change fast symlink test to not rely on i_blocks
        ext4: require key for truncate(2) of encrypted file
        ext4: don't bother checking for encryption key in ->mmap()
        ext4: check return value of kstrtoull correctly in reserved_clusters_store
        ext4: fix off-by-one fsmap error on 1k block filesystems
        ext4: return EFSBADCRC if a bad checksum error is found in ext4_find_entry()
        ext4: return EIO on read error in ext4_find_entry
        ext4: forbid encrypting root directory
        ext4: send parallel discards on commit completions
        ext4: avoid unnecessary stalls in ext4_evict_inode()
        ext4: add nombcache mount option
        ext4: strong binding of xattr inode references
        ext4: eliminate xattr entry e_hash recalculation for removes
        ext4: reserve space for xattr entries/names
        quota: add get_inode_usage callback to transfer multi-inode charges
        ext4: xattr inode deduplication
        ...
      bc2c6421
    • Linus Torvalds's avatar
      Merge tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt · 58f587cb
      Linus Torvalds authored
      Pull fscrypt updates from Ted Ts'o:
       "Add support for 128-bit AES and some cleanups to fscrypt"
      
      * tag 'fscrypt_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/fscrypt:
        fscrypt: make ->dummy_context() return bool
        fscrypt: add support for AES-128-CBC
        fscrypt: inline fscrypt_free_filename()
      58f587cb
    • Linus Torvalds's avatar
      Merge branch 'waitid-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs · e28e9e3e
      Linus Torvalds authored
      Pull waitid fix from Al Viro.
      
      * 'waitid-fix' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs:
        fix waitid(2) breakage
      e28e9e3e
  3. 08 Jul, 2017 4 commits
    • Linus Torvalds's avatar
      Merge tag 'pci-v4.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · f263fbb8
      Linus Torvalds authored
      Pull PCI updates from Bjorn Helgaas:
      
        - add sysfs max_link_speed/width, current_link_speed/width (Wong Vee
          Khee)
      
        - make host bridge IRQ mapping much more generic (Matthew Minter,
          Lorenzo Pieralisi)
      
        - convert most drivers to pci_scan_root_bus_bridge() (Lorenzo
          Pieralisi)
      
        - mutex sriov_configure() (Jakub Kicinski)
      
        - mutex pci_error_handlers callbacks (Christoph Hellwig)
      
        - split ->reset_notify() into ->reset_prepare()/reset_done()
          (Christoph Hellwig)
      
        - support multiple PCIe portdrv interrupts for MSI as well as MSI-X
          (Gabriele Paoloni)
      
        - allocate MSI/MSI-X vector for Downstream Port Containment (Gabriele
          Paoloni)
      
        - fix MSI IRQ affinity pre/post/min_vecs issue (Michael Hernandez)
      
        - test INTx masking during enumeration, not at run-time (Piotr Gregor)
      
        - avoid using device_may_wakeup() for runtime PM (Rafael J. Wysocki)
      
        - restore the status of PCI devices across hibernation (Chen Yu)
      
        - keep parent resources that start at 0x0 (Ard Biesheuvel)
      
        - enable ECRC only if device supports it (Bjorn Helgaas)
      
        - restore PRI and PASID state after Function-Level Reset (CQ Tang)
      
        - skip DPC event if device is not present (Keith Busch)
      
        - check domain when matching SMBIOS info (Sujith Pandel)
      
        - mark Intel XXV710 NIC INTx masking as broken (Alex Williamson)
      
        - avoid AMD SB7xx EHCI USB wakeup defect (Kai-Heng Feng)
      
        - work around long-standing Macbook Pro poweroff issue (Bjorn Helgaas)
      
        - add Switchtec "running" status flag (Logan Gunthorpe)
      
        - fix dra7xx incorrect RW1C IRQ register usage (Arvind Yadav)
      
        - modify xilinx-nwl IRQ chip for legacy interrupts (Bharat Kumar
          Gogada)
      
        - move VMD SRCU cleanup after bus, child device removal (Jon Derrick)
      
        - add Faraday clock handling (Linus Walleij)
      
        - configure Rockchip MPS and reorganize (Shawn Lin)
      
        - limit Qualcomm TLP size to 2K (hardware issue) (Srinivas Kandagatla)
      
        - support Tegra MSI 64-bit addressing (Thierry Reding)
      
        - use Rockchip normal (not privileged) register bank (Shawn Lin)
      
        - add HiSilicon Kirin SoC PCIe controller driver (Xiaowei Song)
      
        - add Sigma Designs Tango SMP8759 PCIe controller driver (Marc
          Gonzalez)
      
        - add MediaTek PCIe host controller support (Ryder Lee)
      
        - add Qualcomm IPQ4019 support (John Crispin)
      
        - add HyperV vPCI protocol v1.2 support (Jork Loeser)
      
        - add i.MX6 regulator support (Quentin Schulz)
      
      * tag 'pci-v4.13-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci: (113 commits)
        PCI: tango: Add Sigma Designs Tango SMP8759 PCIe host bridge support
        PCI: Add DT binding for Sigma Designs Tango PCIe controller
        PCI: rockchip: Use normal register bank for config accessors
        dt-bindings: PCI: Add documentation for MediaTek PCIe
        PCI: Remove __pci_dev_reset() and pci_dev_reset()
        PCI: Split ->reset_notify() method into ->reset_prepare() and ->reset_done()
        PCI: xilinx: Make of_device_ids const
        PCI: xilinx-nwl: Modify IRQ chip for legacy interrupts
        PCI: vmd: Move SRCU cleanup after bus, child device removal
        PCI: vmd: Correct comment: VMD domains start at 0x10000, not 0x1000
        PCI: versatile: Add local struct device pointers
        PCI: tegra: Do not allocate MSI target memory
        PCI: tegra: Support MSI 64-bit addressing
        PCI: rockchip: Use local struct device pointer consistently
        PCI: rockchip: Check for clk_prepare_enable() errors during resume
        MAINTAINERS: Remove Wenrui Li as Rockchip PCIe driver maintainer
        PCI: rockchip: Configure RC's MPS setting
        PCI: rockchip: Reconfigure configuration space header type
        PCI: rockchip: Split out rockchip_pcie_cfg_configuration_accesses()
        PCI: rockchip: Move configuration accesses into rockchip_pcie_cfg_atu()
        ...
      f263fbb8
    • Linus Torvalds's avatar
      Merge branch 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md · 026d15f6
      Linus Torvalds authored
      Pull MD update from Shaohua Li:
      
       - fixed deadlock in MD suspend and a potential bug in bio allocation
         (Neil Brown)
      
       - fixed signal issue (Mikulas Patocka)
      
       - fixed typo in FailFast test (Guoqing Jiang)
      
       - other trival fixes
      
      * 'for-next' of git://git.kernel.org/pub/scm/linux/kernel/git/shli/md:
        MD: fix sleep in atomic
        MD: fix a null dereference
        md: use a separate bio_set for synchronous IO.
        md: change the initialization value for a spare device spot to MD_DISK_ROLE_SPARE
        md/raid1: remove unused bio in sync_request_write
        md/raid10: fix FailFast test for wrong device
        md: don't use flush_signals in userspace processes
        md: fix deadlock between mddev_suspend() and md_write_start()
      026d15f6
    • Linus Torvalds's avatar
      Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input · 43d01209
      Linus Torvalds authored
      Pull input updates from Dmitry Torokhov:
      
       - a new driver for STM FingerTip touchscreen
      
       - a new driver for D-Link DIR-685 touch keys
      
       - updated list of supported devices in xpad driver
      
       - other assorted updates and fixes
      
      * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (23 commits)
        MAINTAINERS: update input subsystem patterns
        Input: introduce KEY_ASSISTANT
        Input: xpad - sync supported devices with XBCD
        Input: xpad - sync supported devices with 360Controller
        Input: xen-kbdfront - use string constants from PV protocol
        Input: stmfts - mark all PM functions as __maybe_unused
        Input: add support for the STMicroelectronics FingerTip touchscreen
        Input: add D-Link DIR-685 touchkeys driver
        Input: s3c2410_ts - handle return value of clk_prepare_enable
        Input: axp20x-pek - add wakeup support
        Input: synaptics-rmi4 - use %phN to form F34 configuration ID
        Input: synaptics-rmi4 - change a char type to u8
        Input: sparse-keymap - remove sparse_keymap_free()
        Input: tsc2007 - move header file out of I2C realm
        Input: mms114 - move header file out of I2C realm
        Input: mcs - move header file out of I2C realm
        Input: lm8323 - move header file out of I2C realm
        Input: elantech - force relative mode on a certain module
        Input: elan_i2c - add support for fetching chip type on newer hardware
        Input: elan_i2c - check if device is there before really probing
        ...
      43d01209
    • Linus Torvalds's avatar
      Merge tag 'dmaengine-4.13-rc1' of git://git.infradead.org/users/vkoul/slave-dma · 2ceedf97
      Linus Torvalds authored
      Pull dmaengine updates from Vinod Koul:
      
       - removal of AVR32 support in dw driver as AVR32 is gone
      
       - new driver for Broadcom stream buffer accelerator (SBA) RAID driver
      
       - add support for Faraday Technology FTDMAC020 in amba-pl08x driver
      
       - IOMMU support in pl330 driver
      
       - updates to bunch of drivers
      
      * tag 'dmaengine-4.13-rc1' of git://git.infradead.org/users/vkoul/slave-dma: (36 commits)
        dmaengine: qcom_hidma: correct API violation for submit
        dmaengine: zynqmp_dma: Remove max len check in zynqmp_dma_prep_memcpy
        dmaengine: tegra-apb: Really fix runtime-pm usage
        dmaengine: fsl_raid: make of_device_ids const.
        dmaengine: qcom_hidma: allow ACPI/DT parameters to be overridden
        dmaengine: fsldma: set BWC, DAHTS and SAHTS values correctly
        dmaengine: Kconfig: Simplify the help text for MXS_DMA
        dmaengine: pl330: Delete unused functions
        dmaengine: Replace WARN_TAINT_ONCE() with pr_warn_once()
        dmaengine: Kconfig: Extend the dependency for MXS_DMA
        dmaengine: mxs: Use %zu for printing a size_t variable
        dmaengine: ste_dma40: Cleanup scatterlist layering violations
        dmaengine: imx-dma: cleanup scatterlist layering violations
        dmaengine: use proper name for the R-Car SoC
        dmaengine: imx-sdma: Fix compilation warning.
        dmaengine: imx-sdma: Handle return value of clk_prepare_enable
        dmaengine: pl330: Add IOMMU support to slave tranfers
        dmaengine: DW DMAC: Handle return value of clk_prepare_enable
        dmaengine: pl08x: use GENMASK() to create bitmasks
        dmaengine: pl08x: Add support for Faraday Technology FTDMAC020
        ...
      2ceedf97