All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Danilo Krummrich" <dakr@kernel.org>
To: "Linus Torvalds" <torvalds@linux-foundation.org>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
	"Rafael J. Wysocki" <rafael@kernel.org>,
	"Johan Hovold" <johan@kernel.org>,
	"Saravana Kannan" <saravanak@kernel.org>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	<driver-core@lists.linux.dev>, <rust-for-linux@vger.kernel.org>,
	<linux-kernel@vger.kernel.org>
Subject: [GIT PULL] Driver core changes for 7.4-rc1
Date: Sat, 17 Oct 2026 13:36:54 +0200	[thread overview]
Message-ID: <DM72ZY5B2CHK.3CEOSQUBXTAHQ@kernel.org> (raw)

Hi Linus,

Please pull these driver-core changes.

All commits have been in linux-next (no conflicts expected); two signed tags for
Rust I/O and DMA changes have been shared with other trees.

Thanks,
Danilo

The following changes since commit 72d3fcf802c45d00b300f25b848a93c3a2bd7c7e:

  Linux 7.3-rc5 (2026-09-27 13:55:01 -0700)

are available in the Git repository at:

  git://git.kernel.org/pub/scm/linux/kernel/git/driver-core/driver-core.git tags/driver-core-7.4-rc1

for you to fetch changes up to d4ffc4896b3e709c6a5d7e5a78a1fddfc774fa25:

  rust: pci: add extended capability and SR-IOV support (2026-10-13 01:12:58 +0200)

----------------------------------------------------------------
Driver core changes for 7.4-rc1

- core:

  - Add TAINT_FORCED_BIND to taint the kernel and driver module before manual
    sysfs bind/unbind operations; make add_taint_module() available to
    driver core and update taint decoding tools and documentation

  - Constify device_show/store_*() attribute parameters and adapt x86 MCE and
    perf users to prepare for const dev_ext_attribute instances

  - Fix UAF in NUMA access node registration failure handling by dropping
    the device reference with put_device() instead of directly freeing the node

- debugfs:

  - Make debugfs_create_str() read-only to eliminate double-free races between
    concurrent writers; reject writable modes; convert interconnect and
    SoundWire users to local file operations with mutex-protected strings

- kobject:

  - Fix out-of-bounds access in kobject_action_type() when parsing action
    strings containing embedded NUL bytes

  - Fix the kobject_set_name() reference in kset_register() kernel-doc

- Rust:

  - DMA:

    - Tie Coherent, CoherentBox and CoherentHandle to the device's bound
      lifetime to prevent retaining DMA allocations beyond driver unbind;
      propagate the lifetime through nova-core and the DMA sample driver

  - I/O:

    - Require explicit base types for registers and replace relative registers
      with typed subregion projections; reimplement register!() as a proc
      macro, support registers using existing types without inline bitfields,
      and convert nova-core, Tyr and the PCI sample; add AsRepr/AsReprMut and
      transmute helpers with deferred size checks for representation
      conversions

    - Wrap ResourceSize in a transparent newtype with explicit conversions,
      including checked conversion to usize

  - PCI:

    - Add typed PCIe extended capability lookup and SR-IOV accessors for the
      First VF Offset and decoded VF BAR addresses and widths, keeping raw
      SR-IOV registers private to preserve PCI core ownership of their state

  - scatterlist:

    - Honor the device's maximum segment size as well as the DMA mapping limit
      when constructing SG tables

    - Return u32 from SGEntry::dma_len() to match the C segment length type

  - misc:

    - Validate auxiliary DeviceId name length explicitly to improve
      compile-time diagnostics for oversized device ID table entries

    - Drop unnecessary 'static bounds from debugfs ScopedDir file creation
      methods to support data containing non-'static references, including DMA
      buffers

- misc:

  - Add Johan Hovold as driver core maintainer

  - Simplify platform_device_alloc() by returning early on allocation failure

  - Fix typos in driver core and kernfs comments

----------------------------------------------------------------
Cezary Rojewski (1):
      driver core: platform: Simplify platform_device_alloc()

Danilo Krummrich (7):
      rust: debugfs: drop 'static bound from ScopedDir file creation methods
      rust: dma: tie CoherentHandle to the device's bound lifetime
      samples: rust_dma: separate driver type from driver data
      rust: dma: tie Coherent and CoherentBox to the device's bound lifetime
      Merge patch series "rust: io: support register projections and remove relative registers"
      Merge patch series "rust: dma: tie DMA allocations to the device's bound lifetime"
      Merge tag 'v7.3-rc5' into driver-core-next

