full details available in the signed tag.
You will see an immediate conflict in init/Kconfig between
eb13a1ff271b ("random: vDSO: avoid call to memset() when zeroing reserved parameter")
that went into 7.3-rc6 and
f85147b291e3 ("kbuild: move the toolchain checks into scripts/Kconfig.toolchain")
in my tree. The solution in init/Kconfig should be obvious but make sure
to reapply eb13a1ff271b in scripts/Kconfig.toolchain, which I have been
doing in -next easily with:
$ git show eb13a1ff271b init/Kconfig | sed 's;init/Kconfig;scripts/Kconfig.toolchain;g' | git apply -3v
My latest merge is at
for reference if necessary.
There are a few other conflicts that I have been notified about in
-next, which all appear to be minor.
- Makefile from the rust tree:
https://lore.kernel.org/[email protected]/
- drivers/firmware/efi/libstub/Makefile from the efi tree:
https://lore.kernel.org/[email protected]/
- scripts/kallsyms.c from the -mm tree:
https://lore.kernel.org/[email protected]/
- scripts/remove-stale-files from the rust tree:
https://lore.kernel.org/[email protected]/
If there are any issues or concerns, please let me know.
Cheers,
Nathan
Kbuild / Kconfig updates for 7.4
Kbuild:
- Suppress compiler flags in debug info for external module builds
- Use '-fmacro-prefix-map' in more places in the build
- Merge initial set of changes from Lorenzo's speed up series, along
with some fixes found through testing
- Avoid allocating .modinfo in vmlinux
- Speed up kallsyms by indexing symbols by token and outputting binary
data to disk directly then including in assembly via .incbin
- Don't sort $(NM) output when unnecessary
- Only emit relocations on the final vmlinx link
- Reimplement mksysmap in C
- Move many cc-option and ld-option calls into the Kconfig stage to
cache their results
- Use pigz for gzip compression when available
- Move gen_init_cpio and gen_initramfs.sh from usr/ to scripts/
- Add a TOML configuration to scripts/container and update documentation
accordingly
- Add a generic, opt-in mechanism for checking that headers can compile
standalone
- Update machine function splitting argument for LLVM 24 rename in
AutoFDO build
- Miscellaneous minor clean ups, fixes, and hardening, mostly
found/fixed via LLMs
Kconfig:
- Turn recursive ranges into an error
- Fix savedefconfig for defaults that were adjusted for being out of
range and revert a previously applied workaround
- Improvements and hardening around integer and hexadecimal values
- Emit a warning when selecting or implying a choice symbol, which has no
effect
- Emit a warning when KCONFIG_PROBABILITY is malformed
- Introduce def_string / def_int / def_hex to mirror the existing
def_bool / def_tristate to succinctly set a value and type at the same
time.
- Add cc-option-str and ld-option-str macros to act like Kbuild's
cc-option and ld-option, returning the string when the option is
supported, allowing many checks to be moved into Kconfig
- Minor usability improvements to Kconfig tests
Signed-off-by: Nathan Chancellor <[email protected]>
Once the merge window opens, please pull this RCU update: RCU updates: Execution contexts and call_rcu() and call_srcu(): * Make call_rcu() and call_srcu invocable from NMI handlers and while holding scheduler locks (using irq-work handlers). * Add rcutorture and BPF tests calling these functions from these contexts. * Disable rcutorture overload testing for RCU readers that are "fragile", that is, that do not either disable preemption or have some form of RCU priority boosting. SRCU updates: * Add an atomic SRCU where readers run with preemption disabled and grace periods can be invoked from atomic contexts. David Woodhouse has a patch series exploiting this for GPC. * Add torture and lockdep tests for atomic SRCU. * Add numerous optimizations for atomic SRCU based on the fact that it does not have callbacks, for example, eliminating any transition to "big" srcu_struct structures even on systems that configure these to happen at initialization time. Additional torture-test updates: * Fix a divide-by-zero bug in forward-progress testing. * Synchronously wait for all IRQ-queued callbacks to complete. * Allow alternative "ssh" commands to be specified for use by kvm-remote.sh. * Fix kvm-again.sh re-run failure on PowerPC. * Add additional lockdep testing for atomic SRCU. * Fix error double-counting in srcu_lockdep.sh. * Add atomic SRCU cross-CPU IRQ context mismatch testing, with the * trick being that the atomic SRCU readers context must be at least as strict as that of the atomic SRCU grace-period wait. So for example, if the readers have IRQs disabled, so must the grace-period wait. Miscellaneous updates: * Update stallwarn.rst documentation for the re-implementation of RCU Tasks Trace in terms of SRCU. * Fix the lazy-callback shrink scanner budget computation so that it honors the reclaim budget. * Avoid panicking on RCU CPU stalls that end before the warning can be printed. * Add "running" and "boosted" indications to the RCU task stall warning output. * People have been (incorrectly) relying on rcu_barrier() to wait for kfree_rcu() callbacks and processing. But it turns out to be easier to fix rcu_barrier() to meet their expectations than to fix their code to live within the earlier rcu_barrier() specification. So rcu_barrier() now waits on kfree_rcu() callbacks and processing. * Disable RCU Tasks console output that track when this RCU flavor switches between per-CPU and global callback queuing. New use cases appeared that generated enough console traffic to cause trouble, and no one seemed to care about these messages. For those needing those messages, there is a new rcupdate.rcu_task_collapse_debug kernel boot parameter. * Fix __rcu pointer attribute handling to eliminate false positives. * Fix typos and drop redundant #include directives.
All commits have been in linux-next (no conflicts expected); two signed tag=
s for
Rust I/O and DMA changes have been shared with other trees.
Thanks,
Danilo
Driver core changes for 7.4-rc1
- core:
- Add TAINT_FORCED_BIND to taint the kernel and driver module before manu=
al
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 a=
nd
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 betw=
een
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 regist=
ers
with typed subregion projections; reimplement register!() as a proc
macro, support registers using existing types without inline bitfield=
s,
and convert nova-core, Tyr and the PCI sample; add AsRepr/AsReprMut a=
nd
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 th=
e
First VF Offset and decoded VF BAR addresses and widths, keeping raw
SR-IOV registers private to preserve PCI core ownership of their stat=
e
- scatterlist:
- Honor the device's maximum segment size as well as the DMA mapping li=
mit
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 failu=
re
- Fix typos in driver core and kernfs comments
When the v7.4 merge window opens, please pull this CSD-lock update that reports the time required to recover from a CSD-lock stall: Report CSD-lock stall recovery time * Refactor to simplify csd_lock_wait_toolong() function prototype. * Report time required to recover from a CSD-lock stall. * Add a test of this reporting.
When the v7.4 merge window opens, please pull this two-byte cmpxchg emulation: Add emulation of two-byte cmpxchg() These commits add a cmpxchg_emu_u16() function that emulates two-byte cmpxchg() in terms of four-byte cmpxchg() for architectures not having native instructions for this purpose. They also make use of this cmpxchg_emu_u16() function in those architectures, namely sh, arc, csky, and xtensa. This permits use of two-byte cmpxchg() in common code. However, it sadly does not permit easy implementation of all algorithms needing on two-byte atomic operations because there are some systems still supported by Linux that do not have native two-byte store instructions. There is reason to believe that these systems will soon no longer be supported by Linux.
cleanups, a number of fixes (crashes, out-of-bounds reads and data-integrity bugs), support for changing SMB compression through chattr and internal CIFS version removal. This conflicts with the vfs tree in fs/smb/client (mnt_idmap constification, fscache_resize_cookie() and transport.c). The resolution is trivial and linux-next has been carrying it for a while. Thanks, Paulo - Implement ->fileattr_set so chattr(1) compression changes (chattr +c/-c) go through the generic VFS fileattr path and its permission and serialization checks instead of the raw FS_IOC_SETFLAGS fallback and remove the now-unreachable file flags ioctl handlers - Require stable pages when the connection is signed or SMB compression is enabled, so a buffered write can no longer modify a folio that is still in flight and corrupt its signature (surfaced as -EIO) or, with compression, silently corrupt the data stored on the server - Stop breaking a file's just-granted lease while probing it for a Minshall+French symlink, by reusing an already open handle or opening with the inode's lease key - Fix several out-of-bounds reads and use-after-free bug in SMB1 - Fix an use-after-free bug in cifs_ses_add_channel() - Fix a NULL pointer dereference in the demultiplex thread when an encrypted read response matches no outstanding request and reclaim the credits granted on such responses to avoid starving the connection of credits - Fail sends fast when the connection needs to reconnect - Drop the redundant nls_table argument threaded through the session setup, tree connect and path-based call paths, allocate the session setup state on the stack and remove the internal CIFS version number along with a batch of write-only fields and commented-out code
Bruno Produit has fixed issue in {hfs,hfsplus}_btree_close()
method. B-tree nodes with a zero reference count remain in
the node hash until folio reclaim or tree teardown frees them.
The folio release callbacks remove nodes while holding hash_lock,
but hfs_btree_close() walks and frees the same hash without
that lock. Reclaim can therefore unhash and free a node after
close has loaded its pointer, causing a use-after-free or
double-free. Detach each node with hfs_bnode_unhash() while
holding hash_lock before inspecting and freeing it.
Drop the lock before hfs_bnode_free() so a large tree is not
freed while holding a spinlock.
Davy Felipe has fixed issues in hfs_inode_setattr() and
hfs_brec_insert():
- hfs_inode_setattr() rejects unsupported UID, GID and mode
changes, but returns the value stored in error when
the filesystem is not mounted with the quiet option.
At this point error is zero, as execution has already passed a
successful setattr_prepare() call. As a result, unsupported attribute
changes are incorrectly reported to userspace as successful even
though the inode remains unchanged. Return -EPERM for these
operations while preserving the existing behavior for quiet mounts.
- hfs_brec_insert() may fail while inserting a new extent record, but
__hfs_ext_write_extent() currently ignores its return value and
clears HFS_FLG_EXT_DIRTY and HFS_FLG_EXT_NEW as if the insertion had
succeeded. Use a reusable B-tree node range helper that takes
the find data and the expected record size. The helper validates
the bnode and tree pointers, entry offset and entry length, and
ensures that the write range fits within the node.
Viacheslav Dubeyko has fixed the failure in xfstests generic/339
case. The xfstests generic/339 leaves an HFS+ volume corrupted and,
as a result, fsck.hfsplus reports a long run of "Illegal name".
The root cause is that fs/hfsplus/unicode.c's decomposition table
(Apple Technote #1150) decomposes each source character entirely on
its own and never does anything further with the result. Real fsck_hfs
has carried a permanent "FixDecomps" fixup in CatalogCheck.c for
exactly what that leaves unhandled. Fix makes hfsplus store, hash and
compare names the same way current macOS does.
hfs/hfsplus updates for v7.4
- hfs: handle extent B-tree write errors
- hfsplus: add KUnit coverage for canonical reordering and legacy
fixups
- hfsplus: canonicalize decomposed catalog names like fsck_hfs expects
- hfsplus: add Unicode combining-class and legacy decomposition data
- hfs/hfsplus: serialize B-tree close against folio release
- hfs: return -EPERM for unsupported setattr changes
Aldo Ariel Panzardo has fixed the issues in nilfs_sufile_get_suinfo(), nilfs_scan_dsync_log(), and nilfs_find_or_create_root(): - If the requested segment number is greater than the total number of segments, the function may process segment numbers outside the filesystem. - nilfs_scan_dsync_log() trusts the block counts in each on-disk file information entry. If fi_ndatablk is greater than fi_nblocks, the data block loop can consume excessive summary entries and the later subtraction used to derive the number of node blocks underflows. - nilfs_find_or_create_root() links a new checkpoint root into the checkpoint tree and drops ns_cptree_lock before creating the root's sysfs group. If nilfs_sysfs_create_snapshot_group() then fails, the root is freed while it is still reachable from ns_cptree, so a concurrent nilfs_lookup_root() can dereference freed memory. Hemanth Selam has fixed typos in comments, reported by scripts/checkpatch.pl using the misspelling list in scripts/spelling.txt. Jake Labelle has fixed issues in nilfs_recover_dsync_blocks() and nilfs_readdir(): - During roll-forward recovery, nilfs_recover_dsync_blocks() obtains the inode designated by fi_ino of a dsync log without checking its type. Regular files, directories, and symlinks are the only inode types with data blocks to recover; reject anything else before touching its block mapping. - nilfs_readdir() uses ctx->pos, which userspace can set to an arbitrary value via llseek, as an offset into the directory folio and parses whatever bytes sit there as a directory entry. Snap unaligned positions onto a valid entry boundary by walking the rec_len chain from the chunk start before parsing. Jiaming Zhang has fixed the issue in logic of clearing the dirty folios. When garbage collection fails, nilfs2 rolls the DAT metadata file's page cache back to a shadow copy taken before GC started. nilfs_clear_dirty_pages() drops the dirty state of the folios in the DAT cache, then nilfs_copy_back_pages() overwrites them with the saved contents and warns if one is still dirty. Add a force flag to nilfs_clear_dirty_pages() and nilfs_clear_folio_dirty() that skips the busy buffer check, and set it in the two calls from nilfs_mdt_restore_from_shadow_map(). Joshua Crofts has removed dead code and commented code sections in nilfs_new_inode(), nilfs_read_inode_common(), and nilfs_setup_super(). Ryusuke Konishi has fixed multiple issues: - While the recent out-of-bounds memory access issue in nilfs_direct_propagate() has already been fixed, adds extra checks to catch and gracefully handle similar potential bugs. - Fix syzbot reported deadlock between nilfs_evict_inode() and find_inode() by removing the synchronous log writer trigger from nilfs_evict_inode(). - Fix an omitted clear of the dirty flag on backing device buffers, which could cause an abnormal buffer state and potential block overwriting data corruption. - Improve stability by preventing errors caused by user interrupts while waiting for log writes, which are triggered by synchronous write flags following operations such as rename(). - Refactor the metadata file writeback callback function, restructuring an inefficient legacy function organization rooted in the era of aops->writepage() to align with aops->writepages(). - Fix a link count underflow during rmdir on a directory with a corrupted link count (an issue recently reported by syzbot). Viacheslav Dubeyko implemented the elimination of blockdev_direct_IO() from nilfs2 entirely. It adds iomap.h with declaration of iomaps operations and iomap.c with implementation of nilfs_iomap_begin(). The nilfs_direct_IO() and the .direct_IO callback on nilfs_aops are removed. The nilfs_file_read_iter() dispatches O_DIRECT reads to iomap_dio_rw() using nilfs_iomap_ops. Everything else still goes through generic_file_read_iter(). nilfs2 updates for v7.4 - nilfs2: validate directory position after llseek in readdir - nilfs2: reject non-regular inodes in dsync recovery - nilfs2: fix link count underflow when removing corrupted directory - nilfs2: simplify nilfs_mdt_writeback() - nilfs2: ignore non-fatal signals during synchronous log write wait - nilfs2: clear dirty flag on bdev buffers on log write failure - nilfs2: fix deadlock between nilfs_evict_inode() and find_inode() - nilfs2: fix checkpoint root lifetime on sysfs errors - nilfs2: switch O_DIRECT to iomap based operations - nilfs2: add iomap operations for direct I/O - nilfs2: validate file block counts during recovery - nilfs2: force clear dirty state when restoring from the shadow map - nilfs2: validate segment number in nilfs_sufile_get_suinfo() - nilfs2: fix typos in comments - nilfs2: remove '#if 0' code blocks - nilfs2: strengthen consistency checks in nilfs_direct_propagate()
please pull s390 updates for the 7.4 merge window.
Thanks,
Heiko
s390 updates for 7.4 merge window
- Add support for sclp-vt220 terminal resize events e.g. for QEMU
- Warn if kernel command line contains non-printable EBCDIC
characters
- Improve show_code() disassembly output by using reliable markers for
the instruction address and faulting instruction
- Rework exception handling to require only a single exception table
entry per faulting instruction: convert all inline assemblies from
EX_TABLE to the new EX_TABLE_INSN macros. The previous exception
handling was error prone since it usually required two EX_TABLE
entries: one pointing at the instruction, and one pointing behind it
- Disallow kprobes on instructions with exception table entries to avoid
exception handlers decoding a breakpoint instead of the original
instruction
- Preemptible percpu ops changes:
- Simplify percpu_entry() and percpu_exit() by encoding the percpu
base, offset, and pointer registers into the lowcore marker, allowing
percpu_exit() to update the percpu pointer on CPU migration without
comparing the interrupted instruction
- Convert this_cpu_cmpxchg(), this_cpu_xchg(), and
this_cpu_cmpxchg128() to preemptible percpu ops; provide
this_cpu_try_cmpxchg()
- Emulate virtual timer in appldata via delayed work and remove the
s390 specific vtimer infrastructure
- Add lock contention tracepoints to rwlock slowpath
- Fix incorrect return address in signal frame setup
- Fix cpum_cf CPU hotplug handling
- Convert various __get_free_pages() / get_zeroed_page() users to
kmalloc() / kzalloc()
- PCI:
- Improve RPCIT instruction tracing
- Fix double-free, use-after-free, and resource leaks in zPCI MSI
and IRQ setup / cleanup paths
- Crypto and zcrypt:
- Improve reply message and length verification checks for CCA,
EP11, and ICA messages to prevent out-of-bounds reads
- Add missing array_index_nospec() for domain index uses in zcrypt to
prevent speculative execution bypass
- Fix out-of-bounds read in cca_query_crypto_facility()
- Various other small fixes and improvements
Please consider pulling these configfs updates for 7.4-rc1. There are three parts: Thomas Weißschuh's series that allows const configfs attribute structures, new selftests for the userspace interface, and three Rust binding changes that I merged from Andreas Hindborg's signed tag. FWIW: The const series touches three drivers outside fs/configfs (acpi, xe, coco/guest report) because they implement the callbacks and bin attributes whose types change. Thanks, --breno configfs: Updates for v7.4 - Attribute structures can now be const. From Thomas Weißschuh. - The first selftests for the configfs userspace interface, plus a sample subsystem that accepts symlinks to test against. They include a race of symlink(2) against rmdir of the target, which exercises the use-after-free fixed in v7.3-rc3. - Rust bindings, merged from Andreas Hindborg's signed tag: fix the data offset calculation in subsystem callbacks (marked for stable), add the missing Send and Sync bounds, and correct a safety comment.
Here are the arm64 updates for 7.4. The more interesting bits are the removal of big-endian kernel support (already marked BROKEN for some time), preemptible this_cpu_*() operations and MPAM support for the firmware-backed (Fb) interface. CCA (Arm's confidential compute) is slowly trickling in with host RMI (Realm Management Interface) support and some refactoring, including a dedicated SMCCC bus to advertise firmware services. There are also the usual PMU updates for new hardware and a few fixes/cleanups. More details in the tag. I think there are some simple merge conflicts, depending on the order you pull trees (KVM, mm), but the -next resolution is correct. Thanks. Core features: - Remove big-endian kernel support: CONFIG_CPU_BIG_ENDIAN has depended on BROKEN for a while, so drop the remaining code (BE hypervisor object, BPF JIT, assembly/crypto/library routines, endianness helper macros, selftests) and force a little-endian build - Add preemptible this_cpu_*() operations (read/write, RMW, xchg, cmpxchg and cmpxchg128) that no longer need to disable preemption around the per-CPU address generation and access - Preparation patches for implementing CONFIG_HOTPLUG_PARALLEL on arm64 Memory management: - Treat faults taken by EFI runtime firmware as kernel faults - Clear PTE_WRITE for EFI_MEMORY_RO mappings (with hardware dirty state management enabled, this is not truly read-only) - Raise the default ARCH_MMAP_RND_BITS for 48-bit and 52-bit VA configurations (28/26/24 bits for 4K/16K/64K pages) - Implement clear_page[s]() using memset() - Enable BBML2 no-abort (a.k.a. BBML3) for the NVIDIA Rigel CPU Perf and PMU: - Support for HiSilicon's ITS PMU - Add support for some new events: INST_SIMD_ALU_VEC for Apple PMUs and a cycle counter for the latest version of HiSilicon's MN PMU hardware - A bunch of fixes to the CXL PMU driver to address pre-existing issues from Sashiko - Fix generation of PERF_RECORD_ITRACE_START records for SPE and ETM drivers - Reduce excessive stack consumption in the Marvell DDR PMU driver - Minor driver updates and cleanups all over Arm Confidential Compute Architecture (CCA): - Add an Arm SMCCC bus for firmware services discovered through SMCCC and move the TRNG and CCA guest (TSM provider) drivers onto it, removing the dummy CCA platform device and adding a sysfs ABI for Realm guests - Move the Realm Service Interface (RSI) code out of arch/arm64/ into drivers/firmware/arm_rmm/ - Add the host side of the Realm Management Interface (RMI): detect, configure and activate the RMM, add SRO support and wrappers for the Realm RMI commands - Block hibernation (new arch hook in the PM core) and kexec while the RMM is active. To be revisited in the future with proper support for deactivation - Handle Granule Protection Faults (GPFs) taken by the host, caused by accesses to memory delegated to the RMM. In a future patch, the exception table lookup will be limited to is_kdump_kernel() cases MPAM (Memory Partitioning And Monitoring): - Add support for the MPAM firmware-backed (Fb) interface, allowing MSC accesses to be mediated by firmware - Fix a list of theoretical issues with the driver (MSC access error propagation, MBWU monitor save/restore and locking, resctrl class handling, error interrupt restore, maximum number of PARTIDs) - Add the mailing list and a missing file to the MAINTAINERS entry - Document when to set arm64.nompam Errata and CPU features: - Add the NXP i.MX8QM/8QP workaround for the Cortex-A53 cache coherency issue (ERR050104), using a new ARM64_CPUCAP_SOC_ERRATUM capability type for SoC-level errata Miscellaneous: - Mask debug exceptions (DAIF) around the hardware breakpoint register manipulations when called from generic kernel code - Don't zero the SVE state buffer when the SVE state is live - Return -EPERM instead of -EBUSY from the GCS prctl() locking failures (matching x86), with the selftest updated. Slight ABI change but no software deployment yet - kselftest: fix unsound MTE fault skipping by introducing MTE-safe memory accessors, avoid copying each signal test binary more than once - Update sysreg definitions (fix three enum values and two field names, mark architecturally dropped fields as RES0) and remove the TME transaction state check from the BRBE driver - Fix the description of ARM64_HAS_LPA2 and remove a redundant ID_AA64MMFR0 define
This is the batch of pull requests for the v7.4 merge window. So I took the insane decision to follow-up LPC with a vacation and now I'm creating PRs next to a pool. So fsck me for great timing. This should hopefully explain why there's some delay in response time. The other half is that I'm getting carpet bombed with subtle bugs and I'm trying to fix them systematically. While LLMs are great at finding sh*t they certainly do still suck at coming up with architecturally clean fixes. 90% of the proposed "fixes" are utter garbage. Anyway, on to the content: This cycle is heavier on uapi than the last two. close_range() grows two flags, the coredump socket protocol learns records, sparse dumps and per-request memory type selection, open_tree() gets a flag that container runtimes need and af_unix sockets can hand out thread specific pidfds. The rest is the exit, exec and coredump paths getting a lot of attention, kernfs scalability work out of Meta's fleet and a few treewide conversions. Closing files is synchronous now for close_range(), exec and exit. Every final __fput() of an exiting task used to be queued on task work and run from exit_task_work(). For a large descriptor table that is a cmpxchg() and a TIF_NOTIFY_RESUME test-and-set per file and then a second pass over every struct file that isn't cache hot anymore. close_files(), close_range() and close-on-exec flush and put each file inline the way close(2) does. Tearing down 1M descriptors goes from 429 to 306 ms on exit and from 471 to 325 ms on execve(). That is a 16-21% win or 40-150 ns per closed file. The spufs coredump support, the only reason do_coredump() unshared the descriptor table, goes away as part of this. close_range() gets CLOSE_RANGE_EXCEPT which makes it operate on all file descriptors outside of the range and CLOSE_RANGE_CLOEXEC_ONLY which closes only the close-on-exec descriptors in it. Together they let a task between clone(CLONE_FILES) and execve() shed everything except for a window of descriptors in one call and nothing outside of the window is ever referenced by the child. The coredump socket protocol learns to send a coredump as records. A server raising COREDUMP_RECORDS gets a header in front of every chunk and an explicit end record. With COREDUMP_SPARSE holes cross the socket as a bare header saying how many zero bytes were skipped. A process with 128 threads sends 1424153 bytes for a coredump of 1075150848 bytes since all the thread stacks are 8 MB reservations that are nearly all holes. COREDUMP_MEMORY_TYPES lets the server pick what memory to dump per request instead of relying on the static coredump_filter of the crashing task. TIF_NOTIFY_SIGNAL can no longer interrupt work that can't be restarted. It is used to kick a task out of an uninterruptible sleep to run task work but the pipe and socket paths a coredump goes through check signal_pending() deep down and bail. So a crashing process with io_uring requests in flight lost most of its coredump. PF_NO_NOTIFY_SIGNAL sections modelled on memalloc_nofs_save() fix that for coredumps, the smb send path and the pid namespace reaper. Looking at the coredump code with kres and TLA+ also turned up a UAF when releasing parked threads, shared signals retargeted to the dumper that truncated cores, io-wq workers that could join a thread group a coredump was already tearing down and an SQPOLL deadlock when a user worker ends up as the dumper. kernfs loses most of its kernfs_rwsem contention. The semaphore is per kernfs root so sysfs and cgroupfs each have one for the whole machine and rwsems don't let readers steal the lock once a writer is queued. So one cgroup creation parked every daemon polling cgroup files in uninterruptible sleep for minutes, oomd and below among them. Dentry revalidation runs under rcu now, readdir drops the lock across dir_emit() so a fault into reclaim can't hold it, and notification delivery, open node allocation and renames stop sleeping under it. Read acquisitions under churn drop from 48.6M to 1.3M and path walk throughput improves 35-53%. The buffer_head write completion handlers stop clearing BH_Uptodate when a write fails. The buffer still holds exactly the data the filesystem asked to be written and claiming otherwise made the retry WARN, re-read the stale on-disk copy over the good data and leaked an inconsistent state through the folio lock. Every consumer is moved to BH_Write_EIO. This also let jbd2's shadow buffers point at memory outside the page cache and removed b_page. struct mnt_idmap is const throughout the tree now. A mount's idmapping is immutable after creation so this follows the struct cred model all the way down into every inode operation, the LSM hooks and the filesystems, and nop_mnt_idmap and invalid_mnt_idmap live in rodata. iomap gains lazy bounce buffering for checksummed reads. XFS bounce buffered every direct read on a device requiring stable pages. Now the read goes to the user buffer first and only a checksum failure reads again into a bounce buffer. That branch is shared with the block tree. Neil's preparations for changing directory locking are in. The goal is to lock the dentry rather than the parent directory. d_splice_alias() handles hashed dentries, d_alloc_trylock() and d_duplicate() are added, LOOKUP_SHARED tells ->lookup() how the parent is locked and the in-lookup state is tracked by lockdep. Mateusz also removed a spurious dentry reference cycle on open which is a 39% win in will-it-scale. Cachefiles can now cache files that are written once sequentially without asking the backing filesystem with SEEK_DATA/SEEK_HOLE before every read, and netfslib drops the writethrough code and makes the deprecated PG_private_2 support opt-in. open_tree() gets OPEN_TREE_DROP_MNTNS_MOUNTS. A recursive clone picks up mount namespaces pinned below the source and attaching that inside a namespace created with OPEN_TREE_NAMESPACE fails with ELOOP since the new namespace is younger than everything else. crun hits this on every Ubuntu host because snapd pins mount namespaces under /run/snapd/ns. af_unix sockets return thread specific pidfds via SO_PASSPIDFD_THREAD and SO_PEERPIDFD_THREAD so a coredump server can get a handle on the thread that is actually writing the dump. That branch is shared with net-next. Smaller items include the removal of bfs, binfmt_misc only accepting punctuation as the delimiter of a register string, uid_map and gid_map writes rejecting values that don't fit in a u32 instead of truncating them, __counted_by_ptr annotations with KUnit tests for struct fdtable and struct uid_gid_map, a simplified FD_PREPARE(), get_tree_super() for erofs's shared superblocks, and the usual pile of fixes and selftest work. Thanks! Christian
USB serial updates for 7.4-rc1 Here are the USB serial updates for 7.4-rc1: - fix urb leak on sierra write completion - fix urb leak on usb_wwan disconnect - fix data corruption due to missing mxuport tx throttling - add support for two new classes of mxuport devices - add support for rs485 to mxuport - add new modem device ids - replace the last __get_free_page() with kmalloc() Everything has been in linux-next with no reported issues. The mxuport changes were merged yesterday, but they were contributed by a competent vendor (and passed my smoke test).
Subject: [GIT PULL] pwm: Changes for 7.4-rc1
MIME-Version: 1.0
Hello Linus,
the following changes since commit cee9395acd8043be0644b25c34bfa86623f2b935:
Linux 7.3-rc1 (2026-08-30 13:34:40 -0700)
are available in the Git repository at:
wm/for-7.4-rc1
for you to fetch changes up to 00e917df050d79ac26ec700717680ad6421d2808:
dt-bindings: pwm: Add IPQ5210 binding (2026-10-14 11:33:04 +0200)
for 7.4-rc1.
pwm: Changes for v7.4-rc1
The usual mix of fixes for older issues, devicetree changes and
cleanups.
Part of this is a shared branch that introduces device-managed variants
of atomic_notifier_chain_register() and
blocking_notifier_chain_register().
There are a few more interesting things still in my to-review queue, but
I didn't manage to review these in time to make this PR a bit more
interesting. (Though I guess you like it boring :-)
The series introducing the devm stuff for
{atomic,blocking}_notifier_chain_register() also touched iio, gpio,
platform/x86, input, acpi and kernel/reboot. I didn't check which of
these were picked up, but I guess you'll also get e38b9eda475f
("notifier: add device-managed registration APIs") via a few
more PRs this cycle.
Apart from the top-most patch (which is "only" a trivial device-tree
binding addition) these changes were included in next since
next-20260930 without any hassle.
Have a nice week-end,
Uwe
This cycle is "fun", only the "mmu" and "svm" requests escaped without a conflict or some other notable mess. That said, I don't think there's anything particularly thorny to deal with, just a lot of minor stuff. Details in the individual pull requests. My apologies for not getting the guest_memfd in-place conversion changes sent along sooner. I really wanted to get you a pull request around 7.3-rc4, but we simply could get the code ready in time.
Hi, there's a handful of user visible changes, some of them fixes and the rest is in the core. There are some minor performance improvements too. User visible changes: - remove tweakable sysfs way to enable features, used only for extent-irefs which has been default since 3.12; the sysfs interface makes it complicated due to locking and context, unlike ioctl - change which backup superblock does mount option 'rescue=usebackuproot' choose, skip the last one due to rotation, for more fine grained control add options selecting a specific backup superblock by index (usebackuproot_N) Notable fixes: - syslog message fixup of error state description, duplicate 'E' renamed to 'H' (emergency shutdown), added 'I 'when delayed iputs are blocked - use kvmalloc for b-tree buffer allocations, as we're using more contig ranges because of large folios, the allocations started to warn on fragmented memory - handle unknown commands for the /dev/btrfs-control ioctls - tune timing of transaction commit when the space is getting low - in raid56, skip verifications if data checksums are not available Performance improvements: - reflink speedup, reorder locking and flushing to optimize for more common cases where the reflinked ranges are accessed, avoid unnecessary contention - minor speedup in zstd decompression (+8MB/s) - reduced contention of inode extent map lock, improves e.g. when shrinker processes inodes without extent maps, measured time reduction 10-20% Core changes: - move allocation errors out of some contexts (new inode/dentry/rename) to avoid transaction aborts - allocate system new chunks earlier, e.g. when consumed by fallocate, and tune deleting unused block groups if the system space is low - tree checker: reject extents for special files - many qgroup fixes regarding enabling/disabling, other state changes and qgroup relation updates - error handling fixes - refactoring, cleanups - page to folio cleanups - transaction state macros/enums simplification - parameter simplifications
Please git pull the following tag: xen: branch for v7.4-rc1 This time only small fixes and cleanups all over Xen related drivers. Nothing really stands out here. Thanks. Juergen
LoongArch KVM changes for v7.4 1. Add separate vmid support. 2. Simplify MSI intterupt injection. 3. Add hypercall crash support. 4. Allow to set pv_feature until vCPU run. 5. Enable HW PTW automatically in selftests.
Hi Rafael, - Add the Exynos ACPM thermal driver for Google GS101, along with DT bindings and a MAINTAINERS entry (Tudor Ambarus) - Add Renesas RZ/G3L thermal sensor support and DT bindings, and move default calibration values to per-SoC match data (Biju Das) - Add Qualcomm MSM8952 TSENS support and the corresponding DT binding compatible (Muzaffer Kadir) - Document the Qualcomm PMAU0102 Master BandGap temperature monitor compatible in the DT bindings (Dhruvin Rajpura) - Extend the QCom TSENS v2 trip temperature limits to the hardware range of -204°C to +204°C to prevent interrupt storms when operating beyond the previous software limits (Priyansh Jain) - Fix temperature threshold map indexing in the QCom SPMI temperature alarm driver to prevent out-of-bounds reads (Georgi Djakov) - Describe the additional bus clock required by the Amlogic T7 thermal sensor and switch the driver to the clk_bulk API to manage multiple clocks (Ronald Claveau) - Request the Airoha EN7581 IRQ after thermal zone registration to prevent the interrupt handler from accessing an unregistered or already freed thermal zone (Vitaliy Sochnev) - Fix the Airoha AN7583 ADC mux field mapping, serialize access to the shared ADC, and verify mux selection to avoid invalid temperature readings and spurious critical shutdowns (Vitaliy Sochnev) - Register separate thermal zones for the AN7583 bandgap, GbE and CPU sensors, and update the DT bindings to use one thermal sensor cell to select the sensor (Vitaliy Sochnev) - Fix signed integer overflow in the Renesas RZ/G3E temperature-to-code conversion, preserve compare interrupt state across runtime PM, and prevent overlapping temperature conversions (Ovidiu Panait) - Remove redundant trip window validation and runtime PM pm_runtime_mark_last_busy() calls from the Renesas RZ/G3E driver (Ovidiu Panait) - Propagate reset assertion failures from Renesas RZ/G3E suspend and attempt to restore power if the sensor was active (Pengpeng Hou) - Stop the TI bandgap alert IRQ before removing sensor interfaces and cancel pending alert work to prevent use-after-free on driver removal (Weigang He) - Validate Spreadtrum sensor IDs read from the device tree before using them for register offsets and array indexing (Weigang He) - Convert the TI OMAP bandgap DT bindings to schema and document the DRA752 compatible and thermal sensor cells (Bhargav Joshi) - Use DT property helpers matching the signed temperature and unsigned hysteresis types defined by the thermal zone bindings (Rob Herring) - Reuse common error handling code in the power allocator governor bind callback (Markus Elfring) - Constify the thermal zone device operations in the i.MX9 driver (Christophe JAILLET) - Fix kernel-doc parameter names and firmware node references in the cooling device registration helpers (Aryan Sinha) - Correct the documented return value of ti_bandgap_get_sensor_data() to describe validation errors and potentially NULL stored data (Karl Mehltretter) - Ensure NUL-termination when copying the cooling device command-line argument in tmon and fix the associated string truncation warning (Florian Fainelli) - Fix undefined behavior caused by a signed shift in the tmon thermal zone binding display (Liu Jing) - Fix wording in tmon comments (Hemanth Selam)
Hi Rafael, - Add the Exynos ACPM thermal driver for Google GS101, along with DT bindings and a MAINTAINERS entry (Tudor Ambarus) - Add Renesas RZ/G3L thermal sensor support and DT bindings, and move default calibration values to per-SoC match data (Biju Das) - Add Qualcomm MSM8952 TSENS support and the corresponding DT binding compatible (Muzaffer Kadir) - Document the Qualcomm PMAU0102 Master BandGap temperature monitor compatible in the DT bindings (Dhruvin Rajpura) - Extend the QCom TSENS v2 trip temperature limits to the hardware range of -204°C to +204°C to prevent interrupt storms when operating beyond the previous software limits (Priyansh Jain) - Fix temperature threshold map indexing in the QCom SPMI temperature alarm driver to prevent out-of-bounds reads (Georgi Djakov) - Describe the additional bus clock required by the Amlogic T7 thermal sensor and switch the driver to the clk_bulk API to manage multiple clocks (Ronald Claveau) - Request the Airoha EN7581 IRQ after thermal zone registration to prevent the interrupt handler from accessing an unregistered or already freed thermal zone (Vitaliy Sochnev) - Fix the Airoha AN7583 ADC mux field mapping, serialize access to the shared ADC, and verify mux selection to avoid invalid temperature readings and spurious critical shutdowns (Vitaliy Sochnev) - Register separate thermal zones for the AN7583 bandgap, GbE and CPU sensors, and update the DT bindings to use one thermal sensor cell to select the sensor (Vitaliy Sochnev) - Fix signed integer overflow in the Renesas RZ/G3E temperature-to-code conversion, preserve compare interrupt state across runtime PM, and prevent overlapping temperature conversions (Ovidiu Panait) - Remove redundant trip window validation and runtime PM pm_runtime_mark_last_busy() calls from the Renesas RZ/G3E driver (Ovidiu Panait) - Propagate reset assertion failures from Renesas RZ/G3E suspend and attempt to restore power if the sensor was active (Pengpeng Hou) - Stop the TI bandgap alert IRQ before removing sensor interfaces and cancel pending alert work to prevent use-after-free on driver removal (Weigang He) - Validate Spreadtrum sensor IDs read from the device tree before using them for register offsets and array indexing (Weigang He) - Convert the TI OMAP bandgap DT bindings to schema and document the DRA752 compatible and thermal sensor cells (Bhargav Joshi) - Use DT property helpers matching the signed temperature and unsigned hysteresis types defined by the thermal zone bindings (Rob Herring) - Reuse common error handling code in the power allocator governor bind callback (Markus Elfring) - Constify the thermal zone device operations in the i.MX9 driver (Christophe JAILLET) - Fix kernel-doc parameter names and firmware node references in the cooling device registration helpers (Aryan Sinha) - Correct the documented return value of ti_bandgap_get_sensor_data() to describe validation errors and potentially NULL stored data (Karl Mehltretter) - Ensure NUL-termination when copying the cooling device command-line argument in tmon and fix the associated string truncation warning (Florian Fainelli) - Fix undefined behavior caused by a signed shift in the tmon thermal zone binding display (Liu Jing) - Fix wording in tmon comments (Hemanth Selam)
NIOS2: update for v7.4 - Fix __wsum type degradation in csum_fold()
Hey folks, I think one of these may have fallen on the floor due to being late for v7.3 and deferred in patchwork [1], so my branch is still based on v7.2-rc1. There may be another driver appearing here, via the arm64 tree, but I don't expect any conflicts at all if it does, since nothing here touches makefiles/kconfig etc. Thanks, Conor. 1 https://patchwork.kernel.org/project/linux-soc/patch/20260813-cope-smugness-dd4de191bdda@spud/ standalone cache drivers for v7.4 Three low-priority bugfixes for issues in the hisi hha and sifive ccache drivers as well as the core code. Signed-off-by: Conor Dooley <[email protected]>
Hey folks, Diff here contains a lot of clock bindings, so I've provided an explanation in the tag. Thanks, Conor. RISC-V misc. soc drivers for v7.4 StarFive: Syscon bindings and a socinfo driver for the JHB100. There ended up being several clock bindings here also because the clock tree needed the whole lot due to headers and I envisaged this being part of a three-way shared tag between my soc driver branch, dts branch and the clock tree. Due to timing, the dts branch didn't get this content, leading to the slightly odd branch here. Microchip: A bugfix for teardown code in the mpfs system controller driver. Signed-off-by: Conor Dooley <[email protected]>
Hey folks, Small enough PR here, I was hoping to get the StarFive jhb100 SoC in, but that'll have to wait for 7.5, along with the deprecation of the Canaan K210 that Arnd and I discussed last week. Cheers, Conor. RISC-V misc. devicetrees for v7.4 Microchip: Add Valentina as a second maintainer because Daire is largely inactive. Starfive: Fix the PWM nodes, because a opencores,pwm-v1 instance only ever provides one PWM channel. Signed-off-by: Conor Dooley <[email protected]>
Hey folks, Might be my last mini PR here, since the RISC-V SSE driver is coming via the actual RISC-V tree, so there'll almost certainly be a much increased activity here going forwards. I'm a bit late PR wise (sorry) but I blame conferences and a busy week beforehand for that... Thanks, Conor. RISC-V firmware drivers for v7.4 A single fix/cleanup for the auto update driver. Signed-off-by: Conor Dooley <[email protected]>
Hi Matthew, I'm sending the Rust XArray for the current v7.4 cycle, although it is probably too late for it. Just let me know if you need me to resend it later, rebased or under a different tag. Thanks, Daniel Rust XArray for v7.4 Add a Rust implementation of the XArray (rust/kernel/rxarray.rs), introduced as an experimental Rust reference implementation [1] of lib/xarray.c, as discussed at LPC26 [2]. This lets Rust users, such as the null block driver and possibly Tyr (under evaluation), experiment with and evaluate both implementations. The goal is to evaluate whether Rust helps with the most common class of XArray bugs, misuse of the API by its callers, such as the long-dormant page cache corruption that almost blocked the LBS work [3]. The RFC v1 cover letter has the full motivation, benchmark baseline and roadmap [4]. This initial version supports store, load, load_mut and erase. It has been tested with the included KUnit tests and doctests. Outside of rust/kernel/rxarray.rs, this touches: - MAINTAINERS: new XARRAY [RUST] entry, maintained by Daniel Gomez and Matthew Wilcox, with Andreas Hindborg as reviewer. - lib/Kconfig: new XARRAY_RUST option. - rust/kernel/lib.rs: register the rxarray module. The C XArray implementation is unchanged. Link: https://rust-for-linux.com/rust-reference-drivers/ [1] Link: https://lore.kernel.org/all/[email protected]/ [2] Link: https://lore.kernel.org/all/[email protected]/ [3] Link: https://lore.kernel.org/all/[email protected]/ [4]
This is the pull request with interconnect changes for the v7.4-rc1 merge window. As always, the short summary is in the signed tag. All patches have been in linux-next for more than a week. There possible. Thanks, Georgi interconnect changes for 7.4 This pull request contains the following interconnect updates for the 7.4-rc1 merge window: - New driver for Kuno SoC - Make important drivers default - Add multi-port QoS programming support - Add support for Milos OSM L3 - Misc cleanups and fixes Signed-off-by: Georgi Djakov <[email protected]>
Hi Arnd, Changes to fsl-mc bus are reviewed or acked by Ioana Changes to usb drivers are acked by greg Thanks Christophe FSL SOC Changes for 7.4 Freescale QUICC Engine: - Fix sparse warnings in GPIO - Drop GPIOD_FLAGS_BIT_NONEXCLUSIVE Freescale CPM1 Timeslot Assigner: - Fix clock leak in tsa_of_parse_tdms() Data Path I/O: - Free the IRQ before releasing the I/O object - Fix cleanup on IRQ registration failure Freescale Management Complex: - Annotate fsl_mc_io.portal_virt_addr with __counted_by_ptr - Drop the fwnode links of the dpmacs nodes - Register the object drivers after misc_class exists - Set dma_mask for the DPRC devices - Fix repeated word 'for' in comment
Alloc changes for 7.4-rc1 - Add Alice Ryhl as co-maintainer for Rust [ALLOC] - Allow different error types in KBox::pin_slice(), enabling use of infallible initializers - Add NumaNode::id() accessor to retrieve the underlying NUMA node identifier
i.MX clock changes for 7.4 - Propagate busy timeout errors from i.MX93 composite gate enable. - Add 350 MHz support to the fractional-N General-Purpose PLL for i.MX93 display use cases. - Fix clock reference leaks in imx_get_clk_hw_by_name() and imx_obtain_fixed_clock_hw().
I've been absorbed with efforts outside of the kernel recently so there's not much activity in the BMC tree this time around. This is the only PR I plan to send for v7.4. That said, there are are many patches on the list that need attention. I will get to them. Various revisions of series I've applied from Tomer have been on the lists for a while. I've worked through some tidying with him in recent days so we can get them applied. There are still some process improvements necessary on his part with regard to sending patches for the BMC tree, which I've discussed with him. I've had to lightly rework v10 of his series in order to get it applied as noted in the relevant commit messages. The work in the tag is currently in linux-next and I am yet to receive any negative automated feedback on it. I'll be travelling for the next week for the OCP Global conference but will keep watch for any concerns that arise. Please merge. Thanks, Andrew nuvoton: First batch of arm64 devicetree changes for v7.4 A short series of enhancements for the NPCM845 SoC and its evaluation board= .
SoCFPGA Firmware update for v7.4 - Turn off secondary CPUs using PSCI on Agilex7 and Stratix10 Warm resets on these platforms require a clean PSCI state. - Clean up stratix10_svc_free_memory() to reduce nesting - Add SMMU DMA coherent support on Agilex5 Use DMA-coherent buffers and IOVAs in the service driver for Agilex5 - Set kaddr1 to res.a1 which matches the existing error path and allow callers to retrieve firmware status details - Allow older firmware that excluded COMMAND_RSU_UPDATE and COMMAND_RSU_STATUS to return SVC_STATUS_NO_SUPPORT so the firmware can continue instead of waiting for a timeout. - Add support for SDM mailbox interrupt on async transactions - Reduce polling times by introducing polling modes(Fast and Slow)
the upcoming v7.4 merge window. There are three new drivers, support for a new SPMI PMIC and some minor driver improvements along with necessary DT bindings changes. Details are in the signed tag. Thanks, Bartosz Qualcomm pin control updates for v7.4-rc1 New drivers: - add the TLMM drivers for Kuno and MSM8952 - add the LPASS LPI driver for Hawi New model support: - support PMAU0102 GPIO in pinctrl-spmi-gpio Driver improvements: - fix/unify naming convention in defines specific to Qualcomm pinctrl drivers - extend debugfs verbosity for pinctrl-lpass-lpi - make the return type from kcalloc() const in tlmm-test Devicetree bindings: - add binding documents for new drivers - document compatibles for new models - document the gpio-line-names property for qcom,sc8280xp-tlmm
Hi SoC Maintainers, Yixun Lan RISC-V SpacemiT DT changes for 7.4 For K3 SoC - Correct CLINT and ACLINT - Add USB nodes info - Add cpu scaling - Add rfkill node - Add i2s info - Fix IMSIC - Enable thermal and fan control (CTF230) For K1 SoC - Set mac address from eeprom - Enable onboard eeprom MISC Changes: - MAINTAINERS updates
Hi Breno, Here is the first pull request from me to you for the Rust configfs abstractions. Please note that I neglected to push these three patches to the remote that is picked up by linux-next (just did it now). However, I tried the merge and verified everything works under my usual configurations, so we should be fine. Best regards, Andreas Hindborg Rust configfs changes for v7.4-rc1 Three changes for the Rust configfs bindings. One typo fix for a safety comment and two bug fixes.
Hi, There is a minor conflict against bd94bea7165be450903c6d64bbcb4862e36798f9 = see[1] TI K3 defconfig updates for v7.4 - Convert the TI System Control Interface (TISCI) drivers in the arm64 defconfig from built-in to loadable modules. This reduces the size of the default kernel image, while the drivers remain available on K3 platforms through the initramfs or root filesystem.
Hi, TI Keystone device tree updates for v7.4 Generic Fixups/Cleanups: * Correct white-space style across the Keystone DTSI files * Align devctrl child node names with dtschema naming requirements SoC Specific Fixes: K2G: * Add the required #phy-cells property to the usb-nop-xceiv nodes * Move the usb-phy nodes out of simple-bus, as they have no MMIO address (dtbs_check fixes) K2L: * Rename the deprecated ti,davinci-spi-num-cs property to the standard num-cs (dtbs_check fix)
Hi, Please note that the property 'power-off-delay-us' picked up that is availa= ble in linux-next. We are clean on dtbs_check on linux-next next-20261002. TI K3 device tree updates for v7.4 Generic Fixes/Cleanups: * MMC: Configure the MMC clock pads as OUTPUT across AM62x, AM62A and AM62P based boards (SK, LP-SK, BeaglePlay, PocketBeagle2, phyCORE, TQMa62xx, Variscite and Verdin), so the clock pin is driven correctly. * am62a: Fix the MMC0_CLK pin register address. * am62*: Add the wakeup R5F nodes to the pre-RAM bootphase, and split the R= 5F memory region on AM62A and AM62P. * am62*: Correct the wkup R5F memory region size on the AM62A, AM62D and AM= 62P boards and SoMs that reuse the shared IPC firmware layout. * k3-pinctrl: Add virtual GPIO select mux macros. * am62a/am62p/j722s: Fix watchdog comments. * dt-bindings: Update the audio-refclk binding and the J721E system control= ler binding. SoC Specific features and Fixes: AM62A: * Assign on-chip SRAM to the VPU (wave5) node. AM62P/J722S: * Add the GPU node. * Assign on-chip SRAM to the VPU node. J721S2: * Add an mmio-sram node to main_navss and assign SRAM to the VPU node. Board Specific: AM62x: * SK: Mark the eMMC as non-removable. * AM62L EVM: Remove unnecessary internal pull-ups on the MMC0 pins. * Verdin, Ivy and Zinnia: Fix the main_gpio0/main_gpio1 line-names array si= zes and add the missing SODIMM_84 line name. AM62A: * SK: Add an ethernet alias. AM62P: * Verdin: Build the Zinnia DTBs. AM654: * Base board: Add a power-off delay so the MMC supply is properly power-cyc= led. AM67 (J722S): * Add support for the PHYTEC phyCORE-AM67x SoM, including its bindings. AM69 (J784S4/J742S2): * Aquila: Add the Toradex DSI-to-LVDS adapter with the 10.1" V2 display and= fix a typo in the AQUILA_B73 GPIO line name. * EVM: Set the ACSPCIe refclk to MAIN_PLL2_HSDIV4 for PCIe1. J7200: * Common proc board: Add an ethernet alias. J721S2: * EVM: Add an audio overlay. * Common proc board: Add an ethernet alias. J722S: * EVM: Switch the audio codec clock from audio_refclk1 to an external clock, and add an ethernet alias
Hi, TI K3 MAINTAINERS updates for v7.4 - Add the git tree entry for the TI K3 ARCHITECTURE section, so that developers and contributors can easily find the tree where K3 SoC and board patches are maintained and queued.
Hi, TI SoC driver updates for v7.4 Small cleanup-only pull request for drivers/firmware and drivers/soc/ti. It contains no functional changes to SoC behavior and no new features Firmware: - ti_sci: Simplify the buffer pointer allocation by using kzalloc() in place of kcalloc() - ti_sci: Fix a typo in comments SoC drivers: - k3-ringacc: Correct the ring API kernel-doc and the DMA ring initializati= on kernel-doc so the documentation matches the code - knav_qmss: Fix typos in comments
Hi Arnd and SoC folks, Note that I do not treat untested, LLM-assisted fixes as critical fixes, thus usually do not take them into fixes cycle. Best regards, Krzysztof Memory controller drivers for v7.4 1. Broadcom DPFE: Fix handling kernel memory accesses with malicious or compromised firmware and possible out-of-bounds read triggered by buggy co-processor. Also validate firmware image contents before processing it. 2. Renesas RPC IF: One fix for volatile register access, several cleanups and enable autosuspend in runtime PM. 3. Several minor improvements and fixes for various drivers: TI EMIF, Samsung Exynos5422 DMC, Nvidia Tegra264 and STM32 OMM. The fixes seems to be effect of LLM usage, thus they were neither reproduced nor tested, making them non-critical fixes. 4. Mediatek SMI: Add support for MT8189 SoC.
Samsung SoC clock drivers changes for v7.4 1. New drivers for a new SoC: Exynos5515. 2. ACPM driver: add support for Exynos850 (beside existing Google GS101).
Samsung SoC drivers for v7.4 1. First driver patches for Exynos5515. 2. Fix error paths and possible probe-ordering issue of Exynos PMU (Power Management) driver.
Hi Arnd and SoC folks, New SoC platform, in the future this will be handled by Peter Griffin. Best regards, Krzysztof Google Tensor G5 SoC family - new platform Introduce new ARCH_GOOGLE for the Google Tensor G5 (Laguna) family of SoCs. The very early designs - Google GS101 - were derivatives of Samsung SoC, thus they were grouped under Samsung SoC. The G5 however went its own way, so no commonality with Samsung and a new ARCH_GOOGLE symbol. Currently upstreamed SoC is used for example in Google Pixel 10 phones. Add basic support of three of their variants (Pixel 10, Pixel 10 Pro, Pixel 10 Pro XL).
Thanks, Jens Move tee_ioctl_shm_register_data to above IOCTL definition
Thanks, Jens Drop unused assignment of platform_device_id driver data
T-HEAD device tree changes for v7.4 Add the Milk-V Meles, a single board computer with the TH1520 SoC: - Document the board compatible alongside the BeagleV Ahead - Add the base device tree with UART0, eMMC, microSD, Gigabit Ethernet and the PWM fan - Enable the AP6256 Wi-Fi module on SDIO1 - Enable HDMI output through the DC8200 display controller and the DW-HDMI transmitter Also update MAINTAINERS: move the T-Head SoC tree T: entry to kernel.org
Apple SoC driver updates for 7.4 - Enabled shared GPIO support for ARCH_APPLE which will be used for a shared GPIO line for the speaker codecs - Add RTKit crashlog support for older 32-bit co-coprocessors used in older iPhones and iPads. Signed-off-by: Sven Peter <[email protected]>
Apple SoC DTS changes for 7.4 - Initial device trees for all machines with the base M4 SoC and the A18 Pro based MacBook Neo. As usual, the PMGR nodes are responsible for the majority of the diffstat. This is enough to boot with all cores to a serial console but future work will be required to make these useful for users. - Fixes for a whole bunch of dt-check-style issues for M1/M2/M3 Signed-off-by: Sven Peter <[email protected]>
Steven, RTLA patches for 7.4 - Test actions in absence of threshold Cover the case which regressed in the past in tests. - More robust CPU count detection Parse /sys/devices/system/cpu/possible directly instead of going through libc for CPU count and sanity check against any mismatch with the number reported by tracefs / osnoise. - Add option to record IPI count in osnoise top In addition to counting IRQs, add an option to enable counting IPIs targetting the measurement CPU to the rtla-osnoise-top tool. - Improve runtime test usability Catch up with increased complexity of runtime tests with better defaults and more options available to the developer running the tests. - Simplify osnoise tracer option setting code Deduplicate osnoise tracer option setting code with macros to make it less error-prone and to make it easier to add new tracer options in the future. Signed-off-by: Tomas Glozar <[email protected]>
The OP-TEE driver is still only built for Arm, but that will change in a not too distant future. Thanks, Jens Build the OP-TEE driver's SMC and FF-A code only where supported
Steve, rv changes for v7.4 (for-next) Summary of changes: - Improve lockdep annotation for reactors Reactors are not supposed to take locks, so they fit the LD_WAIT_FREE lockdep class. However, reactors may run in preemptible context and if the preempting code (tick or simply the scheduler) takes locks, we see a lockdep splat. Switch to LD_WAIT_SPIN to avoid the splat while documenting that reactors should still not take locks. - Add KUnit tests for reactors Add KUnit test cases to validate registration and reaction, this requires exporting some symbols and other minor fixes. - Use the right rv_this variable in the wakeup monitor LTL monitors were updated to use the generic rv_this static variable but this change wasn't propagated to the newly introduced wakeup monitor. This broke reactors for the monitor: update the it.
Hi Jens, I have a number of Rust block layer patches I would ask you to pick for v7.4. I have collected them into a patch series as well as a pull request so you can use whatever is easier. The changes cover - Style and formatting changes. - Documentation fixes. - Fixes for missing trait bounds that can cause API unsoundness. - A change to set the owner of the file operations vtable in `GenDisk`. - Two bug fixes for the rnull driver.
SGkgR3JlZyENCg0KUGxlYXNlIHB1bGwgUEVDSSB1cGRhdGUgZm9yIExpbnV4IHY3LjQuDQoNClRo YW5rcw0KLUl3b25hDQoNClRoZSBmb2xsb3dpbmcgY2hhbmdlcyBzaW5jZSBjb21taXQgOTNmNTE1 NzllN2RmMjQ4NzgwMjE0MDk0NDE4ZjIwNTI1MzM4M2NjNToNCg0KICBMaW51eCA3LjMtcmM0ICgy MDI2LTA5LTIwIDEzOjQ4OjE1IC0wNzAwKQ0KDQphcmUgYXZhaWxhYmxlIGluIHRoZSBHaXQgcmVw b3NpdG9yeSBhdDoNCg0KICBnaXQ6Ly9naXQua2VybmVsLm9yZy9wdWIvc2NtL2xpbnV4L2tlcm5l bC9naXQvaXdpL2xpbnV4LmdpdCB0YWdzL3BlY2ktbmV4dC03LjQtcmMxDQoNCmZvciB5b3UgdG8g ZmV0Y2ggY2hhbmdlcyB1cCB0byA0MjUxMjVlNmQ0MDhiNTk2OWFmYjk5YzNlOTVhMzkxZjFmMWFk ODFkOg0KDQogIHBlY2k6IG5wY206IEluaXRpYWxpemUgc3RhdGUgYmVmb3JlIHJlcXVlc3Rpbmcg SVJRICgyMDI2LTA5LTI1IDIyOjIwOjM4ICswMjAwKQ0KDQotLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQpVcGRhdGUgcGVjaS1u ZXh0IGZvciB2Ny40LXJjMQ0KDQpTbWFsbCBmaXhlcyBpbiBjb250cm9sbGVyIGRyaXZlcnMgaW5j bHVkaW5nOg0KLSBmaXggZm9yIHVuaW5pdGlhbGl6ZWQgY2xrX2luaXRfZGF0YSBzdHJ1Y3R1cmUg KHBlY2ktYXNwZWVkKSwNCi0gbW92aW5nIGxvY2sgYW5kIGNvbXBsZXRpb24gaW5pdGlhbGl6YXRp b25zIGJlZm9yZSByZWdpc3RlcmluZw0KICBpbnRlcnJ1cHQgaGFuZGxlciB0byBhdm9pZCB1c2lu ZyB0aGVtIHVuaW5pdGlhbGl6ZWQgKHBlY2ktYXNwZWVkLA0KICBwZWNpLW5wY20pLg0KDQotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQpHZWVydCBVeXR0ZXJob2V2ZW4gKDEpOg0KICAgICAgcGVjaTogY29udHJvbGxlcjogYXNw ZWVkOiBNYWtlIHN1cmUgY2xrX2luaXRfZGF0YSBpcyBmdWxseSBpbml0aWFsaXplZA0KDQpSdW55 dSBYaWFvICgyKToNCiAgICAgIHBlY2k6IGFzcGVlZDogSW5pdGlhbGl6ZSBzdGF0ZSBiZWZvcmUg cmVxdWVzdGluZyBJUlENCiAgICAgIHBlY2k6IG5wY206IEluaXRpYWxpemUgc3RhdGUgYmVmb3Jl IHJlcXVlc3RpbmcgSVJRDQoNCiBkcml2ZXJzL3BlY2kvY29udHJvbGxlci9wZWNpLWFzcGVlZC5j IHwgOCArKysrLS0tLQ0KIGRyaXZlcnMvcGVjaS9jb250cm9sbGVyL3BlY2ktbnBjbS5jICAgfCA2 ICsrKy0tLQ0KIDIgZmlsZXMgY2hhbmdlZCwgNyBpbnNlcnRpb25zKCspLCA3IGRlbGV0aW9ucygt KQ0K
Hi! tree to satisfy the dependencies for supporting BT on Monza. Thanks, Bartosz power: sequencing: provide and use pwrseq_is_controllable() Add a new core power sequencing consumer functions: pwrseq_is_controllable(). This allows users to check whether the sequencer's target is actually host-controllable.