lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <Z5kokYUDYEO2Cknj@kroah.com>
Date: Tue, 28 Jan 2025 19:57:21 +0100
From: Greg KH <gregkh@...uxfoundation.org>
To: Linus Torvalds <torvalds@...ux-foundation.org>,
	Andrew Morton <akpm@...ux-foundation.org>
Cc: linux-kernel@...r.kernel.org, Stephen Rothwell <sfr@...b.auug.org.au>,
	Al Viro <viro@...iv.linux.org.uk>
Subject: [GIT PULL] Driver core / debugfs updates for 6.14-rc1

The following changes since commit 5bc55a333a2f7316b58edc7573e8e893f7acb532:

  Linux 6.13-rc7 (2025-01-12 14:37:56 -0800)

are available in the Git repository at:

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

for you to fetch changes up to 01b3cb620815fc3feb90ee117d9445a5b608a9f7:

  rust: device: Use as_char_ptr() to avoid explicit cast (2025-01-16 11:07:27 +0100)

----------------------------------------------------------------
Driver core and debugfs updates

Here is the big set of driver core and debugfs updates for 6.14-rc1.
It's coming late in the merge cycle as there are a number of merge
conflicts with your tree now, and I wanted to make sure they were
working properly.  To resolve them, look in linux-next, and I will send
the "fixup" patch as a response to the pull request.

Included in here is a bunch of driver core, PCI, OF, and platform rust
bindings (all acked by the different subsystem maintainers), hence the
merge conflict with the rust tree, and some driver core api updates to
mark things as const, which will also require some fixups due to new
stuff coming in through other trees in this merge window.

There are also a bunch of debugfs updates from Al, and there is at least
one user that does have a regression with these, but Al is working on
tracking down the fix for it.  In my use (and everyone else's linux-next
use), it does not seem like a big issue at the moment.

Here's a short list of the things in here:
  - driver core bindings for PCI, platform, OF, and some i/o functions.
    We are almost at the "write a real driver in rust" stage now,
    depending on what you want to do.
  - misc device rust bindings and a sample driver to show how to use
    them
  - debugfs cleanups in the fs as well as the users of the fs api for
    places where drivers got it wrong or were unnecessarily doing things
    in complex ways.
  - driver core const work, making more of the api take const * for
    different parameters to make the rust bindings easier overall.
  - other small fixes and updates

All of these have been in linux-next with all of the aforementioned
merge conflicts, and the one debugfs issue, which looks to be resolved
"soon".

Signed-off-by: Greg Kroah-Hartman <gregkh@...uxfoundation.org>

----------------------------------------------------------------
Al Viro (21):
      debugfs: separate cache for debugfs inodes
      debugfs: move ->automount into debugfs_inode_info
      debugfs: get rid of dynamically allocation proxy_ops
      debugfs: don't mess with bits in ->d_fsdata
      debugfs: allow to store an additional opaque pointer at file creation
      debugfs: take debugfs_short_fops definition out of ifdef
      carl9170: stop embedding file_operations into their objects
      b43: stop embedding struct file_operations into their objects
      b43legacy: make use of debugfs_get_aux()
      netdevsim: don't embed file_operations into your structs
      mediatek: stop messing with ->d_iname
      greybus/camera - stop messing with ->d_iname
      mtu3: don't mess wiht ->d_iname
      xhci: don't mess with ->d_iname
      qat: don't mess with ->d_name
      sof-client-ipc-flood-test: don't mess with ->d_name
      slub: don't mess with ->d_name
      arm_scmi: don't mess with ->d_parent->d_name
      octeontx2: don't mess with ->d_parent or ->d_parent->d_name
      orangefs-debugfs: don't mess with ->d_name
      saner replacement for debugfs_rename()

Alice Ryhl (4):
      rust: miscdevice: access file in fops
      rust: miscdevice: access the `struct miscdevice` from fops->open()
      rust: miscdevice: add fops->show_fdinfo() hook
      miscdevice: rust: use build_error! macro instead of function

Bartosz Golaszewski (1):
      mux: constify mux class

Brian Norris (4):
      drivers: base: Don't match devices with NULL of_node/fwnode/etc
      drivers: base: test: Enable device model tests with KUNIT_ALL_TESTS
      drivers: base: test: Add ...find_device_by...(... NULL) tests
      kunit: platform: Resolve 'struct completion' warning