Gary Guo (16):
      rust: io: register: reimplement as proc macro
      rust: mem: add `transmute` with deferred size check
      rust: mem: add `AsRepr` and `AsReprMut`
      rust: io: perform conversions using `AsRepr`
      rust: io: support register projections
      rust: io: register: allow explicit base type specification
      gpu: nova-core: specify base type for registers
      drm/tyr: specify base type for registers
      samples: rust: pci: specify base type for registers
      rust: io: register: make register have a typed base
      rust: io: register: support fixed offset register without bitfield
      gpu: nova-core: use projection for PFALCON and PFALCON2 registers
      gpu: nova-core: convert hshub0 from relative register to projection
      rust: io: register: remove relative registers
      rust: io: register: remove `Register` trait and cleanup macro
      rust: io: register: unify handling of register with/without bitfields

Georgios Androutsopoulos (1):
      rust: auxiliary: validate DeviceId name length

Greg Kroah-Hartman (4):
      Merge 7.3-rc2 into driver-core-next
      module: pull out add_taint_module() to be public
      module: fix up documentation for add_taint() and add_taint_module()
      driver core: add TAINT_FORCED_BIND for when userspace manually messes with devices and drivers

Hemanth Selam (1):
      driver core: fix typos in comments

Jiacheng Xu (1):
      kobject: fix out-of-bounds access in kobject_action_type()

Johan Hovold (1):
      MAINTAINERS: add myself as driver core maintainer

Karl Mehltretter (1):
      kobject: Fix the kobj_set_name reference in kset_register() kernel-doc

Linkai Gong (1):
      drivers/base/node: fix UAF on device_register() failure

Lorenzo Delgado (2):
      rust: scatterlist: return u32 from SGEntry::dma_len()
      rust: io: convert ResourceSize into a transparent newtype

Matteo Kloiber (1):
      rust: scatterlist: honor the device's maximum segment size

Thomas Weißschuh (3):
      x86/mce: Use __DEVICE_ATTR() macro to initialize dev_ext_attribute
      drivers: perf: Use __DEVICE_ATTR() macro to initialize dev_ext_attribute
      driver core: Constify the signature of device_show/store_*()

Uwe Kleine-König (1):
      docs: admin-guide: Handle TAINT_FORCED_BIND when parsing /proc/sys/kernel/tainted

Yichong Chen (3):
      interconnect: debugfs: replace writable string helper
      soundwire: debugfs: replace writable string helper
      debugfs: make debugfs_create_str() read-only

