Skip to content
Snippets Groups Projects
  1. Apr 23, 2025
    • Linus Torvalds's avatar
      Fix mis-uses of 'cc-option' for warning disablement · a79be02b
      Linus Torvalds authored
      
      This was triggered by one of my mis-uses causing odd build warnings on
      sparc in linux-next, but while figuring out why the "obviously correct"
      use of cc-option caused such odd breakage, I found eight other cases of
      the same thing in the tree.
      
      The root cause is that 'cc-option' doesn't work for checking negative
      warning options (ie things like '-Wno-stringop-overflow') because gcc
      will silently accept options it doesn't recognize, and so 'cc-option'
      ends up thinking they are perfectly fine.
      
      And it all works, until you have a situation where _another_ warning is
      emitted.  At that point the compiler will go "Hmm, maybe the user
      intended to disable this warning but used that wrong option that I
      didn't recognize", and generate a warning for the unrecognized negative
      option.
      
      Which explains why we have several cases of this in the tree: the
      'cc-option' test really doesn't work for this situation, but most of the
      time it simply doesn't matter that ity doesn't work.
      
      The reason my recently added case caused problems on sparc was pointed
      out by Thomas Weißschuh: the sparc build had a previous explicit warning
      that then triggered the new one.
      
      I think the best fix for this would be to make 'cc-option' a bit smarter
      about this sitation, possibly by adding an intentional warning to the
      test case that then triggers the unrecognized option warning reliably.
      
      But the short-term fix is to replace 'cc-option' with an existing helper
      designed for this exact case: 'cc-disable-warning', which picks the
      negative warning but uses the positive form for testing the compiler
      support.
      
      Reported-by: default avatarStephen Rothwell <sfr@canb.auug.org.au>
      Link: https://lore.kernel.org/all/20250422204718.0b4e3f81@canb.auug.org.au/
      
      
      Explained-by: default avatarThomas Weißschuh <linux@weissschuh.net>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      a79be02b
    • Vlastimil Babka's avatar
      locking/local_lock: fix _Generic() matching of local_trylock_t · 82efd569
      Vlastimil Babka authored
      
      Michael Larabel reported [1] a nginx performance regression in v6.15-rc3
      and bisected it to commit 51339d99 ("locking/local_lock, mm: replace
      localtry_ helpers with local_trylock_t type")
      
      The problem is the _Generic() usage with a default association that
      masks the fact that "local_trylock_t *" association is not being
      selected as expected.  Replacing the default with the only other
      expected type "local_lock_t *" reveals the underlying problem:
      
        include/linux/local_lock_internal.h:174:26: error: ‘_Generic’ selector of type ‘__seg_gs local_lock_t *’ is not compatible with any association
      
      The local_locki's are part of __percpu structures and thus the __percpu
      attribute is needed to associate the type properly.  Add the attribute
      and keep the default replaced to turn any further mismatches into
      compile errors.
      
      The failure to recognize local_try_lock_t in __local_lock_release()
      means that a local_trylock[_irqsave]() operation will set tl->acquired
      to 1 (there's no _Generic() part in the trylock code), but then
      local_unlock[_irqrestore]() will not set tl->acquired back to 0, so
      further trylock operations will always fail on the same cpu+lock, while
      non-trylock operations continue to work - a lockdep_assert() is also not
      being executed in the _Generic() part of local_lock() code.
      
      This means consume_stock() and refill_stock() operations will fail
      deterministically, resulting in taking the slow paths and worse
      performance.
      
      Fixes: 51339d99 ("locking/local_lock, mm: replace localtry_ helpers with local_trylock_t type")
      Reported-by: default avatarMichael Larabel <Michael@phoronix.com>
      Closes: https://www.phoronix.com/review/linux-615-nginx-regression/2
      
       [1]
      Signed-off-by: default avatarVlastimil Babka <vbabka@suse.cz>
      Acked-by: default avatarAlexei Starovoitov <ast@kernel.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      82efd569
    • Linus Torvalds's avatar
      Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost · 0251ddbf
      Linus Torvalds authored
      Pull virtio fixes from Michael Tsirkin:
       "A small number of fixes:
      
         - virtgpu is exempt from reset shutdown fow now - a more complete fix
           is in the works
      
         - spec compliance fixes in:
             - virtio-pci cap commands
             - vhost_scsi_send_bad_target
             - virtio console resize
      
         - missing locking fix in vhost-scsi
      
         - virtio ring - a KCSAN false positive fix
      
         - VHOST_*_OWNER documentation fix"
      
      * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost:
        vhost-scsi: Fix vhost_scsi_send_status()
        vhost-scsi: Fix vhost_scsi_send_bad_target()
        vhost-scsi: protect vq->log_used with vq->mutex
        vhost_task: fix vhost_task_create() documentation
        virtio_console: fix order of fields cols and rows
        virtio_console: fix missing byte order handling for cols and rows
        virtgpu: don't reset on shutdown
        virtio_ring: Fix data race by tagging event_triggered as racy for KCSAN
        vhost: fix VHOST_*_OWNER documentation
        virtio_pci: Use self group type for cap commands
      0251ddbf
  2. Apr 22, 2025
  3. Apr 20, 2025
    • Linus Torvalds's avatar
      gcc-15: disable '-Wunterminated-string-initialization' entirely for now · 9d7a0577
      Linus Torvalds authored
      
      I had left the warning around but as a non-fatal error to get my gcc-15
      builds going, but fixed up some of the most annoying warning cases so
      that it wouldn't be *too* verbose.
      
      Because I like the _concept_ of the warning, even if I detested the
      implementation to shut it up.
      
      It turns out the implementation to shut it up is even more broken than I
      thought, and my "shut up most of the warnings" patch just caused fatal
      errors on gcc-14 instead.
      
      I had tested with clang, but when I upgrade my development environment,
      I try to do it on all machines because I hate having different systems
      to maintain, and hadn't realized that gcc-14 now had issues.
      
      The ACPI case is literally why I wanted to have a *type* that doesn't
      trigger the warning (see commit d5d45a7f: "gcc-15: make
      'unterminated string initialization' just a warning"), instead of
      marking individual places as "__nonstring".
      
      But gcc-14 doesn't like that __nonstring location that shut gcc-15 up,
      because it's on an array of char arrays, not on one single array:
      
        drivers/acpi/tables.c:399:1: error: 'nonstring' attribute ignored on objects of type 'const char[][4]' [-Werror=attributes]
          399 | static const char table_sigs[][ACPI_NAMESEG_SIZE] __initconst __nonstring = {
              | ^~~~~~
      
      and my attempts to nest it properly with a type had failed, because of
      how gcc doesn't like marking the types as having attributes, only
      symbols.
      
      There may be some trick to it, but I was already annoyed by the bad
      attribute design, now I'm just entirely fed up with it.
      
      I wish gcc had a proper way to say "this type is a *byte* array, not a
      string".
      
      The obvious thing would be to distinguish between "char []" and an
      explicitly signed "unsigned char []" (as opposed to an implicitly
      unsigned char, which is typically an architecture-specific default, but
      for the kernel is universal thanks to '-funsigned-char').
      
      But any "we can typedef a 8-bit type to not become a string just because
      it's an array" model would be fine.
      
      But "__attribute__((nonstring))" is sadly not that sane model.
      
      Reported-by: default avatarChris Clayton <chris2553@googlemail.com>
      Fixes: 4b4bd8c5 ("gcc-15: acpi: sprinkle random '__nonstring' crumbles around")
      Fixes: d5d45a7f ("gcc-15: make 'unterminated string initialization' just a warning")
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      9d7a0577
    • Linus Torvalds's avatar
      Linux 6.15-rc3 · 9c32cda4
      Linus Torvalds authored
      v6.15-rc3
      9c32cda4
    • Linus Torvalds's avatar
      gcc-15: work around sequence-point warning · ac71fabf
      Linus Torvalds authored
      
      The C sequence points are complicated things, and gcc-15 has apparently
      added a warning for the case where an object is both used and modified
      multiple times within the same sequence point.
      
      That's a great warning.
      
      Or rather, it would be a great warning, except gcc-15 seems to not
      really be very exact about it, and doesn't notice that the modification
      are to two entirely different members of the same object: the array
      counter and the array entries.
      
      So that seems kind of silly.
      
      That said, the code that gcc complains about is unnecessarily
      complicated, so moving the array counter update into a separate
      statement seems like the most straightforward fix for these warnings:
      
        drivers/net/wireless/intel/iwlwifi/mld/d3.c: In function ‘iwl_mld_set_netdetect_info’:
        drivers/net/wireless/intel/iwlwifi/mld/d3.c:1102:66: error: operation on ‘netdetect_info->n_matches’ may be undefined [-Werror=sequence-point]
         1102 |                 netdetect_info->matches[netdetect_info->n_matches++] = match;
              |                                         ~~~~~~~~~~~~~~~~~~~~~~~~~^~
      
        drivers/net/wireless/intel/iwlwifi/mld/d3.c:1120:58: error: operation on ‘match->n_channels’ may be undefined [-Werror=sequence-point]
         1120 |                         match->channels[match->n_channels++] =
              |                                         ~~~~~~~~~~~~~~~~~^~
      
      side note: the code at that second warning is actively buggy, and only
      works on little-endian machines that don't do strict alignment checks.
      
      The code casts an array of integers into an array of unsigned long in
      order to use our bitmap iterators.  That happens to work fine on any
      sane architecture, but it's still wrong.
      
      This does *not* fix that more serious problem.  This only splits the two
      assignments into two statements and fixes the compiler warning.  I need
      to get rid of the new warnings in order to be able to actually do any
      build testing.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      ac71fabf
    • Linus Torvalds's avatar
      gcc-15: add '__nonstring' markers to byte arrays · 05e8d261
      Linus Torvalds authored
      
      All of these cases are perfectly valid and good traditional C, but hit
      by the "you're not NUL-terminating your byte array" warning.
      
      And none of the cases want any terminating NUL character.
      
      Mark them __nonstring to shut up gcc-15 (and in the case of the ak8974
      magnetometer driver, I just removed the explicit array size and let gcc
      expand the 3-byte and 6-byte arrays by one extra byte, because it was
      the simpler change).
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      05e8d261
    • Linus Torvalds's avatar
      gcc-15: get rid of misc extra NUL character padding · be913e7c
      Linus Torvalds authored
      
      This removes two cases of explicit NUL padding that now causes warnings
      because of '-Wunterminated-string-initialization' being part of -Wextra
      in gcc-15.
      
      Gcc is being silly in this case when it says that it truncates a NUL
      terminator, because in these cases there were _multiple_ NUL characters.
      
      But we can get rid of the warning by just simplifying the two
      initializers that trigger the warning for me, so this does exactly that.
      
      I'm not sure why the power supply code did that odd
      
          .attr_name = #_name "\0",
      
      pattern: it was introduced in commit 2cabeaf1 ("power: supply: core:
      Cleanup power supply sysfs attribute list"), but that 'attr_name[]'
      field is an explicitly sized character array in a statically initialized
      variable, and a string initializer always has a terminating NUL _and_
      statically initialized character arrays are zero-padded anyway, so it
      really seems to be rather extraneous belt-and-suspenders.
      
      The zero_uuid[16] initialization in drivers/md/bcache/super.c makes
      perfect sense, but it isn't necessary for the same reasons, and not
      worth the new gcc warning noise.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      be913e7c
    • Linus Torvalds's avatar
      gcc-15: acpi: sprinkle random '__nonstring' crumbles around · 4b4bd8c5
      Linus Torvalds authored
      
      This is not great: I'd much rather introduce a typedef that is a "ACPI
      name byte buffer", and use that to mark these special 4-byte ACPI names
      that do not use NUL termination.
      
      But as noted in the previous commit ("gcc-15: make 'unterminated string
      initialization' just a warning") gcc doesn't actually seem to support
      that notion, so instead you have to just mark every single array
      declaration individually.
      
      So this is not pretty, but this gets rid of the bulk of the annoying
      warnings during an allmodconfig build for me.
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      4b4bd8c5
    • Linus Torvalds's avatar
      gcc-15: make 'unterminated string initialization' just a warning · d5d45a7f
      Linus Torvalds authored
      
      gcc-15 enabling -Wunterminated-string-initialization in -Wextra by
      default was done with the best intentions, but the warning is still
      quite broken.
      
      What annoys me about the warning is that this is a very traditional AND
      CORRECT way to initialize fixed byte arrays in C:
      
      	unsigned char hex[16] = "0123456789abcdef";
      
      and we use this all over the kernel.  And the warning is fine, but gcc
      developers apparently never made a reasonable way to disable it.  As is
      (sadly) tradition with these things.
      
      Yes, there's "__attribute__((nonstring))", and we have a macro to make
      that absolutely disgusting syntax more palatable (ie the kernel syntax
      for that monstrosity is just "__nonstring").
      
      But that attribute is misdesigned.  What you'd typically want to do is
      tell the compiler that you are using a type that isn't a string but a
      byte array, but that doesn't work at all:
      
      	warning: ‘nonstring’ attribute does not apply to types [-Wattributes]
      
      and because of this fundamental mis-design, you then have to mark each
      instance of that pattern.
      
      This is particularly noticeable in our ACPI code, because ACPI has this
      notion of a 4-byte "type name" that gets used all over, and is exactly
      this kind of byte array.
      
      This is a sad oversight, because the warning is useful, but really would
      be so much better if gcc had also given a sane way to indicate that we
      really just want a byte array type at a type level, not the broken "each
      and every array definition" level.
      
      So now instead of creating a nice "ACPI name" type using something like
      
      	typedef char acpi_name_t[4] __nonstring;
      
      we have to do things like
      
      	char name[ACPI_NAMESEG_SIZE] __nonstring;
      
      in every place that uses this concept and then happens to have the
      typical initializers.
      
      This is annoying me mainly because I think the warning _is_ a good
      warning, which is why I'm not just turning it off in disgust.  But it is
      hampered by this bad implementation detail.
      
      [ And obviously I'm doing this now because system upgrades for me are
        something that happen in the middle of the release cycle: don't do it
        before or during travel, or just before or during the busy merge
        window period. ]
      
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      d5d45a7f
    • Linus Torvalds's avatar
      Merge tag 'mm-hotfixes-stable-2025-04-19-21-24' of... · 6fea5fab
      Linus Torvalds authored
      Merge tag 'mm-hotfixes-stable-2025-04-19-21-24' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm
      
      Pull misc hotfixes from Andrew Morton:
       "16 hotfixes. 2 are cc:stable and the remainder address post-6.14
        issues or aren't considered necessary for -stable kernels.
      
        All patches are basically for MM although five are alterations to
        MAINTAINERS"
      
      [ Basic counting skills are clearly not a strictly necessary requirement
        for kernel maintainers.     - Linus ]
      
      * tag 'mm-hotfixes-stable-2025-04-19-21-24' of git://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm:
        MAINTAINERS: add section for locking of mm's and VMAs
        mm: vmscan: fix kswapd exit condition in defrag_mode
        mm: vmscan: restore high-cpu watermark safety in kswapd
        MAINTAINERS: add Pedro as reviewer to the MEMORY MAPPING section
        mm/memory: move sanity checks in do_wp_page() after mapcount vs. refcount stabilization
        mm, hugetlb: increment the number of pages to be reset on HVO
        writeback: fix false warning in inode_to_wb()
        docs: ABI: replace mcroce@microsoft.com with new Meta address
        mm/gup: fix wrongly calculated returned value in fault_in_safe_writeable()
        MAINTAINERS: add memory advice section
        MAINTAINERS: add mmap trace events to MEMORY MAPPING
        mm: memcontrol: fix swap counter leak from offline cgroup
        MAINTAINERS: add MM subsection for the page allocator
        MAINTAINERS: update SLAB ALLOCATOR maintainers
        fs/dax: fix folio splitting issue by resetting old folio order + _nr_pages
        mm/page_alloc: fix deadlock on cpu_hotplug_lock in __accept_page()
      6fea5fab
  4. Apr 19, 2025
    • Linus Torvalds's avatar
      Merge tag 'vfs-6.15-rc3.fixes.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs · 119009db
      Linus Torvalds authored
      Pull vfs fixes from Christian Brauner:
      
       - Revert the hfs{plus} deprecation warning that's also included in this
         pull request. The commit introducing the deprecation warning resides
         rather early in this branch. So simply dropping it would've rebased
         all other commits which I decided to avoid. Hence the revert in the
         same branch
      
         [ Background - the deprecation warning discussion resulted in people
           stepping up, and so hfs{plus} will have a maintainer taking care of
           it after all..   - Linus ]
      
       - Switch CONFIG_SYSFS_SYCALL default to n and decouple from
         CONFIG_EXPERT
      
       - Fix an audit bug caused by changes to our kernel path lookup helpers
         this cycle. Audit needs the parent path even if the dentry it tried
         to look up is negative
      
       - Ensure that the kernel path lookup helpers leave the passed in path
         argument clean when they return an error. This is consistent with all
         our other helpers
      
       - Ensure that vfs_getattr_nosec() calls bdev_statx() so the relevant
         information is available to kernel consumers as well
      
       - Don't set a timer and call schedule() if the timer will expire
         immediately in epoll
      
       - Make netfs lookup tables with __nonstring
      
      * tag 'vfs-6.15-rc3.fixes.2' of git://git.kernel.org/pub/scm/linux/kernel/git/vfs/vfs:
        Revert "hfs{plus}: add deprecation warning"
        fs: move the bdex_statx call to vfs_getattr_nosec
        netfs: Mark __nonstring lookup tables
        eventpoll: Set epoll timeout if it's in the future
        fs: ensure that *path_locked*() helpers leave passed path pristine
        fs: add kern_path_locked_negative()
        hfs{plus}: add deprecation warning
        Kconfig: switch CONFIG_SYSFS_SYCALL default to n
      119009db
    • Linus Torvalds's avatar
      Merge tag 'i2c-for-6.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux · 6fe81317
      Linus Torvalds authored
      Pull i2c fixes from Wolfram Sang:
      
       - Address translator: fix wrong include
      
       - ChromeOS EC tunnel: fix potential NULL pointer dereference
      
      * tag 'i2c-for-6.15-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/wsa/linux:
        i2c: atr: Fix wrong include
        i2c: cros-ec-tunnel: defer probe if parent EC is not present
      6fe81317
    • Christian Brauner's avatar
      Revert "hfs{plus}: add deprecation warning" · 408e4504
      Christian Brauner authored
      
      This reverts commit ddee68c4.
      
      There's ongoing discussion about better maintenance of at least hfsplus.
      Rever the deprecation warning for now.
      
      Signed-off-by: default avatarChristian Brauner <brauner@kernel.org>
      408e4504
    • Linus Torvalds's avatar
      Merge tag 'trace-v6.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace · fa6ad96d
      Linus Torvalds authored
      Pull tracing fixes from Steven Rostedt:
      
       - Initialize hash variables in ftrace subops logic
      
         The fix that simplified the ftrace subops logic opened a path where
         some variables could be used without being initialized, and done
         subtly where the compiler did not catch it. Initialize those
         variables to the EMPTY_HASH, which is the default hash.
      
       - Reinitialize the hash pointers after they are freed
      
         Some of the hash pointers in the subop logic were freed but may still
         be referenced later. To prevent use-after-free bugs, initialize them
         back to the EMPTY_HASH.
      
       - Free the ftrace hashes when they are replaced
      
         The fix that simplified the subops logic updated some hash pointers,
         but left the original hash that they were pointing to where they are
         no longer used. This caused a memory leak. Free the hashes that are
         pointed to by the pointers when they are replaced.
      
       - Fix size initialization of ftrace direct function hash
      
         The ftrace direct function hash used by BPF initialized the hash size
         incorrectly. It checked the size of items to a hard coded 32, which
         made the hash bit size of 5. The hash size is supposed to be limited
         by the bit size of the hash, as the bitmask is allowed to be greater
         than 5. Rework the size check to first pass the number of elements to
         fls() and then compare that to FTRACE_HASH_MAX_BITS before allocating
         the hash.
      
       - Fix format output of ftrace_graph_ent_entry event
      
         The field depth of the ftrace_graph_ent_entry event is of size 4 but
         the output showed it as unsigned long and use "%lu". Change it to
         unsigned int and use "%u" in the print format that is displayed to
         user space.
      
       - Fix the trace event filter on strings
      
         Events can be filtered on numbers or string values. The return value
         checked from strncpy_from_kernel_nofault() and
         strncpy_from_user_nofault() was used to determine if reading the
         strings would fault or not. It would return fault if the value was
         non zero, which is basically meant that it was always considering the
         read as a fault.
      
       - Add selftest to test trace event string filtering
      
         In order to catch the breakage of the string filtering, add a self
         test to make sure that it continues to work.
      
      * tag 'trace-v6.15-rc2' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace:
        tracing: selftests: Add testing a user string to filters
        tracing: Fix filter string testing
        ftrace: Fix type of ftrace_graph_ent_entry.depth
        ftrace: fix incorrect hash size in register_ftrace_direct()
        ftrace: Free ftrace hashes after they are replaced in the subops code
        ftrace: Reinitialize hash to EMPTY_HASH after freeing
        ftrace: Initialize variables for ftrace_startup/shutdown_subops()
      fa6ad96d
    • Linus Torvalds's avatar
      Merge tag 'nfsd-6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux · 1ca0f935
      Linus Torvalds authored
      Pull nfsd fixes from Chuck Lever:
      
       - v6.15 libcrc clean-up makes invalid configurations possible
      
       - Fix a potential deadlock introduced during the v6.15 merge window
      
      * tag 'nfsd-6.15-1' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux:
        nfsd: decrease sc_count directly if fail to queue dl_recall
        nfs: add missing selections of CONFIG_CRC32
      1ca0f935
    • Linus Torvalds's avatar
      Merge tag 'rust-fixes-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux · 0bd2f269
      Linus Torvalds authored
      Pull rust fixes from Miguel Ojeda:
       "Toolchain and infrastructure:
      
         - Fix missing KASAN LLVM flags on first build (and fix spurious
           rebuilds) by skipping '--target'
      
         - Fix Make < 4.3 build error by using '$(pound)'
      
         - Fix UML build error by removing 'volatile' qualifier from io
           helpers
      
         - Fix UML build error by adding 'dma_{alloc,free}_attrs()' helpers
      
         - Clean gendwarfksyms warnings by avoiding to export '__pfx' symbols
      
         - Clean objtool warning by adding a new 'noreturn' function for
           1.86.0
      
         - Disable 'needless_continue' Clippy lint due to new 1.86.0 warnings
      
         - Add missing 'ffi' crate to 'generate_rust_analyzer.py'
      
        'pin-init' crate:
      
         - Import a couple fixes from upstream"
      
      * tag 'rust-fixes-6.15' of git://git.kernel.org/pub/scm/linux/kernel/git/ojeda/linux:
        rust: helpers: Add dma_alloc_attrs() and dma_free_attrs()
        rust: helpers: Remove volatile qualifier from io helpers
        rust: kbuild: use `pound` to support GNU Make < 4.3
        objtool/rust: add one more `noreturn` Rust function for Rust 1.86.0
        rust: kasan/kbuild: fix missing flags on first build
        rust: disable `clippy::needless_continue`
        rust: kbuild: Don't export __pfx symbols
        rust: pin-init: use Markdown autolinks in Rust comments
        rust: pin-init: alloc: restrict `impl ZeroableOption` for `Box` to `T: Sized`
        scripts: generate_rust_analyzer: Add ffi crate
      0bd2f269
    • Linus Torvalds's avatar
      Merge tag 'drm-fixes-2025-04-19' of https://gitlab.freedesktop.org/drm/kernel · 51c7960b
      Linus Torvalds authored
      Pull drm fixes from Dave Airlie:
       "Easter rc3 pull request, fixes in all the usuals, amdgpu, xe, msm,
        with some i915/ivpu/mgag200/v3d fixes, then a couple of bits in
        dma-buf/gem.
      
        Hopefully has no easter eggs in it.
      
        dma-buf:
         - Correctly decrement refcounter on errors
      
        gem:
         - Fix test for imported buffers
      
        amdgpu:
         - Cleaner shader sysfs fix
         - Suspend fix
         - Fix doorbell free ordering
         - Video caps fix
         - DML2 memory allocation optimization
         - HDP fix
      
        i915:
         - Fix DP DSC configurations that require 3 DSC engines per pipe
      
        xe:
         - Fix LRC address being written too late for GuC
         - Fix notifier vs folio deadlock
         - Fix race betwen dma_buf unmap and vram eviction
         - Fix debugfs handling PXP terminations unconditionally
      
        msm:
         - Display:
             - Fix to call dpu_plane_atomic_check_pipe() for both SSPPs in
               case of multi-rect
             - Fix to validate plane_state pointer before using it in
               dpu_plane_virtual_atomic_check()
             - Fix to make sure dereferencing dpu_encoder_phys happens after
               making sure it is valid in _dpu_encoder_trigger_start()
             - Remove the remaining intr_tear_rd_ptr which we initialized to
               -1 because NO_IRQ indices start from 0 now
         - GPU:
             - Fix IB_SIZE overflow
      
        ivpu:
         - Fix debugging
         - Fixes to frequency
         - Support firmware API 3.28.3
         - Flush jobs upon reset
      
        mgag200:
         - Set vblank start to correct values
      
        v3d:
         - Fix Indirect Dispatch"
      
      * tag 'drm-fixes-2025-04-19' of https://gitlab.freedesktop.org/drm/kernel: (26 commits)
        drm/msm/a6xx+: Don't let IB_SIZE overflow
        drm/xe/pxp: do not queue unneeded terminations from debugfs
        drm/xe/dma_buf: stop relying on placement in unmap
        drm/xe/userptr: fix notifier vs folio deadlock
        drm/xe: Set LRC addresses before guc load
        drm/mgag200: Fix value in <VBLKSTR> register
        drm/gem: Internally test import_attach for imported objects
        drm/amdgpu: Use the right function for hdp flush
        drm/amd/display/dml2: use vzalloc rather than kzalloc
        drm/amdgpu: Add back JPEG to video caps for carrizo and newer
        drm/amdgpu: fix warning of drm_mm_clean
        drm/amd: Forbid suspending into non-default suspend states
        drm/amdgpu: use a dummy owner for sysfs triggered cleaner shaders v4
        drm/i915/dp: Check for HAS_DSC_3ENGINES while configuring DSC slices
        drm/i915/display: Add macro for checking 3 DSC engines
        dma-buf/sw_sync: Decrement refcount on error in sw_sync_ioctl_get_deadline()
        accel/ivpu: Add cmdq_id to job related logs
        accel/ivpu: Show NPU frequency in sysfs
        accel/ivpu: Fix the NPU's DPU frequency calculation
        accel/ivpu: Update FW Boot API to version 3.28.3
        ...
      51c7960b
    • Dave Airlie's avatar
      Merge tag 'drm-msm-fixes-2025-04-18' of https://gitlab.freedesktop.org/drm/msm into drm-fixes · 0467145f
      Dave Airlie authored
      
      Fixes for v6.15-rc3
      
      Display:
      - Fix to call dpu_plane_atomic_check_pipe() for both SSPPs in
        case of multi-rect
      - Fix to validate plane_state pointer before using it in
        dpu_plane_virtual_atomic_check()
      - Fix to make sure dereferencing dpu_encoder_phys happens after
        making sure it is valid in _dpu_encoder_trigger_start()
      - Remove the remaining intr_tear_rd_ptr which we initialized
        to -1 because NO_IRQ indices start from 0 now
      
      GPU:
      - Fix IB_SIZE overflow
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      From: Rob Clark <robdclark@gmail.com>
      Link: https://lore.kernel.org/r/CAF6AEGtVKXEVdzUzFWmQE8JmK3nx_hp+ynOd-5j3vnfcU-sgOA@mail.gmail.com
      0467145f
    • Dave Airlie's avatar
      Merge tag 'drm-xe-fixes-2025-04-18' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-fixes · 3748bef7
      Dave Airlie authored
      
      Driver Changes:
      - Fix LRC address being written too late for GuC
      - Fix notifier vs folio deadlock
      - Fix race betwen dma_buf unmap and vram eviction
      - Fix debugfs handling PXP terminations unconditionally
      
      Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
      
      From: Lucas De Marchi <lucas.demarchi@intel.com>
      Link: https://lore.kernel.org/r/ndinq644zenywaaycxyfqqivsb2xer4z7err3dlpalbz33jfkm@ttabzsg6wnet
      3748bef7
    • Linus Torvalds's avatar
      Merge tag '6.15-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6 · 8560697b
      Linus Torvalds authored
      Pull smb client fixes from Steve French:
      
       - Fix hard link lease key problem when close is deferred
      
       - Revert the socket lockdep/refcount workarounds done in cifs.ko now
         that it is fixed at the socket layer
      
      * tag '6.15-rc2-smb3-client-fixes' of git://git.samba.org/sfrench/cifs-2.6:
        Revert "smb: client: fix TCP timers deadlock after rmmod"
        Revert "smb: client: Fix netns refcount imbalance causing leaks and use-after-free"
        smb3 client: fix open hardlink on deferred close file error
      8560697b
  5. Apr 18, 2025
Loading