Skip to content
  1. Dec 12, 2021
    • Linus Torvalds's avatar
      Merge tag 'io_uring-5.16-2021-12-10' of git://git.kernel.dk/linux-block · f152165a
      Linus Torvalds authored
      Pull io_uring fixes from Jens Axboe:
       "A few fixes that are all bound for stable:
      
         - Two syzbot reports for io-wq that turned out to be separate fixes,
           but ultimately very closely related
      
         - io_uring task_work running on cancelations"
      
      * tag 'io_uring-5.16-2021-12-10' of git://git.kernel.dk/linux-block:
        io-wq: check for wq exit after adding new worker task_work
        io_uring: ensure task_work gets run as part of cancelations
        io-wq: remove spurious bit clear on task_work addition
      f152165a
    • Linus Torvalds's avatar
      Merge branch 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · bd66be54
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
       "Two more I2C driver bugfixes"
      
      * 'i2c/for-current' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: mpc: Use atomic read and fix break condition
        i2c: virtio: fix completion handling
      bd66be54
    • Linus Torvalds's avatar
      Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux · 2acdaf59
      Linus Torvalds authored
      Pull clk driver fixes from Stephen Boyd:
      
       - Fix qcom mux logic to look at the proper parent table member. Luckily
         this clk type isn't very common.
      
       - Don't kill clks on qcom systems that use Trion PLLs that are enabled
         out of the bootloader. We will simply skip programming the PLL rate
         if it's already done.
      
       - Use the proper clk_ops for the qcom sm6125 ICE clks.
      
       - Use module_platform_driver() in i.MX as it can be a module.
      
       - Fix a UAF in the versatile clk driver on an error path.
      
      * tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux:
        clk: versatile: clk-icst: use after free on error path
        clk: qcom: sm6125-gcc: Swap ops of ice and apps on sdcc1
        clk: imx: use module_platform_driver
        clk: qcom: clk-alpha-pll: Don't reconfigure running Trion
        clk: qcom: regmap-mux: fix parent clock lookup
      2acdaf59
    • Linus Torvalds's avatar
      Merge tag 'devicetree-fixes-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux · a84e0b31
      Linus Torvalds authored
      Pull devicetree fixes from Rob Herring:
      
       - Revert schema checks on %.dtb targets. This was problematic for some
         external build tools.
      
       - A few DT binding example fixes
      
       - Add back dropped 'enet-phy-lane-no-swap' Ethernet PHY property
      
       - Drop erroneous if/then schema in nxp,imx7-mipi-csi2
      
       - Add a quirk to fix some interrupt controllers use of 'interrupt-map'
      
      * tag 'devicetree-fixes-for-5.16-2' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux:
        Revert "kbuild: Enable DT schema checks for %.dtb targets"
        dt-bindings: bq25980: Fixup the example
        dt-bindings: input: gpio-keys: Fix interrupts in example
        dt-bindings: net: Reintroduce PHY no lane swap binding
        dt-bindings: media: nxp,imx7-mipi-csi2: Drop bad if/then schema
        of/irq: Add a quirk for controllers with their own definition of interrupt-map
        dt-bindings: iio: adc: exynos-adc: Fix node name in example
      a84e0b31
    • 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
    • Chris Packham's avatar
      i2c: mpc: Use atomic read and fix break condition · a74c313a
      Chris Packham authored
      Maxime points out that the polling code in mpc_i2c_isr should use the
      _atomic API because it is called in an irq context and that the
      behaviour of the MCF bit is that it is 1 when the byte transfer is
      complete. All of this means the original code was effectively a
      udelay(100).
      
      Fix this by using readb_poll_timeout_atomic() and removing the negation
      of the break condition.
      
      Fixes: 4a8ac5e4
      
       ("i2c: mpc: Poll for MCF")
      Reported-by: default avatarMaxime Bizon <mbizon@freebox.fr>
      Signed-off-by: default avatarChris Packham <chris.packham@alliedtelesis.co.nz>
      Tested-by: default avatarMaxime Bizon <mbizon@freebox.fr>
      Signed-off-by: default avatarWolfram Sang <wsa@kernel.org>
      a74c313a
    • Jens Axboe's avatar
      io-wq: check for wq exit after adding new worker task_work · 71a85387
      Jens Axboe authored
      
      
      We check IO_WQ_BIT_EXIT before attempting to create a new worker, and
      wq exit cancels pending work if we have any. But it's possible to have
      a race between the two, where creation checks exit finding it not set,
      but we're in the process of exiting. The exit side will cancel pending
      creation task_work, but there's a gap where we add task_work after we've
      canceled existing creations at exit time.
      
      Fix this by checking the EXIT bit post adding the creation task_work.
      If it's set, run the same cancelation that exit does.
      
      Reported-and-tested-by: default avatar <syzbot+b60c982cb0efc5e05a47@syzkaller.appspotmail.com>
      Reviewed-by: default avatarHao Xu <haoxu@linux.alibaba.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      71a85387
    • Jens Axboe's avatar
      io_uring: ensure task_work gets run as part of cancelations · 78a78060
      Jens Axboe authored
      
      
      If we successfully cancel a work item but that work item needs to be
      processed through task_work, then we can be sleeping uninterruptibly
      in io_uring_cancel_generic() and never process it. Hence we don't
      make forward progress and we end up with an uninterruptible sleep
      warning.
      
      While in there, correct a comment that should be IFF, not IIF.
      
      Reported-and-tested-by: default avatar <syzbot+21e6887c0be14181206d@syzkaller.appspotmail.com>
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      78a78060
    • 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