Zhi Wang (1):
      rust: pci: add extended capability and SR-IOV support

 Documentation/admin-guide/tainted-kernels.rst      |  54 ++--
 MAINTAINERS                                        |   2 +
 arch/powerpc/perf/hv-24x7.c                        |   2 +-
 arch/x86/kernel/cpu/mce/core.c                     |   6 +-
 drivers/base/bus.c                                 |   3 +
 drivers/base/core.c                                |  30 +-
 drivers/base/node.c                                |  17 +-
 drivers/base/platform.c                            |  19 +-
 drivers/base/property.c                            |   2 +-
 drivers/base/transport_class.c                     |   2 +-
 drivers/gpu/drm/tyr/driver.rs                      |   1 +
 drivers/gpu/drm/tyr/fw.rs                          |   5 +-
 drivers/gpu/drm/tyr/regs.rs                        |  45 ++-
 drivers/gpu/drm/tyr/vm.rs                          |   1 -
 drivers/gpu/nova-core/driver.rs                    |   1 +
 drivers/gpu/nova-core/falcon.rs                    | 163 +++++-----
 drivers/gpu/nova-core/falcon/fsp.rs                |  63 ++--
 drivers/gpu/nova-core/falcon/gsp.rs                |  51 +--
 drivers/gpu/nova-core/falcon/hal/ga102.rs          |  59 ++--
 drivers/gpu/nova-core/falcon/hal/tu102.rs          |   9 +-
 drivers/gpu/nova-core/falcon/sec2.rs               |  37 ++-
 drivers/gpu/nova-core/fb.rs                        |   4 +-
 drivers/gpu/nova-core/fb/hal/gb100.rs              |  59 ++--
 drivers/gpu/nova-core/fb/regs.rs                   |  34 +-
 drivers/gpu/nova-core/firmware/booter.rs           |   2 +-
 drivers/gpu/nova-core/firmware/fsp.rs              |   8 +-
 drivers/gpu/nova-core/firmware/fwsec/bootloader.rs |  30 +-
 drivers/gpu/nova-core/firmware/gsp.rs              |  14 +-
 drivers/gpu/nova-core/firmware/riscv.rs            |   8 +-
 drivers/gpu/nova-core/fsp.rs                       |  20 +-
 drivers/gpu/nova-core/gpu.rs                       |   4 +-
 drivers/gpu/nova-core/gsp.rs                       |  30 +-
 drivers/gpu/nova-core/gsp/boot.rs                  |  10 +-
 drivers/gpu/nova-core/gsp/cmdq.rs                  |  35 +-
 drivers/gpu/nova-core/gsp/commands.rs              |   2 +-
 drivers/gpu/nova-core/gsp/fw.rs                    |  12 +-
 drivers/gpu/nova-core/gsp/hal.rs                   |  14 +-
 drivers/gpu/nova-core/gsp/hal/gh100.rs             |  16 +-
 drivers/gpu/nova-core/gsp/hal/tu102.rs             |  41 ++-
 drivers/gpu/nova-core/gsp/regs.rs                  |   9 +-
 drivers/gpu/nova-core/gsp/sequencer.rs             |   6 +-
 drivers/gpu/nova-core/regs.rs                      | 115 ++++---
 drivers/gpu/nova-core/vbios.rs                     |  11 +-
 drivers/interconnect/debugfs-client.c              |  81 ++++-
 drivers/perf/alibaba_uncore_drw_pmu.c              |   2 +-
 drivers/perf/arm-cci.c                             |   2 +-
 drivers/perf/arm-ccn.c                             |   2 +-
 drivers/perf/arm_cspmu/arm_cspmu.h                 |   2 +-
 drivers/perf/arm_dsu_pmu.c                         |   2 +-
 drivers/perf/arm_spe_pmu.c                         |   6 +-
 drivers/perf/cxl_pmu.c                             |  10 +-
 drivers/perf/fsl_imx8_ddr_perf.c                   |   2 +-
 drivers/perf/fujitsu_uncore_pmu.c                  |   2 +-
 drivers/perf/hisilicon/hisi_pcie_pmu.c             |   2 +-
 drivers/perf/hisilicon/hisi_uncore_pmu.h           |   6 +-
 drivers/perf/hisilicon/hns3_pmu.c                  |   6 +-
 drivers/perf/nvidia_t410_c2c_pmu.c                 |   2 +-
 drivers/perf/nvidia_t410_cmem_latency_pmu.c        |  12 +-
 drivers/perf/qcom_l3_pmu.c                         |   8 +-
 drivers/perf/starfive_starlink_pmu.c               |   2 +-
 drivers/perf/xgene_pmu.c                           |   2 +-
 drivers/soundwire/debugfs.c                        |  63 +++-
 fs/debugfs/file.c                                  |  81 +----
 include/linux/device.h                             |  14 +-
 include/linux/kernfs.h                             |   2 +-
 include/linux/module.h                             |  10 +
 include/linux/panic.h                              |   3 +-
 include/trace/events/module.h                      |   3 +-
 kernel/module/main.c                               |  17 +-
 kernel/panic.c                                     |  10 +-
 lib/kobject.c                                      |   2 +-
 lib/kobject_uevent.c                               |   2 +-
 rust/helpers/dma.c                                 |   5 +
 rust/helpers/pci.c                                 |   5 +
 rust/kernel/auxiliary.rs                           |   8 +
 rust/kernel/bitfield.rs                            |   9 +
 rust/kernel/debugfs.rs                             |  26 +-
 rust/kernel/debugfs/entry.rs                       |   4 +-
 rust/kernel/debugfs/file_ops.rs                    |  29 +-
 rust/kernel/device_id.rs                           |   3 +-
 rust/kernel/dma.rs                                 | 141 ++++----
 rust/kernel/io.rs                                  | 255 +++++++++++----
 rust/kernel/io/register.rs                         | 759 ++++++++++----------------------------------
 rust/kernel/io/resource.rs                         |   6 +-
 rust/kernel/lib.rs                                 |   1 +
 rust/kernel/mem.rs                                 | 234 ++++++++++++++
 rust/kernel/pci.rs                                 |   8 +
 rust/kernel/pci/cap.rs                             | 292 +++++++++++++++++
 rust/kernel/scatterlist.rs                         |  23 +-
 rust/kernel/sync/atomic.rs                         |   4 +-
 rust/kernel/uaccess.rs                             |   4 +-
 rust/macros/io/mod.rs                              |   3 +
 rust/macros/io/register.rs                         | 296 +++++++++++++++++
 rust/macros/lib.rs                                 |   9 +
 samples/rust/rust_dma.rs                           |  30 +-
 samples/rust/rust_driver_pci.rs                    |   4 +
 tools/debugging/kernel-chktaint                    |   8 +
 97 files changed, 2153 insertions(+), 1427 deletions(-)
 create mode 100644 rust/kernel/mem.rs
 create mode 100644 rust/kernel/pci/cap.rs
 create mode 100644 rust/macros/io/mod.rs
 create mode 100644 rust/macros/io/register.rs

                 reply	other threads:[~2026-10-17 11:36 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=DM72ZY5B2CHK.3CEOSQUBXTAHQ@kernel.org \
    --to=dakr@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=driver-core@lists.linux.dev \
    --cc=gregkh@linuxfoundation.org \
    --cc=johan@kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=rafael@kernel.org \
    --cc=rust-for-linux@vger.kernel.org \
    --cc=saravanak@kernel.org \
    --cc=torvalds@linux-foundation.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.