mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [GIT PULL] Driver core changes for 7.4-rc1
@ 2026-10-17 11:36 Danilo Krummrich
  0 siblings, 0 replies; only message in thread
From: Danilo Krummrich @ 2026-10-17 11:36 UTC (permalink / raw)
  To: Linus Torvalds
  Cc: Greg Kroah-Hartman, Rafael J. Wysocki, Johan Hovold,
	Saravana Kannan, Andrew Morton, driver-core, rust-for-linux,
	linux-kernel

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-10-17 11:36 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-10-17 11:36 [GIT PULL] Driver core changes for 7.4-rc1 Danilo Krummrich

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®