Danilo Krummrich (19):
      rust: module: add trait `ModuleMetadata`
      rust: implement generic driver registration
      rust: implement `IdArray`, `IdTable` and `RawDeviceId`
      rust: types: add `Opaque::pin_init`
      rust: add `io::{Io, IoRaw}` base types
      rust: add devres abstraction
      rust: pci: add basic PCI device / driver abstractions
      rust: pci: implement I/O mappable `pci::Bar`
      samples: rust: add Rust PCI sample driver
      rust: of: add `of::DeviceId` abstraction
      rust: driver: implement `Adapter`
      rust: platform: add basic platform device / driver abstractions
      samples: rust: add Rust platform sample driver
      MAINTAINERS: add Danilo to DRIVER CORE
      rust: pci: do not depend on CONFIG_PCI_MSI
      rust: io: move module entry to its correct location
      rust: driver: address soundness issue in `RegistrationOps`
      devres: add devm_remove_action_nowarn()
      rust: devres: remove action in `Devres::drop`

Dr. David Alan Gilbert (1):
      kobject: Remove unused functions

Greg Kroah-Hartman (1):
      Merge 6.13-rc7 into driver-core-next

Heiner Kallweit (1):
      drivers: core: remove device_link argument from class_compat_[create|remove]_link

Kunwu Chan (1):
      ARM: riscpc: make ecard_bus_type constant

Lee Jones (6):
      rust: miscdevice: Provide accessor to pull out miscdevice::this_device
      Documentation: ioctl-number: Carve out some identifiers for use by sample drivers
      samples: rust: Provide example using the new Rust MiscDevice abstraction
      samples: rust_misc_device: Demonstrate additional get/set value functionality
      MAINTAINERS: Add Rust Misc Sample to MISC entry
      samples: rust_misc_device: Provide an example C program to exercise functionality

Randy Dunlap (1):
      devcoredump: cleanup some comments

Ricardo B. Marliere (1):
      bus: fsl-mc: constify the struct device_type usage

Thomas Weißschuh (10):
      kheaders: Simplify attribute through __BIN_ATTR_SIMPLE_RO()
      kernel/ksysfs.c: simplify bin_attribute definition
      MAINTAINERS: add include/linux/sysfs.h
      sysfs: constify macro BIN_ATTRIBUTE_GROUPS()
      sysfs: constify bin_attribute argument of sysfs_bin_attr_simple_read()
      btf: Switch vmlinux BTF attribute to sysfs_bin_attr_simple_read()
      btf: Switch module BTF attribute to sysfs_bin_attr_simple_read()
      firmware_loader: Constify 'struct bin_attribute'
      devcoredump: Define 'struct bin_attribute' through macro
      devcoredump: Constify 'struct bin_attribute'

Viresh Kumar (3):
      rust: device: Add property_present()
      rust: device: Replace CString with CStr in property_present()
      rust: device: Use as_char_ptr() to avoid explicit cast

Wedson Almeida Filho (2):
      rust: add rcu abstraction
      rust: add `Revocable` type

