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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®