1. 24 Feb, 2022 8 commits
  2. 23 Feb, 2022 9 commits
  3. 22 Feb, 2022 11 commits
  4. 21 Feb, 2022 6 commits
    • Linus Torvalds's avatar
      Merge tag 'platform-drivers-x86-v5.17-3' of... · 038101e6
      Linus Torvalds authored
      Merge tag 'platform-drivers-x86-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86
      
      Pull x86 platform driver fixes from Hans de Goede:
       "Two small fixes and one hardware-id addition"
      
      * tag 'platform-drivers-x86-v5.17-3' of git://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86:
        platform/x86: int3472: Add terminator to gpiod_lookup_table
        platform/x86: asus-wmi: Fix regression when probing for fan curve control
        platform/x86: thinkpad_acpi: Add dual-fan quirk for T15g (2nd gen)
      038101e6
    • Max Kellermann's avatar
      lib/iov_iter: initialize "flags" in new pipe_buffer · 9d2231c5
      Max Kellermann authored
      The functions copy_page_to_iter_pipe() and push_pipe() can both
      allocate a new pipe_buffer, but the "flags" member initializer is
      missing.
      
      Fixes: 241699cd ("new iov_iter flavour: pipe-backed")
      To: Alexander Viro <viro@zeniv.linux.org.uk>
      To: linux-fsdevel@vger.kernel.org
      To: linux-kernel@vger.kernel.org
      Cc: stable@vger.kernel.org
      Signed-off-by: default avatarMax Kellermann <max.kellermann@ionos.com>
      Signed-off-by: default avatarAl Viro <viro@zeniv.linux.org.uk>
      9d2231c5
    • Daniel Scally's avatar
      platform/x86: int3472: Add terminator to gpiod_lookup_table · ae09639e
      Daniel Scally authored
      Without the terminator, if a con_id is passed to gpio_find() that
      does not exist in the lookup table the function will not stop looping
      correctly, and eventually cause an oops.
      
      Fixes: 19d8d6e3 ("platform/x86: int3472: Pass tps68470_regulator_platform_data to the tps68470-regulator MFD-cell")
      Signed-off-by: default avatarDaniel Scally <djrscally@gmail.com>
      Link: https://lore.kernel.org/r/20220216225304.53911-5-djrscally@gmail.comReviewed-by: default avatarHans de Goede <hdegoede@redhat.com>
      Signed-off-by: default avatarHans de Goede <hdegoede@redhat.com>
      ae09639e
    • Jens Axboe's avatar
      io_uring: don't convert to jiffies for waiting on timeouts · 22833966
      Jens Axboe authored
      If an application calls io_uring_enter(2) with a timespec passed in,
      convert that timespec to ktime_t rather than jiffies. The latter does
      not provide the granularity the application may expect, and may in
      fact provided different granularity on different systems, depending
      on what the HZ value is configured at.
      
      Turn the timespec into an absolute ktime_t, and use that with
      schedule_hrtimeout() instead.
      
      Link: https://github.com/axboe/liburing/issues/531
      Cc: stable@vger.kernel.org
      Reported-by: default avatarBob Chen <chenbo.chen@alibaba-inc.com>
      Signed-off-by: default avatarJens Axboe <axboe@kernel.dk>
      22833966
    • Roman Gushchin's avatar
      tools/cgroup/slabinfo: update to work with struct slab · 22194473
      Roman Gushchin authored
      After the introduction of the dedicated struct slab to describe slab
      pages by commit d122019b ("mm: Split slab into its own type") and
      the following removal of the corresponding struct page's fields by
      commit 07f910f9 ("mm: Remove slab from struct page") the
      memcg_slabinfo tool broke. An attempt to run it produces a trace like
      this:
      Traceback (most recent call last):
        File "/usr/bin/drgn", line 33, in <module>
          sys.exit(load_entry_point('drgn==0.0.16', 'console_scripts', 'drgn')())
        File "/usr/lib64/python3.9/site-packages/drgn/internal/cli.py", line 133, in main
          runpy.run_path(args.script[0], init_globals=init_globals, run_name="__main__")
        File "/usr/lib64/python3.9/runpy.py", line 268, in run_path
          return _run_module_code(code, init_globals, run_name,
        File "/usr/lib64/python3.9/runpy.py", line 97, in _run_module_code
          _run_code(code, mod_globals, init_globals,
        File "/usr/lib64/python3.9/runpy.py", line 87, in _run_code
          exec(code, run_globals)
        File "memcg_slabinfo.py", line 226, in <module>
          main()
        File "memcg_slabinfo.py", line 199, in main
          cache = page.slab_cache
      AttributeError: 'struct page' has no member 'slab_cache'
      
      The problem can be fixed by explicitly casting struct page * to struct
      slab * for slab pages. The tools works as expected with this fix, e.g.:
      
      cred_jar             776    776    192   21    1 : tunables    0    0    0 : slabdata    547    547      0
      kmalloc-cg-32          6      6     32  128    1 : tunables    0    0    0 : slabdata      9      9      0
      files_cache            3      3    832   39    8 : tunables    0    0    0 : slabdata      8      8      0
      kmalloc-cg-512         1      1    512   32    4 : tunables    0    0    0 : slabdata     10     10      0
      task_struct           10     10   6720    4    8 : tunables    0    0    0 : slabdata     63     63      0
      mm_struct              3      3   1664   19    8 : tunables    0    0    0 : slabdata      9      9      0
      kmalloc-cg-16          1      1     16  256    1 : tunables    0    0    0 : slabdata      8      8      0
      pde_opener             1      1     40  102    1 : tunables    0    0    0 : slabdata      8      8      0
      anon_vma_chain       375    375     64   64    1 : tunables    0    0    0 : slabdata     81     81      0
      radix_tree_node        3      3    584   28    4 : tunables    0    0    0 : slabdata    419    419      0
      dentry                98     98    312   26    2 : tunables    0    0    0 : slabdata   1420   1420      0
      btrfs_inode            3      3   2368   13    8 : tunables    0    0    0 : slabdata    730    730      0
      signal_cache           3      3   1600   20    8 : tunables    0    0    0 : slabdata     17     17      0
      sighand_cache          3      3   2240   14    8 : tunables    0    0    0 : slabdata     20     20      0
      filp                  90     90    512   32    4 : tunables    0    0    0 : slabdata     95     95      0
      anon_vma             214    214    200   20    1 : tunables    0    0    0 : slabdata    162    162      0
      kmalloc-cg-1k          1      1   1024   32    8 : tunables    0    0    0 : slabdata     22     22      0
      pid                   10     10    256   32    2 : tunables    0    0    0 : slabdata     14     14      0
      kmalloc-cg-64          2      2     64   64    1 : tunables    0    0    0 : slabdata      8      8      0
      kmalloc-cg-96          3      3     96   42    1 : tunables    0    0    0 : slabdata      8      8      0
      sock_inode_cache       5      5   1408   23    8 : tunables    0    0    0 : slabdata     29     29      0
      UNIX                   7      7   1920   17    8 : tunables    0    0    0 : slabdata     21     21      0
      inode_cache           36     36   1152   28    8 : tunables    0    0    0 : slabdata    680    680      0
      proc_inode_cache      26     26   1224   26    8 : tunables    0    0    0 : slabdata     64     64      0
      kmalloc-cg-2k          2      2   2048   16    8 : tunables    0    0    0 : slabdata      9      9      0
      
      v2: change naming and count_partial()/count_free()/for_each_slab()
          signatures to work with slabs, suggested by Matthew Wilcox
      
      Fixes: 07f910f9 ("mm: Remove slab from struct page")
      Reported-by: default avatarVasily Averin <vvs@virtuozzo.com>
      Signed-off-by: default avatarRoman Gushchin <guro@fb.com>
      Tested-by: default avatarVasily Averin <vvs@virtuozzo.com>
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Link: https://lore.kernel.org/linux-patches/Yg2cKKnIboNu7j+p@carbon.DHCP.thefacebook.com/
      22194473
    • Greg Kroah-Hartman's avatar
      slab: remove __alloc_size attribute from __kmalloc_track_caller · 93dd04ab
      Greg Kroah-Hartman authored
      Commit c37495d6 ("slab: add __alloc_size attributes for better
      bounds checking") added __alloc_size attributes to a bunch of kmalloc
      function prototypes.  Unfortunately the change to __kmalloc_track_caller
      seems to cause clang to generate broken code and the first time this is
      called when booting, the box will crash.
      
      While the compiler problems are being reworked and attempted to be
      solved [1], let's just drop the attribute to solve the issue now.  Once
      it is resolved it can be added back.
      
      [1] https://github.com/ClangBuiltLinux/linux/issues/1599
      
      Fixes: c37495d6 ("slab: add __alloc_size attributes for better bounds checking")
      Cc: stable <stable@vger.kernel.org>
      Cc: Kees Cook <keescook@chromium.org>
      Cc: Daniel Micay <danielmicay@gmail.com>
      Cc: Nick Desaulniers <ndesaulniers@google.com>
      Cc: Christoph Lameter <cl@linux.com>
      Cc: Pekka Enberg <penberg@kernel.org>
      Cc: Joonsoo Kim <iamjoonsoo.kim@lge.com>
      Cc: Andrew Morton <akpm@linux-foundation.org>
      Cc: Vlastimil Babka <vbabka@suse.cz>
      Cc: Nathan Chancellor <nathan@kernel.org>
      Cc: linux-mm@kvack.org
      Cc: linux-kernel@vger.kernel.org
      Cc: llvm@lists.linux.dev
      Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      Acked-by: default avatarNick Desaulniers <ndesaulniers@google.com>
      Acked-by: default avatarDavid Rientjes <rientjes@google.com>
      Acked-by: default avatarKees Cook <keescook@chromium.org>
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Link: https://lore.kernel.org/r/20220218131358.3032912-1-gregkh@linuxfoundation.org
      93dd04ab
  5. 20 Feb, 2022 6 commits