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.