Zijun Hu (20):
      libnvdimm: Replace namespace_match() with device_find_child_by_name()
      slimbus: core: Constify slim_eaddr_equal()
      bus: fsl-mc: Constify fsl_mc_device_match()
      driver core: Constify API device_find_child() and adapt for various usages
      driver core: Simplify API device_find_child_by_name() implementation
      driver core: Remove match_any()
      slimbus: core: Remove of_slim_match_dev()
      gpio: sim: Remove gpio_sim_dev_match_fwnode()
      driver core: Introduce an device matching API device_match_type()
      cxl/pmem: Replace match_nvdimm_bridge() with API device_match_type()
      cxl/pmem: Remove is_cxl_nvdimm_bridge()
      usb: typec: class: Remove both cable_match() and partner_match()
      driver core: class: Fix wild pointer dereferences in API class_dev_iter_next()
      blk-cgroup: Fix class @block_class's subsystem refcount leakage
      driver core: Move true expression out of if condition in 3 device finding APIs
      driver core: Rename declaration parameter name for API device_find_child() cluster
      driver core: Correct parameter check for API device_for_each_child_reverse_from()
      driver core: Correct API device_for_each_child_reverse_from() prototype
      driver core: Introduce device_iter_t for device iterating APIs
      driver core: Move two simple APIs for finding child device to header

 Documentation/filesystems/debugfs.rst              |  12 +-
 Documentation/userspace-api/ioctl/ioctl-number.rst |   1 +
 MAINTAINERS                                        |  12 +
 arch/arm/include/asm/ecard.h                       |   2 +-
 arch/arm/mach-rpc/ecard.c                          |   2 +-
 arch/powerpc/platforms/powernv/opal.c              |   2 +-
 arch/sparc/kernel/vio.c                            |   6 +-
 block/blk-cgroup.c                                 |   1 +
 drivers/base/bus.c                                 |   9 +-
 drivers/base/class.c                               |  42 +-
 drivers/base/core.c                                |  83 ++--
 drivers/base/devcoredump.c                         |  22 +-
 drivers/base/devres.c                              |  23 +-
 drivers/base/driver.c                              |   9 +-
 drivers/base/firmware_loader/sysfs.c               |  14 +-
 drivers/base/test/Kconfig                          |   1 +
 drivers/base/test/platform-device-test.c           |  41 +-
 drivers/block/sunvdc.c                             |   6 +-
 drivers/bus/fsl-mc/dprc-driver.c                   |   8 +-
 drivers/bus/fsl-mc/fsl-mc-bus.c                    |  36 +-
 .../crypto/intel/qat/qat_common/adf_tl_debugfs.c   |  36 +-
 drivers/cxl/core/hdm.c                             |   2 +-
 drivers/cxl/core/pci.c                             |   4 +-
 drivers/cxl/core/pmem.c                            |  15 +-
 drivers/cxl/core/region.c                          |  23 +-
 drivers/cxl/cxl.h                                  |   1 -
 drivers/firewire/core-device.c                     |   4 +-
 drivers/firmware/arm_scmi/bus.c                    |   4 +-
 drivers/firmware/arm_scmi/raw_mode.c               |  12 +-
 drivers/firmware/efi/dev-path-parser.c             |   4 +-
 drivers/gpio/gpio-sim.c                            |   7 +-
 drivers/gpu/drm/mediatek/mtk_drm_drv.c             |   2 +-
 drivers/hwmon/hwmon.c                              |   2 +-
 drivers/media/pci/mgb4/mgb4_core.c                 |   4 +-
 drivers/mux/core.c                                 |   2 +-
 drivers/net/bonding/bond_debugfs.c                 |   9 +-
 drivers/net/ethernet/amd/xgbe/xgbe-debugfs.c       |  19 +-
 .../ethernet/marvell/octeontx2/af/rvu_debugfs.c    |  76 ++--
 drivers/net/ethernet/marvell/skge.c                |   5 +-
 drivers/net/ethernet/marvell/sky2.c                |   5 +-
 drivers/net/ethernet/stmicro/stmmac/stmmac_main.c  |   6 +-
 drivers/net/netdevsim/hwstats.c                    |  29 +-
 drivers/net/wireless/ath/carl9170/debug.c          |  28 +-
 drivers/net/wireless/broadcom/b43/debugfs.c        |  27 +-
 drivers/net/wireless/broadcom/b43legacy/debugfs.c  |  26 +-
 drivers/nvdimm/bus.c                               |   2 +-
 drivers/nvdimm/claim.c                             |   9 +-
 drivers/of/unittest-data/tests-platform.dtsi       |   5 +
 drivers/opp/debugfs.c                              |  10 +-
 drivers/phy/mediatek/phy-mtk-tphy.c                |  40 +-
 drivers/pwm/core.c                                 |   2 +-
 drivers/rpmsg/rpmsg_core.c                         |   4 +-
 drivers/s390/cio/chp.c                             |  28 +-
 drivers/scsi/qla4xxx/ql4_os.c                      |   3 +-
 drivers/scsi/scsi_transport_iscsi.c                |  10 +-
 drivers/slimbus/core.c                             |  17 +-
 drivers/staging/greybus/camera.c                   |  17 +-
 drivers/thunderbolt/retimer.c                      |   2 +-
 drivers/thunderbolt/xdomain.c                      |   2 +-
 drivers/tty/serial/serial_core.c                   |   4 +-
 drivers/usb/host/xhci-debugfs.c                    |  25 +-
 drivers/usb/mtu3/mtu3_debugfs.c                    |  40 +-
 drivers/usb/typec/class.c                          |  31 +-
 drivers/vfio/mdev/mdev_core.c                      |   4 +-
 fs/debugfs/file.c                                  | 165 ++++----
 fs/debugfs/inode.c                                 | 202 +++++-----
 fs/debugfs/internal.h                              |  48 ++-
 fs/orangefs/orangefs-debugfs.c                     |  16 +-
 fs/sysfs/file.c                                    |   2 +-
 include/kunit/platform_device.h                    |   1 +
 include/linux/debugfs.h                            |  44 ++-
 include/linux/device.h                             |  66 +++-
 include/linux/device/bus.h                         |   8 +-
 include/linux/device/class.h                       |  10 +-
 include/linux/device/driver.h                      |   2 +-
 include/linux/fsl/mc.h                             |  30 +-
 include/linux/kobject_ns.h                         |   2 -
 include/linux/sysfs.h                              |   6 +-
 include/scsi/scsi_transport_iscsi.h                |   4 +-
 kernel/bpf/btf.c                                   |  15 +-
 kernel/bpf/sysfs_btf.c                             |  12 +-
 kernel/kheaders.c                                  |  19 +-
 kernel/ksysfs.c                                    |  21 +-
 kernel/module/sysfs.c                              |   2 +-
 lib/kobject.c                                      |  24 --
 mm/shrinker_debug.c                                |  16 +-
 mm/slub.c                                          |  13 +-
 net/dsa/dsa.c                                      |   2 +-
 net/hsr/hsr_debugfs.c                              |   9 +-
 net/mac80211/debugfs_netdev.c                      |  11 +-
 net/wireless/core.c                                |   5 +-
 rust/bindings/bindings_helper.h                    |   4 +
 rust/helpers/device.c                              |  10 +
 rust/helpers/helpers.c                             |   5 +
 rust/helpers/io.c                                  | 101 +++++
 rust/helpers/pci.c                                 |  18 +
 rust/helpers/platform.c                            |  13 +
 rust/helpers/rcu.c                                 |  13 +
 rust/kernel/device.rs                              |   7 +
 rust/kernel/device_id.rs                           | 165 ++++++++
 rust/kernel/devres.rs                              | 201 ++++++++++
 rust/kernel/driver.rs                              | 188 +++++++++
 rust/kernel/io.rs                                  | 260 ++++++++++++
 rust/kernel/lib.rs                                 |  20 +
 rust/kernel/miscdevice.rs                          | 104 ++++-
 rust/kernel/of.rs                                  |  60 +++
 rust/kernel/pci.rs                                 | 434 +++++++++++++++++++++
 rust/kernel/platform.rs                            | 200 ++++++++++
 rust/kernel/revocable.rs                           | 219 +++++++++++
 rust/kernel/sync.rs                                |   1 +
 rust/kernel/sync/rcu.rs                            |  47 +++
 rust/kernel/types.rs                               |  11 +
 rust/macros/module.rs                              |   4 +
 samples/rust/Kconfig                               |  31 ++
 samples/rust/Makefile                              |   3 +
 samples/rust/rust_driver_pci.rs                    | 110 ++++++
 samples/rust/rust_driver_platform.rs               |  49 +++
 samples/rust/rust_misc_device.rs                   | 238 +++++++++++
 sound/soc/sof/sof-client-ipc-flood-test.c          |  39 +-
 tools/testing/cxl/test/cxl.c                       |   2 +-
 120 files changed, 3256 insertions(+), 995 deletions(-)
 create mode 100644 rust/helpers/device.c
 create mode 100644 rust/helpers/io.c
 create mode 100644 rust/helpers/pci.c
 create mode 100644 rust/helpers/platform.c
 create mode 100644 rust/helpers/rcu.c
 create mode 100644 rust/kernel/device_id.rs
 create mode 100644 rust/kernel/devres.rs
 create mode 100644 rust/kernel/driver.rs
 create mode 100644 rust/kernel/io.rs
 create mode 100644 rust/kernel/of.rs
 create mode 100644 rust/kernel/pci.rs
 create mode 100644 rust/kernel/platform.rs
 create mode 100644 rust/kernel/revocable.rs
 create mode 100644 rust/kernel/sync/rcu.rs
 create mode 100644 samples/rust/rust_driver_pci.rs
 create mode 100644 samples/rust/rust_driver_platform.rs
 create mode 100644 samples/rust/rust_misc_device.rs

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