Skip to content
  1. Dec 12, 2021
    • Linus Torvalds's avatar
      Merge branch 'akpm' (patches from Andrew) · df442a4e
      Linus Torvalds authored
      Merge misc fixes from Andrew Morton:
       "21 patches.
      
        Subsystems affected by this patch series: MAINTAINERS, mailmap, and mm
        (mlock, pagecache, damon, slub, memcg, hugetlb, and pagecache)"
      
      * emailed patches from Andrew Morton <akpm@linux-foundation.org>: (21 commits)
        mm: bdi: initialize bdi_min_ratio when bdi is unregistered
        hugetlbfs: fix issue of preallocation of gigantic pages can't work
        mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock()
        mm/slub: fix endianness bug for alloc/free_traces attributes
        selftests/damon: split test cases
        selftests/damon: test debugfs file reads/writes with huge count
        selftests/damon: test wrong DAMOS condition ranges input
        selftests/damon: test DAMON enabling with empty target_ids case
        selftests/damon: skip test if DAMON is running
        mm/damon/vaddr-test: remove unnecessary variables
        mm/damon/vaddr-test: split a test function having >1024 bytes frame size
        mm/damon/vaddr: remove an unnecessary warning message
        mm/damon/core: remove unnecessary error messages
        mm/damon/dbgfs: remove an unnecessary error message
        mm/damon/core: use better timer mechanisms selection threshold
        mm/damon/core: fix fake load reports due to uninterruptible sleeps
        timers: implement usleep_idle_range()
        filemap: remove PageHWPoison check from next_uptodate_page()
        mailmap: update email address for Guo Ren
        MAINTAINERS: update kdump maintainers
        ...
      df442a4e
  2. Dec 11, 2021
    • Linus Torvalds's avatar
      Merge tag 'for-5.16-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux · 6f513529
      Linus Torvalds authored
      Pull btrfs fixes from David Sterba:
       "A few more regression fixes and stable patches, mostly one-liners.
      
        Regression fixes:
      
         - fix pointer/ERR_PTR mismatch returned from memdup_user
      
         - reset dedicated zoned mode relocation block group to avoid using it
           and filling it without any recourse
      
        Fixes:
      
         - handle a case to FITRIM range (also to make fstests/generic/260
           work)
      
         - fix warning when extent buffer state and pages get out of sync
           after an IO error
      
         - fix transaction abort when syncing due to missing mapping error set
           on metadata inode after inlining a compressed file
      
         - fix transaction abort due to tree-log and zoned mode interacting in
           an unexpected way
      
         - fix memory leak of additional extent data when qgroup reservation
           fails
      
         - do proper handling of slot search call when deleting root refs"
      
      * tag 'for-5.16-rc4-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux:
        btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling
        btrfs: zoned: clear data relocation bg on zone finish
        btrfs: free exchange changeset on failures
        btrfs: fix re-dirty process of tree-log nodes
        btrfs: call mapping_set_error() on btree inode with a write error
        btrfs: clear extent buffer uptodate when we fail to write it
        btrfs: fail if fstrim_range->start == U64_MAX
        btrfs: fix error pointer dereference in btrfs_ioctl_rm_dev_v2()
      6f513529
    • Linus Torvalds's avatar
      Merge tag '5.16-rc4-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6 · e1b96811
      Linus Torvalds authored
      Pull cifs fixes from Steve French:
       "Two cifs/smb3 fixes - one for stable, the other fixes a recently
        reported NTLMSSP auth problem"
      
      * tag '5.16-rc4-smb3-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        cifs: fix ntlmssp auth when there is no key exchange
        cifs: Fix crash on unload of cifs_arc4.ko
      e1b96811
    • Linus Torvalds's avatar
      Merge tag 'nfsd-5.16-2' of git://linux-nfs.org/~bfields/linux · e80bdc5e
      Linus Torvalds authored
      Pull nfsd fixes from Bruce Fields:
       "Fix a race on startup and another in the delegation code.
      
        The latter has been around for years, but I suspect recent changes may
        have widened the race window a little, so I'd like to go ahead and get
        it in"
      
      * tag 'nfsd-5.16-2' of git://linux-nfs.org/~bfields/linux:
        nfsd: fix use-after-free due to delegation race
        nfsd: Fix nsfd startup race (again)
      e80bdc5e
    • Manjong Lee's avatar
      mm: bdi: initialize bdi_min_ratio when bdi is unregistered · 3c376dfa
      Manjong Lee authored
      
      
      Initialize min_ratio if it is set during bdi unregistration.  This can
      prevent problems that may occur a when bdi is removed without resetting
      min_ratio.
      
      For example.
      1) insert external sdcard
      2) set external sdcard's min_ratio 70
      3) remove external sdcard without setting min_ratio 0
      4) insert external sdcard
      5) set external sdcard's min_ratio 70 << error occur(can't set)
      
      Because when an sdcard is removed, the present bdi_min_ratio value will
      remain.  Currently, the only way to reset bdi_min_ratio is to reboot.
      
      [akpm@linux-foundation.org: tweak comment and coding style]
      
      Link: https://lkml.kernel.org/r/20211021161942.5983-1-mj0123.lee@samsung.com
      Signed-off-by: default avatarManjong Lee <mj0123.lee@samsung.com>
      Acked-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
      Cc: Changheun Lee <nanich.lee@samsung.com>
      Cc: Jens Axboe <axboe@kernel.dk>
      Cc: Christoph Hellwig <hch@infradead.org>
      Cc: Matthew Wilcox <willy@infradead.org>
      Cc: <seunghwan.hyun@samsung.com>
      Cc: <sookwan7.kim@samsung.com>
      Cc: <yt0928.kim@samsung.com>
      Cc: <junho89.kim@samsung.com>
      Cc: <jisoo2146.oh@samsung.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      3c376dfa
    • Zhenguo Yao's avatar
      hugetlbfs: fix issue of preallocation of gigantic pages can't work · 4178158e
      Zhenguo Yao authored
      Preallocation of gigantic pages can't work bacause of commit
      b5389086 ("hugetlbfs: extend the definition of hugepages parameter
      to support node allocation").  When nid is NUMA_NO_NODE(-1),
      alloc_bootmem_huge_page will always return without doing allocation.
      Fix this by adding more check.
      
      Link: https://lkml.kernel.org/r/20211129133803.15653-1-yaozhenguo1@gmail.com
      Fixes: b5389086
      
       ("hugetlbfs: extend the definition of hugepages parameter to support node allocation")
      Signed-off-by: default avatarZhenguo Yao <yaozhenguo1@gmail.com>
      Reviewed-by: default avatarMike Kravetz <mike.kravetz@oracle.com>
      Tested-by: default avatarMaxim Levitsky <mlevitsk@redhat.com>
      Reviewed-by: default avatarMuchun Song <songmuchun@bytedance.com>
      Reviewed-by: default avatarBaolin Wang <baolin.wang@linux.alibaba.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4178158e
    • Waiman Long's avatar
      mm/memcg: relocate mod_objcg_mlstate(), get_obj_stock() and put_obj_stock() · a7ebf564
      Waiman Long authored
      All the calls to mod_objcg_mlstate(), get_obj_stock() and
      put_obj_stock() are done by functions defined within the same "#ifdef
      CONFIG_MEMCG_KMEM" compilation block.  When CONFIG_MEMCG_KMEM isn't
      defined, the following compilation warnings will be issued [1] and [2].
      
        mm/memcontrol.c:785:20: warning: unused function 'mod_objcg_mlstate'
        mm/memcontrol.c:2113:33: warning: unused function 'get_obj_stock'
      
      Fix these warning by moving those functions to under the same
      CONFIG_MEMCG_KMEM compilation block.  There is no functional change.
      
      [1] https://lore.kernel.org/lkml/202111272014.WOYNLUV6-lkp@intel.com/
      [2] https://lore.kernel.org/lkml/202111280551.LXsWYt1T-lkp@intel.com/
      
      Link: https://lkml.kernel.org/r/20211129161140.306488-1-longman@redhat.com
      Fixes: 55927114 ("mm/memcg: optimize user context object stock access")
      Fixes: 68ac5b3c
      
       ("mm/memcg: cache vmstat data in percpu memcg_stock_pcp")
      Signed-off-by: default avatarWaiman Long <longman@redhat.com>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Reviewed-by: default avatarShakeel Butt <shakeelb@google.com>
      Acked-by: default avatarRoman Gushchin <guro@fb.com>
      Reviewed-by: default avatarMuchun Song <songmuchun@bytedance.com>
      Cc: Johannes Weiner <hannes@cmpxchg.org>
      Cc: Michal Hocko <mhocko@kernel.org>
      Cc: Vladimir Davydov <vdavydov.dev@gmail.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a7ebf564
    • Gerald Schaefer's avatar
      mm/slub: fix endianness bug for alloc/free_traces attributes · 005a79e5
      Gerald Schaefer authored
      On big-endian s390, the alloc/free_traces attributes produce endless
      output, because of always 0 idx in slab_debugfs_show().
      
      idx is de-referenced from *v, which points to a loff_t value, with
      
          unsigned int idx = *(unsigned int *)v;
      
      This will only give the upper 32 bits on big-endian, which remain 0.
      
      Instead of only fixing this de-reference, during discussion it seemed
      more appropriate to change the seq_ops so that they use an explicit
      iterator in private loc_track struct.
      
      This patch adds idx to loc_track, which will also fix the endianness
      bug.
      
      Link: https://lore.kernel.org/r/20211117193932.4049412-1-gerald.schaefer@linux.ibm.com
      Link: https://lkml.kernel.org/r/20211126171848.17534-1-gerald.schaefer@linux.ibm.com
      Fixes: 64dd6849
      
       ("mm: slub: move sysfs slab alloc/free interfaces to debugfs")
      Signed-off-by: default avatarGerald Schaefer <gerald.schaefer@linux.ibm.com>
      Reported-by: default avatarSteffen Maier <maier@linux.ibm.com>
      Acked-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Cc: Faiyaz Mohammed <faiyazm@codeaurora.org>
      Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      005a79e5
    • SeongJae Park's avatar
      selftests/damon: split test cases · 9ab3b0c8
      SeongJae Park authored
      
      
      Currently, the single test program, debugfs.sh, contains all test cases
      for DAMON.  When one of the cases fails, finding which case is failed
      from the test log is not so easy, and all remaining tests will be
      skipped.  To improve the situation, this commit splits the single
      program into small test programs having their own names.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-12-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9ab3b0c8
    • SeongJae Park's avatar
      selftests/damon: test debugfs file reads/writes with huge count · b4a00288
      SeongJae Park authored
      DAMON debugfs interface users were able to trigger warning by writing
      some files with arbitrarily large 'count' parameter.  The issue is fixed
      with commit db7a347b
      
       ("mm/damon/dbgfs: use '__GFP_NOWARN' for
      user-specified size buffer allocation").  This commit adds a test case
      for the issue in DAMON selftests to avoid future regressions.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-11-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b4a00288
    • SeongJae Park's avatar
      selftests/damon: test wrong DAMOS condition ranges input · d85570c6
      SeongJae Park authored
      
      
      A patch titled "mm/damon/schemes: add the validity judgment of
      thresholds"[1] makes DAMON debugfs interface to validate DAMON scheme
      inputs.  This commit adds a test case for the validation logic in DAMON
      selftests.
      
      [1] https://lore.kernel.org/linux-mm/d78360e52158d786fcbf20bc62c96785742e76d3.1637239568.git.xhao@linux.alibaba.com/
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-10-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d85570c6
    • SeongJae Park's avatar
      selftests/damon: test DAMON enabling with empty target_ids case · c6980e30
      SeongJae Park authored
      DAMON debugfs didn't check empty targets when starting monitoring, and
      the issue is fixed with commit b5ca3e83
      
       ("mm/damon/dbgfs: add
      adaptive_targets list check before enable monitor_on").  To avoid future
      regression, this commit adds a test case for that in DAMON selftests.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-9-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      c6980e30
    • SeongJae Park's avatar
      selftests/damon: skip test if DAMON is running · 964e1701
      SeongJae Park authored
      
      
      Testing the DAMON debugfs files while DAMON is running makes no sense,
      as any write to the debugfs files will fail.  This commit makes the test
      be skipped in this case.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-8-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      964e1701
    • SeongJae Park's avatar
      mm/damon/vaddr-test: remove unnecessary variables · 9f86d624
      SeongJae Park authored
      
      
      A couple of test functions in DAMON virtual address space monitoring
      primitives implementation has unnecessary damon_ctx variables.  This
      commit removes those.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-7-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9f86d624
    • SeongJae Park's avatar
      mm/damon/vaddr-test: split a test function having >1024 bytes frame size · 044cd975
      SeongJae Park authored
      On some configuration[1], 'damon_test_split_evenly()' kunit test
      function has >1024 bytes frame size, so below build warning is
      triggered:
      
            CC      mm/damon/vaddr.o
          In file included from mm/damon/vaddr.c:672:
          mm/damon/vaddr-test.h: In function 'damon_test_split_evenly':
          mm/damon/vaddr-test.h:309:1: warning: the frame size of 1064 bytes is larger than 1024 bytes [-Wframe-larger-than=]
            309 | }
                | ^
      
      This commit fixes the warning by separating the common logic in the
      function.
      
      [1] https://lore.kernel.org/linux-mm/202111182146.OV3C4uGr-lkp@intel.com/
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-6-sj@kernel.org
      Fixes: 17ccae8b
      
       ("mm/damon: add kunit tests")
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Reported-by: default avatarkernel test robot <lkp@intel.com>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      044cd975
    • SeongJae Park's avatar
      mm/damon/vaddr: remove an unnecessary warning message · 09e12289
      SeongJae Park authored
      The DAMON virtual address space monitoring primitive prints a warning
      message for wrong DAMOS action.  However, it is not essential as the
      code returns appropriate failure in the case.  This commit removes the
      message to make the log clean.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-5-sj@kernel.org
      Fixes: 6dea8add
      
       ("mm/damon/vaddr: support DAMON-based Operation Schemes")
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Reviewed-by: default avatarMuchun Song <songmuchun@bytedance.com>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      09e12289
    • SeongJae Park's avatar
      mm/damon/core: remove unnecessary error messages · 1afaf5cb
      SeongJae Park authored
      DAMON core prints error messages when damon_target object creation is
      failed or wrong monitoring attributes are given.  Because appropriate
      error code is returned for each case, the messages are not essential.
      Also, because the code path can be triggered with user-specified input,
      this could result in kernel log mistakenly being messy.  To avoid the
      case, this commit removes the messages.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-4-sj@kernel.org
      Fixes: 4bc05954 ("mm/damon: implement a debugfs-based user space interface")
      Fixes: b9a6ac4e
      
       ("mm/damon: adaptively adjust regions")
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: kernel test robot <lkp@intel.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      1afaf5cb
    • SeongJae Park's avatar
      mm/damon/dbgfs: remove an unnecessary error message · 0bceffa2
      SeongJae Park authored
      When wrong scheme action is requested via the debugfs interface, DAMON
      prints an error message.  Because the function returns error code, this
      is not really needed.  Because the code path is triggered by the user
      specified input, this can result in kernel log mistakenly being messy.
      To avoid the case, this commit removes the message.
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-3-sj@kernel.org
      Fixes: af122dd8
      
       ("mm/damon/dbgfs: support DAMON-based Operation Schemes")
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Cc: Shuah Khan <shuah@kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      0bceffa2
    • SeongJae Park's avatar
      mm/damon/core: use better timer mechanisms selection threshold · 4de46a30
      SeongJae Park authored
      Patch series "mm/damon: Trivial fixups and improvements".
      
      This patchset contains trivial fixups and improvements for DAMON and its
      kunit/kselftest tests.
      
      This patch (of 11):
      
      DAMON is using hrtimer if requested sleep time is <=100ms, while the
      suggested threshold[1] is <=20ms.  This commit applies the threshold.
      
      [1] Documentation/timers/timers-howto.rst
      
      Link: https://lkml.kernel.org/r/20211201150440.1088-2-sj@kernel.org
      Fixes: ee801b7d
      
       ("mm/damon/schemes: activate schemes based on a watermarks mechanism")
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Cc: Shuah Khan <shuah@kernel.org>
      Cc: Brendan Higgins <brendanhiggins@google.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4de46a30
    • SeongJae Park's avatar
      mm/damon/core: fix fake load reports due to uninterruptible sleeps · 70e92748
      SeongJae Park authored
      Because DAMON sleeps in uninterruptible mode, /proc/loadavg reports fake
      load while DAMON is turned on, though it is doing nothing.  This can
      confuse users[1].  To avoid the case, this commit makes DAMON sleeps in
      idle mode.
      
      [1] https://lore.kernel.org/all/11868371.O9o76ZdvQC@natalenko.name/
      
      Link: https://lkml.kernel.org/r/20211126145015.15862-3-sj@kernel.org
      Fixes: 2224d848
      
       ("mm: introduce Data Access MONitor (DAMON)")
      Reported-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      70e92748
    • SeongJae Park's avatar
      timers: implement usleep_idle_range() · e4779015
      SeongJae Park authored
      
      
      Patch series "mm/damon: Fix fake /proc/loadavg reports", v3.
      
      This patchset fixes DAMON's fake load report issue.  The first patch
      makes yet another variant of usleep_range() for this fix, and the second
      patch fixes the issue of DAMON by making it using the newly introduced
      function.
      
      This patch (of 2):
      
      Some kernel threads such as DAMON could need to repeatedly sleep in
      micro seconds level.  Because usleep_range() sleeps in uninterruptible
      state, however, such threads would make /proc/loadavg reports fake load.
      
      To help such cases, this commit implements a variant of usleep_range()
      called usleep_idle_range().  It is same to usleep_range() but sets the
      state of the current task as TASK_IDLE while sleeping.
      
      Link: https://lkml.kernel.org/r/20211126145015.15862-1-sj@kernel.org
      Link: https://lkml.kernel.org/r/20211126145015.15862-2-sj@kernel.org
      Signed-off-by: default avatarSeongJae Park <sj@kernel.org>
      Suggested-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Reviewed-by: default avatarThomas Gleixner <tglx@linutronix.de>
      Tested-by: default avatarOleksandr Natalenko <oleksandr@natalenko.name>
      Cc: John Stultz <john.stultz@linaro.org>
      Cc: <stable@vger.kernel.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e4779015
    • Matthew Wilcox (Oracle)'s avatar
      filemap: remove PageHWPoison check from next_uptodate_page() · 0c941cf3
      Matthew Wilcox (Oracle) authored
      
      
      Pages are individually marked as suffering from hardware poisoning.
      Checking that the head page is not hardware poisoned doesn't make
      sense; we might be after a subpage.  We check each page individually
      before we use it, so this was an optimisation gone wrong.  It will
      cause us to fall back to the slow path when there was no need to do
      that
      
      Link: https://lkml.kernel.org/r/20211120174429.2596303-1-willy@infradead.org
      Signed-off-by: default avatarMatthew Wilcox (Oracle) <willy@infradead.org>
      Reviewed-by: default avatarNaoya Horiguchi <naoya.horiguchi@nec.com>
      Cc: Yang Shi <shy828301@gmail.com>
      Cc: "Kirill A . Shutemov" <kirill.shutemov@linux.intel.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>
      0c941cf3
    • Guo Ren's avatar
      mailmap: update email address for Guo Ren · d020d9e6
      Guo Ren authored
      
      
      The ren_guo@c-sky.com would be deprecated and use guoren@kernel.org as the
      main email address.
      
      Link: https://lkml.kernel.org/r/20211123022741.545541-1-guoren@kernel.org
      Signed-off-by: default avatarGuo Ren <guoren@linux.alibaba.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d020d9e6
    • Dave Young's avatar
      MAINTAINERS: update kdump maintainers · e943d28d
      Dave Young authored
      
      
      Remove myself from kdump maintainers as I have no enough time to maintain
      it now.  But I can review patches on demand though.
      
      Link: https://lkml.kernel.org/r/YZyKilzKFsWJYdgn@dhcp-128-65.nay.redhat.com
      Signed-off-by: default avatarDave Young <dyoung@redhat.com>
      Acked-by: default avatarBaoquan He <bhe@redhat.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      e943d28d
    • Drew DeVault's avatar
      Increase default MLOCK_LIMIT to 8 MiB · 9dcc38e2
      Drew DeVault authored
      
      
      This limit has not been updated since 2008, when it was increased to 64
      KiB at the request of GnuPG.  Until recently, the main use-cases for this
      feature were (1) preventing sensitive memory from being swapped, as in
      GnuPG's use-case; and (2) real-time use-cases.  In the first case, little
      memory is called for, and in the second case, the user is generally in a
      position to increase it if they need more.
      
      The introduction of IOURING_REGISTER_BUFFERS adds a third use-case:
      preparing fixed buffers for high-performance I/O.  This use-case will take
      as much of this memory as it can get, but is still limited to 64 KiB by
      default, which is very little.  This increases the limit to 8 MB, which
      was chosen fairly arbitrarily as a more generous, but still conservative,
      default value.
      
      It is also possible to raise this limit in userspace.  This is easily
      done, for example, in the use-case of a network daemon: systemd, for
      instance, provides for this via LimitMEMLOCK in the service file; OpenRC
      via the rc_ulimit variables.  However, there is no established userspace
      facility for configuring this outside of daemons: end-user applications do
      not presently have access to a convenient means of raising their limits.
      
      The buck, as it were, stops with the kernel.  It's much easier to address
      it here than it is to bring it to hundreds of distributions, and it can
      only realistically be relied upon to be high-enough by end-user software
      if it is more-or-less ubiquitous.  Most distros don't change this
      particular rlimit from the kernel-supplied default value, so a change here
      will easily provide that ubiquity.
      
      Link: https://lkml.kernel.org/r/20211028080813.15966-1-sir@cmpwn.com
      Signed-off-by: default avatarDrew DeVault <sir@cmpwn.com>
      Acked-by: default avatarJens Axboe <axboe@kernel.dk>
      Acked-by: default avatarCyril Hrubis <chrubis@suse.cz>
      Acked-by: default avatarJohannes Weiner <hannes@cmpxchg.org>
      Cc: Pavel Begunkov <asml.silence@gmail.com>
      Cc: David Hildenbrand <david@redhat.com>
      Cc: Jason Gunthorpe <jgg@ziepe.ca>
      Cc: Andrew Dona-Couch <andrew@donacou.ch>
      Cc: Ammar Faizi <ammarfaizi2@gnuweeb.org>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9dcc38e2
    • Linus Torvalds's avatar
      Merge tag 'thermal-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · b9902641
      Linus Torvalds authored
      Pull thermal control fix from Rafael Wysocki:
       "Fix the definition of one of the Tiger Lake MMIO registers in the
        int340x thermal driver (Sumeet Pawnikar)"
      
      * tag 'thermal-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        thermal: int340x: Fix VCoRefLow MMIO bit offset for TGL
      b9902641
    • Linus Torvalds's avatar
      Merge tag 'acpi-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · 9e65da13
      Linus Torvalds authored
      Pull ACPI fix from Rafael Wysocki:
       "Create the output directory for the ACPI tools during build if it has
        not been present before and prevent the compilation from failing in
        that case (Chen Yu)"
      
      * tag 'acpi-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        ACPI: tools: Fix compilation when output directory is not present
      9e65da13
    • Linus Torvalds's avatar
      Merge tag 'pm-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm · d46bca63
      Linus Torvalds authored
      Pull power management fix from Rafael Wysocki:
       "Fix a kernedoc comment that doesn't match the behavior of the function
        documented by it"
      
      * tag 'pm-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm:
        PM: runtime: Fix pm_runtime_active() kerneldoc comment
      d46bca63
    • Linus Torvalds's avatar
      Merge tag 'hwmon-for-v5.16-rc5' of... · 1e050cd5
      Linus Torvalds authored
      Merge tag 'hwmon-for-v5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging
      
      Pull hwmon fixes from Guenter Roeck:
      
       - In the pwm-fan driver, ensure that the internal pwm state matches the
         state assumed by the pwm code.
      
       - Avoid EREMOTEIO errors in sht4 driver
      
       - In the nct6775 driver, make it explicit that the register value
         passed to nct6775_asuswmi_read() is an 8-bit value
      
       - Avoid WARNing in dell-smm driver removal after failing to create
         /proc/i8k
      
       - Stop using a plain integer as NULL pointer in corsair-psu driver
      
      * tag 'hwmon-for-v5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/groeck/linux-staging:
        hwmon: (pwm-fan) Ensure the fan going on in .probe()
        hwmon: (sht4x) Fix EREMOTEIO errors
        hwmon: (nct6775) mask out bank number in nct6775_wmi_read_value()
        hwmon: (dell-smm) Fix warning on /proc/i8k creation error
        hwmon: (corsair-psu) fix plain integer used as NULL pointer
      1e050cd5
    • Linus Torvalds's avatar
      Merge tag 'trace-v5.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace · 257dcf29
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
       "Tracing, ftrace and tracefs fixes:
      
         - Have tracefs honor the gid mount option
      
         - Have new files in tracefs inherit the parent ownership
      
         - Have direct_ops unregister when it has no more functions
      
         - Properly clean up the ops when unregistering multi direct ops
      
         - Add a sample module to test the multiple direct ops
      
         - Fix memory leak in error path of __create_synth_event()"
      
      * tag 'trace-v5.16-rc4' of git://git.kernel.org/pub/scm/linux/kernel/git/rostedt/linux-trace:
        tracing: Fix possible memory leak in __create_synth_event() error path
        ftrace/samples: Add module to test multi direct modify interface
        ftrace: Add cleanup to unregister_ftrace_direct_multi
        ftrace: Use direct_ops hash in unregister_ftrace_direct
        tracefs: Set all files to the same group ownership as the mount option
        tracefs: Have new files inherit the ownership of their parent
      257dcf29
    • Linus Torvalds's avatar
      Merge tag 'aio-poll-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux · 0d21e668
      Linus Torvalds authored
      Pull aio poll fixes from Eric Biggers:
       "Fix three bugs in aio poll, and one issue with POLLFREE more broadly:
      
         - aio poll didn't handle POLLFREE, causing a use-after-free.
      
         - aio poll could block while the file is ready.
      
         - aio poll called eventfd_signal() when it isn't allowed.
      
         - POLLFREE didn't handle multiple exclusive waiters correctly.
      
        This has been tested with the libaio test suite, as well as with test
        programs I wrote that reproduce the first two bugs. I am sending this
        pull request myself as no one seems to be maintaining this code"
      
      * tag 'aio-poll-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ebiggers/linux:
        aio: Fix incorrect usage of eventfd_signal_allowed()
        aio: fix use-after-free due to missing POLLFREE handling
        aio: keep poll requests on waitqueue until completed
        signalfd: use wake_up_pollfree()
        binder: use wake_up_pollfree()
        wait: add wake_up_pollfree()
      0d21e668
    • Linus Torvalds's avatar
      Merge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm · b9172f9e
      Linus Torvalds authored
      Pull kvm fixes from Paolo Bonzini:
       "More x86 fixes:
      
         - Logic bugs in CR0 writes and Hyper-V hypercalls
      
         - Don't use Enlightened MSR Bitmap for L3
      
         - Remove user-triggerable WARN
      
        Plus a few selftest fixes and a regression test for the
        user-triggerable WARN"
      
      * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm:
        selftests: KVM: Add test to verify KVM doesn't explode on "bad" I/O
        KVM: x86: Don't WARN if userspace mucks with RCX during string I/O exit
        KVM: X86: Raise #GP when clearing CR0_PG in 64 bit mode
        selftests: KVM: avoid failures due to reserved HyperTransport region
        KVM: x86: Ignore sparse banks size for an "all CPUs", non-sparse IPI req
        KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall
        KVM: x86: selftests: svm_int_ctl_test: fix intercept calculation
        KVM: nVMX: Don't use Enlightened MSR Bitmap for L3
      b9172f9e
    • Linus Torvalds's avatar
      Merge tag 'pci-v5.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci · b8a98b6b
      Linus Torvalds authored
      Pull PCI fixes from Bjorn Helgaas:
      
       - Revert emulation of Marvell Armada A3720 expansion ROM because it
         doesn't work as expected (Marek Behún)
      
       - Assert PERST# in Apple M1 driver to fix initialization when booting
         from bootloaders using PCIe, such as U-Boot (Marc Zyngier)
      
       - Describe PERST# as active low in Apple T8103 DT and update driver to
         match (Marc Zyngier)
      
      * tag 'pci-v5.16-fixes-2' of git://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci:
        PCI: apple: Fix PERST# polarity
        arm64: dts: apple: t8103: Mark PCIe PERST# polarity active low in DT
        PCI: apple: Follow the PCIe specifications when resetting the port
        Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge"
      b8a98b6b
    • Linus Torvalds's avatar
      Merge tag 'mmc-v5.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc · 2ca4b651
      Linus Torvalds authored
      Pull MMC host fixes from Ulf Hansson:
      
       - mtk-sd: Fix memory leak during tuning
      
       - renesas_sdhi: Initialize variable properly when tuning
      
      * tag 'mmc-v5.16-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/ulfh/mmc:
        mmc: mediatek: free the ext_csd when mmc_get_ext_csd success
        mmc: renesas_sdhi: initialize variable properly when tuning
      2ca4b651
    • Linus Torvalds's avatar
      Merge tag 'libata-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata · bec8cb26
      Linus Torvalds authored
      Pull libata fixes from Damien Le Moal:
      
       - Fix a sparse warning in the ahci_ceva driver (me)
      
       - Disable the ASMedia 1092 non-functional device (Hannes)
      
      * tag 'libata-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/dlemoal/libata:
        libata: add horkage for ASMedia 1092
        ata: ahci_ceva: Fix id array access in ceva_ahci_read_id()
      bec8cb26
    • Linus Torvalds's avatar
      Merge tag 'sound-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound · 5b46fb03
      Linus Torvalds authored
      Pull sound fixes from Takashi Iwai:
       "Another collection of small fixes. It's still not quite calm yet, but
        nothing looks scary.
      
        ALSA core got a few fixes for covering the issues detected by fuzzer
        and the 32bit compat problem of control API, while the rest are all
        device-specific small fixes, including the continued fixes for Tegra"
      
      * tag 'sound-5.16-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (23 commits)
        ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform
        ALSA: usb-audio: Reorder snd_djm_devices[] entries
        ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1
        ALSA: ctl: Fix copy of updated id with element read/write
        ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*()
        ALSA: pcm: oss: Limit the period size to 16MB
        ALSA: pcm: oss: Fix negative period/buffer sizes
        ASoC: codecs: wsa881x: fix return values from kcontrol put
        ASoC: codecs: wcd934x: return correct value from mixer put
        ASoC: codecs: wcd934x: handle channel mappping list correctly
        ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer
        ASoC: SOF: Intel: Retry codec probing if it fails
        ASoC: amd: fix uninitialized variable in snd_acp6x_probe()
        ASoC: rockchip: i2s_tdm: Dup static DAI template
        ASoC: rt5682s: Fix crash due to out of scope stack vars
        ASoC: rt5682: Fix crash due to out of scope stack vars
        ASoC: tegra: Use normal system sleep for ADX
        ASoC: tegra: Use normal system sleep for AMX
        ASoC: tegra: Use normal system sleep for Mixer
        ASoC: tegra: Use normal system sleep for MVC
        ...
      5b46fb03
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2021-12-10' of git://anongit.freedesktop.org/drm/drm · 9b302ffe
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Regular fixes, pretty small overall, couple of core fixes, two i915
        and two amdgpu, hopefully it stays this quiet.
      
        ttm:
         - fix ttm_bo_swapout
      
        syncobj:
         - fix fence find bug with signalled fences
      
        i915:
         - fix error pointer deref in gem execbuffer
         - fix for GT init with GuC/HuC on ICL
      
        amdgpu:
         - DPIA fix
         - eDP fix"
      
      * tag 'drm-fixes-2021-12-10' of git://anongit.freedesktop.org/drm/drm:
        drm/i915/gen11: Moving WAs to icl_gt_workarounds_init()
        drm/amd/display: prevent reading unitialized links
        drm/amd/display: Fix DPIA outbox timeout after S3/S4/reset
        drm/i915: Fix error pointer dereference in i915_gem_do_execbuffer()
        drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence.
        drm/ttm: fix ttm_bo_swapout
      9b302ffe
    • J. Bruce Fields's avatar
      nfsd: fix use-after-free due to delegation race · 548ec080
      J. Bruce Fields authored
      A delegation break could arrive as soon as we've called vfs_setlease.  A
      delegation break runs a callback which immediately (in
      nfsd4_cb_recall_prepare) adds the delegation to del_recall_lru.  If we
      then exit nfs4_set_delegation without hashing the delegation, it will be
      freed as soon as the callback is done with it, without ever being
      removed from del_recall_lru.
      
      Symptoms show up later as use-after-free or list corruption warnings,
      usually in the laundromat thread.
      
      I suspect aba2072f
      
       "nfsd: grant read delegations to clients holding
      writes" made this bug easier to hit, but I looked as far back as v3.0
      and it looks to me it already had the same problem.  So I'm not sure
      where the bug was introduced; it may have been there from the beginning.
      
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      548ec080
    • Alexander Sverdlin's avatar
      nfsd: Fix nsfd startup race (again) · b10252c7
      Alexander Sverdlin authored
      Commit bd5ae928 ("nfsd: register pernet ops last, unregister first")
      has re-opened rpc_pipefs_event() race against nfsd_net_id registration
      (register_pernet_subsys()) which has been fixed by commit bb7ffbf2
      ("nfsd: fix nsfd startup race triggering BUG_ON").
      
      Restore the order of register_pernet_subsys() vs register_cld_notifier().
      Add WARN_ON() to prevent a future regression.
      
      Crash info:
      Unable to handle kernel NULL pointer dereference at virtual address 0000000000000012
      CPU: 8 PID: 345 Comm: mount Not tainted 5.4.144-... #1
      pc : rpc_pipefs_event+0x54/0x120 [nfsd]
      lr : rpc_pipefs_event+0x48/0x120 [nfsd]
      Call trace:
       rpc_pipefs_event+0x54/0x120 [nfsd]
       blocking_notifier_call_chain
       rpc_fill_super
       get_tree_keyed
       rpc_fs_get_tree
       vfs_get_tree
       do_mount
       ksys_mount
       __arm64_sys_mount
       el0_svc_handler
       el0_svc
      
      Fixes: bd5ae928
      
       ("nfsd: register pernet ops last, unregister first")
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarAlexander Sverdlin <alexander.sverdlin@nokia.com>
      Signed-off-by: default avatarJ. Bruce Fields <bfields@redhat.com>
      b10252c7
  3. Dec 10, 2021