summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
35 hoursMerge tag 'parisc-for-7.4-rc1' of ↵stableLinus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux Pull parisc updates from Helge Deller: - fix out-of-bounds read in eisa_enumerator driver - drop redundant pte_xxx() macros and use common macros - code cleanup in eisa_enumerator driver - typo fixes in comments in various header files * tag 'parisc-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/parisc-linux: parisc: eisa_enumerator: Code and whitespace cleanups parisc: eisa_enumerator: Fix out-of-bounds reads of the EEPROM buffer parisc: Drop redundant implementation of ptep_set_wrprotect() parisc: Drop redundant implementation of pte_same() parisc: Drop own implementations for ptep_get() and ptep_test_and_clear_young() parisc: fix typos in comments in parport.c parisc: fix typos in comments in sba_iommu.c parisc: fix typos in comments in pdc_stable.c parisc: fix typos in comments in dino.c parisc: fix typos in comments in ccio-dma.c parisc: fix typos in comments in memcpy.c parisc: fix typos in comments in mman.h parisc: fix typos in comments in special_insns.h parisc: fix typos in comments in pdcpat.h
35 hoursMerge tag 'sh-for-v7.4-tag1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux Pull sh updates from John Paul Adrian Glaubitz: "Fixes and improvements for various boards as well as the generic sh kernel: - help the mach-x3proto and ecovec24 boards get rid off the use of the old platform data API in the kernel. For the former board, software nodes are being used for gpio-keys now while for the latter board, static device properties are used to describe the touchscreen (Dmitry Torokhov) - a build fix when CONFIG_BUILTIN_DTB is enabled, and fix an issue with __get_user_u64() and __put_user_u64() using wrong memory operands which could cause the kernel build to fail with "invalid 'asm'" or an internal compiler error in GCC's change_address_1 (Florian Fuchs) - update various default configuration files of several boards to replace the removed CONFIG_USB_GADGET_M66592 with the new CONFIG_USB_M66592 Kconfig option (Pengpeng Hou) - fix two issues with the SH-7785LCR evaluation board: fix a kernel memory leak which occurred as a result of the prio and sense lists being sorted too early in register_intc_controller(), and fix the the registration of the PCA9564 controller so that the RTC works properly again (Karl Mehltretter) - fix missing cookies when calling free_irq() in the maple bus driver which ensures that IRQ handlers can be properly unregistered and the kernel does not emit a WARN message (Runyu Xiao) - select BINFMT_FLAT_NO_DATA_START_OFFSET for !MMU configurations such that there is no gap at the end of text and init runs which causes the GOT register to point below the real GOT, so every GOT load reads the neighbouring slot and gets a wrong pointer (Waldemar Brodkorb)" * tag 'sh-for-v7.4-tag1' of git://git.kernel.org/pub/scm/linux/kernel/git/glaubitz/sh-linux: sh: Select BINFMT_FLAT_NO_DATA_START_OFFSET for !MMU sh: maple: Use the matching IRQ cookie when invoking free_irq() sh: sh7785lcr: Register the PCA9564 controller as I2C bus 0 sh: intc: Sort the prio and sense lists after filling them sh: defconfig: Enable the current M66592 UDC symbol sh: uaccess: Require offsettable operands for 64-bit user access sh: Fix built-in DTB build with generic rule sh: ecovec24: Use static device properties to describe the touchscreen sh: mach-x3proto: Convert gpio-keys to software nodes sh: mach-x3proto: Add software node for GPIO controller
35 hoursMerge tag 'mips_7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linuxLinus Torvalds
Pull MIPS updates from Thomas Bogendoerfer: "MM: - fix huge TLB handling OCTEON: - correct register access for CN6xxxx SOCs - provide DTs for platforms where U-Boot doesn't have a DT Decstation: - fix 64bit kernels - build cleanups Others: - cleanups and fixes" * tag 'mips_7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mips/linux: (30 commits) MIPS: octeon: Add detection of UBNT Edgeroute Lite devices MIPS: octeon: Use MIPS_MACHINE for boards without provided device tree MIPS: GT64120: Remove duplicate GT_PCI1M1LD_OFS and GT_PCI1M1HD_OFS mips: dts: pic32: pic32mzda: Remove unused address-cells, size-cells property MIPS: generic: Remove undefined image 'ramdisk' docs: ABI: lefi: drop "ROM Size" in sysfs file doc. docs: ABI: lefi: use literal blocks MIPS: dec: Reorder header inclusions in setup.c MIPS: Reword KBUILD_SYM32 documentation for clarity MIPS: Eliminate redundant KBUILD_SYM32 check MIPS: decstation_64_defconfig: Compile the kernel with warnings as errors MIPS: decstation_64_defconfig: Regenerate for 7.x MIPS: dec: Add missing <linux/interrupt.h> inclusion to reset.h MIPS: Only check -msym32 when need-compiler MIPS: remove unused <asm/cmp.h> header MIPS: remove unused <asm/mips-boards/sead3-addr.h> header MIPS: remove unused <asm/amon.h> header MIPS: Octeon: offer the RedBoot parser when it is modular MIPS: Octeon: size the swiotlb for a modular OHCI platform driver MIPS: mm: do not write a huge TLB entry when the probe misses ...
35 hoursMerge tag 'x86-urgent-2026-10-25' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull x86 fix from Ingo Molnar: - Mark CPUID function 0x23 as being indexed - which bug could break VMs (Sean Christopherson) * tag 'x86-urgent-2026-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: x86/cpuid: Mark CPUID function 0x23 as being indexed
35 hoursMerge tag 'timers-urgent-2026-10-25' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull timer fixes from Ingo Molnar: - Clear timer_base::pending_map on CPU hot-unplug, that can cause temporal timeout processing anomalous on the next hot-replug (Liang Hao) - Fix PID refcount leak in the posix-cpu-timers do_cpu_nanosleep() signal path (Cen Zhang) - Require (CAP_SYS_TIME) permission to set auxiliary clocks via aux_clock_set() (Daehyeon Ko) - Update offsets on sequence counter retry in ktime_get_update_offsets_now() (Thomas Weißschuh) * tag 'timers-urgent-2026-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: timekeeping: Update offsets on sequence counter retry in ktime_get_update_offsets_now() timekeeping: Require permission to set auxiliary clocks posix-cpu-timers: Fix pid refcount leak in do_cpu_nanosleep() signal path timers: Clear pending_map on CPU hotplug
35 hoursMerge tag 'sched-urgent-2026-10-25' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull scheduler fixes from Ingo Molnar: - Fix MM CID affinity-triggered switch back to per-task mode (Hui Su) - Fix scheduling regression observed on AMD Ryzen AI HX 370 systems, caused by cache aware scheduling incorrectly overriding asym packing placement (Tim Chen) - Fix stale get_pref_llc() prototype for !CONFIG_SCHED_CACHE (Yafang Shao) * tag 'sched-urgent-2026-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: sched: fix stale get_pref_llc() stub for !CONFIG_SCHED_CACHE sched/cache: Honor asym packing over cache aware scheduling on hybrid systems sched/mmcid: Fix affinity-triggered switch back to per-task mode
35 hoursMerge tag 'perf-urgent-2026-10-25' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull perf events fixes from Ingo Molnar: - Fix Alpha build failure caused by a semantic conflict between perf and arch-alpha changes (Thomas Weißschuh) - Fix UAF in attach_task_ctx_data() (Lee Jia Jie) - Fix perf_remove_from_context() event scheduling (Peter Zijlstra) * tag 'perf-urgent-2026-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: perf: Fix perf_remove_from_context() event scheduling perf: Fix UAF in attach_task_ctx_data() alpha: add simd_enabled argument to perf_reg_validate()
35 hoursMerge tag 'irq-urgent-2026-10-25' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip Pull kexec / irq fix from Ingo Molnar: - Fix possible hang in machine_kexec_mask_interrupts(), which incorrectly assumes that irq_set_irqchip_state() will always be able to complete in a kexec crash path, triggered on RK3399 embedded boards (Igor Velkov) * tag 'irq-urgent-2026-10-25' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: genirq/kexec: Do not take the bus lock of an interrupt chip on the crash path
35 hoursMerge tag 'liveupdate-v7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux Pull liveupdate updates from Mike Rapoport: - Several small fixes to KHO and LiveUpdate selftest - A series that renames "KHO scratch" to "KHO bootmem" because this memory is way more important in kexec'ed kernels rather than in the original cold boot kernel and the new name reflects it * tag 'liveupdate-v7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux: kho: do not reserve empty per-node bootmem areas selftests/liveupdate: Prefer KVM and HVF over TCG in vmtest.sh kho: rename kho_scratch= commandline parameter to kho_bootmem= kho: rename KHO scratch to KHO bootmem memblock: rename KHO_SCRATCH to KHO_NOPRSRV memblock: get rid of CONFIG_MEMBLOCK_KHO_SCRATCH kho: docs: fix scratch_phys debugfs cross-reference kho: do not reserve scratch memory in the kdump kernel
36 hoursMerge tag 'kexec-v7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux Pull kexec updates from Mike Rapoport: - Fix probe error codes and error propagation: - make architecture functions that probe loaded image consistenly return -ENOEXEC when they do not recognize the image format - make kexec_image_probe_default() distinguish image format mismatches (-ENOEXEC) from real errors (e.g. -ENOMEM), propagating real errors immediately and only continuing to the next loader on -ENOEXEC - Make sure the next kernel does not land on hardware-poisoned pages - Remove unused arch_kexec_locate_mem_hole hook * tag 'kexec-v7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/liveupdate/linux: kexec_file: remove unused arch_kexec_locate_mem_hole hook kexec: fix error propagation in kexec_image_probe_default() kexec: return -ENOEXEC from image probe functions on mismatch kexec: keep the next kernel off hardware-poisoned pages kexec_file: stop the top-down search before it underflows
36 hoursMerge tag 'memblock-v7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mm/memblock Pull memblock updates from Mike Rapoport: "Performance improvement: - Use binary search in memblock_add_range() and memblock_isolate_range() Cleanups: - Several simplifications in memblock and mm_init that remove redundant code - After rework of sparsemem buffer preallocation, memmap_alloc() does not require exact_nid parameter. Remove that parameter, drop now unused memblock_alloc_exact_nid_raw() and adjust memblock tests accordingly memblock test updates: - add coverage for lowmem allocations - fix 32-bit build warnings" * tag 'memblock-v7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mm/memblock: memblock: use binary search to locate candidate regions memblock: drop for_each_memblock_type() and open code its users memblock: Remove unused memblock_alloc_exact_nid_raw() memblock tests: Move exact nid tests to memblock_alloc_range_nid() mm: Remove unused exact_nid parameter from memmap_alloc() memblock: initialize the region merge end index tools: use __pa() in virt_to_phys() memblock tests: zero-extend simulated memory addresses memblock tests: use physical addresses for region removal memblock: reject non-page-aligned reserve_mem regions memblock tests: cover allocations below the low address limit memblock tests: model the low allocation limit within dummy memory mm/mm_init: remove zone_absent_pages_in_node() memblock: remove conditional return with no effect memblock: simplify reset_all_zones_managed_pages()
37 hoursMerge tag 'for-7.4-part2-tag' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux Pull more btrfs updates from David Sterba: "This removes unused code of free space caching, disabled in 7.3 (commit 545e560a5b0f: "btrfs: disable v1 space cache"). It's been the original free space cache feature, superseded by free space tree (4.5) and mkfs default since 5.15. The grace period was sufficiently long, backward compatibility still exists with a performance impact, effectively as if mounted with '-o nospace_cache'" * tag 'for-7.4-part2-tag' of git://git.kernel.org/pub/scm/linux/kernel/git/kdave/linux: btrfs: remove TRANS_JOIN_NOLOCK btrfs: stop reading free space inodes from the commit root btrfs: stop special-casing free space inodes in the delalloc accounting btrfs: remove the free space inode special cases from the COW paths btrfs: remove the free space inode ordered extent special cases btrfs: remove BTRFS_RESERVE_FLUSH_FREE_SPACE_INODE btrfs: remove the free space cache trimming ranges btrfs: replace btrfs_set_free_space_cache_v1_active() with a cleanup helper btrfs: remove the SPACE_CACHE mount option flag btrfs: remove btrfs_disk_cache_state btrfs: remove the v1 space cache load path btrfs: drop the transaction handle from the prealloc helpers btrfs: rename cache_write_mutex to dirty_bgs_update_mutex btrfs: remove the v1 space cache write path btrfs: remove the free space cache endio workqueue btrfs: remove the v1 space cache writeout from the transaction commit btrfs: stop enabling the v1 space cache from the on-disk state btrfs: update the inode item when removing a free space inode btrfs: drop the extent maps of the written part of a failed ordered extent btrfs: fix use-after-free on quota enable allocation failure
37 hoursMerge tag 'ext4_for_linus-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4 Pull ext4 updates from Ted Ts'o: "Add support for buffered iomap support in ext4. This is not enabled by default, but requires the buffered_iomap mount option, as this mode does not support online defragmentation, inline data, fsverify, fscrypt, non-extent inodes, and data=journal mode. If buffered_iomap is enabled, ext4 will fall back to the original I/O code path automatically if necessary. Large writes show significant performance improvements when buffered iomap is enabled. There are also miscellaneous bug fixes and improvements, including for fast commit and avoiding deadlocks and out-of-bound reads when handling corner cases involving corrupted file systems" * tag 'ext4_for_linus-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (41 commits) ext4: introduce a mount option for iomap buffered I/O path ext4: partially enable iomap for the buffered I/O path of regular files ext4: add tracepoints for EOF block zeroing and disksize-grow I/O ext4: add tracepoints for DISKSIZE_GROW_PENDING set, clear, and wait ext4: set DISKSIZE_GROW_PENDING after zeroing unaligned EOF block ext4: clear DISKSIZE_GROW_PENDING on truncate or error ext4: submit and wait for disksize-grow I/O in fallocate paths ext4: defer i_disksize update while DISKSIZE_GROW_PENDING is set ext4: advance i_disksize to i_size upon disksize-grow I/O completion ext4: submit and wait for pending disksize-grow I/O on writeback ext4: add EXT4_STATE_DISKSIZE_GROW_PENDING state bit and helpers ext4: disable online defrag when inode using iomap buffered I/O path ext4: add block mapping tracepoints for iomap buffered I/O path ext4: drain writeback before removing extents on the iomap path ext4: implement partial block zero range path using iomap ext4: implement mmap path using iomap ext4: implement writeback path using iomap ext4: rework handle credit accounting for unwritten extent conversion ext4: implement buffered write path using iomap ext4: do not use data=ordered mode for inodes using buffered iomap path ...
37 hoursMerge tag 'ntfs-for-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs Pull ntfs updates from Namjae Jeon: "New features: - Implement ioctls to list, read, write, and remove named streams on files and directories. Provide optional file:stream pathname access through streams_interface=windows, exposing streams as regular file descriptors with support for mmap, locking, truncation, and allocation. - Support file attribute queries and updates through FS_IOC_GETFLAGS and FS_IOC_SETFLAGS. Store immutable, append-only, nodump, and noatime settings in the private $LINUXFLAGS extended attribute and restore them when loading inodes. Also report compression, encryption, and the mount-wide case-folding policy as read-only attributes. Other changes: - Expose the existing NTFS volume serial number through FS_IOC_GETFSUUID by registering it as an eight-byte filesystem identifier. - Validate MFT I/O geometry and write MFT records and mirror data through mapped I/O units, keeping neighboring records intact when multiple records share a native 4Kn block. Track folio writeback until all BIOs complete, serialize raw record updates against writeback, and use the caller's requested completion mode. - Discard stale uninitialized cache data before extending initialized size, ensure shared mmap writes update initialized size after native 4Kn size extension, and synchronize attribute inode sizes after internal resizes. Keep VFS and NTFS sizes consistent when write-error rollback fails and record the volume error. - Wait for existing folio writeback before updating attribute data, require page alignment for full-page write optimizations, and include the final partial cluster in synchronous writes. Skip duplicate VFS page-cache truncation under the MFT record lock to avoid a truncate and writeback deadlock. - Restart allocation zone searches after failed hints and prevent contiguous allocation requests from returning additional disjoint runs that callers leave uninitialized. Allow fallocate after MFT-zone exhaustion and interrupt allocation loops only for fatal signals, avoiding spurious interruptions from io_uring task-work notifications. - Wait for the initial bitmap scan before extending the MFT bitmap, bound direct allocation candidates by the volume size, update free-space accounting, and undo only newly allocated clusters after run coalescing. Update attribute-list inode size before reserving additional space. - Hold runlist locks while expanding non-resident attributes, balance locks during MFT extension error handling, and avoid pointers invalidated by runlist reallocation. Keep source runlists available for rollback and allocate enough room for runlist markers and terminators. - Return errors for unmappable runlist fragments instead of treating them as holes or delayed allocation. Check non-resident attribute sizes against their allocation and fail mounts when $MFT needs extent records outside the decoded runlist to describe itself, preventing silent zero reads and mount hangs. - Load and validate $BadClus:$Bad at mount time and reserve known bad clusters before the free-space scan. Fall back to read-only operation when bad-cluster metadata cannot be validated and prevent subsequent read-write remounts. - Serialize volume flag updates and retain the dirty bit after metadata changes while the volume remains mounted read-write. Persist recorded errors after final metadata commits, fail ordinary read-only remounts on sync, commit, or flush errors, and retain the dirty bit on forced remounts. - Flush the device write cache when syncing directories and report flush failures from both file and directory fsync. Drain in-flight direct I/O before buffered write fallback and keep nonblocking requests from entering the blocking fallback path. - Mount hibernated volumes, or volumes whose hibernation state cannot be determined, read-only regardless of the errors= policy. Prevent mount-time and dirty-state updates from modifying hibernated volumes. - Validate complete EA chains, link zero-terminated tails when appending entries, retain the EA presence flag, and distinguish empty values from removal. Propagate lookup, write, and truncate errors, restore both EA attributes after failed updates, and shut down the volume if restoration fails. - Restore the previous ACL xattr when a subsequent WSL mode update fails, including replacement and removal cases. Record rollback failures so an unsuccessful permission change cannot silently leave inconsistent ACL and mode state. - Apply MST fixups to individual index blocks on large-page systems and use fixed 512-byte VCN units when an index block is smaller than its cluster. Support lookup and removal of POSIX names containing Windows-invalid characters and identify directory symlinks and junctions during enumeration. - Report the stored creation time for symbolic links through statx() when querying the link itself with AT_SYMLINK_NOFOLLOW. - Use wider decompression offsets to avoid overflow on 64 KB pages, accept the standard sparse compression unit, and require the compressed-size field only on the first attribute extent. Block direct reads and skip readahead for encrypted files to prevent returning raw ciphertext. - Validate index entry offsets, logfile update sequence array counts, attribute-list sizes, and index collation key lengths to prevent out-of-bounds accesses, NULL pointer dereferences, and excessive allocations from corrupt volume metadata. - Derive FITRIM bitmap indexes from the page size and retain the full 64-bit minimum discard length. Balance highmem mappings in logfile and MFT mirror checks and propagate specific errors from extent, attribute, and reparse operations. - Compare streams_interface with the mounted volume's setting during remount, make named-stream UAPI padding explicit, document stream access and Linux file attributes, and add the NTFS UAPI header to MAINTAINERS" * tag 'ntfs-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/ntfs: (93 commits) ntfs: handle a failed size rollback in the write error path ntfs: fix u16 truncation of the update sequence array count check ntfs: reject index blocks with a too small entries offset ntfs: support persistent noatime attribute ntfs: roll back the ACL xattr commit when the WSL mode update fails ntfs: report birth time for symbolic links ntfs: support FS_IOC_GETFSUUID ntfs: avoid unnecessary padding in uapi structure ntfs: flush the block device when syncing a directory ntfs: report block device flush failures from fsync ntfs: fix NULL dereference on index allocation open failure ntfs: compare streams_interface with mounted volume on remount ntfs: widen the sub-block offsets in ntfs_decompress() ntfs: reject direct I/O reads of encrypted files ntfs: do not read ahead encrypted files ntfs: persist nodump in the $LINUXFLAGS EA ntfs: persist append-only in the $LINUXFLAGS EA ntfs: persist immutable in the $LINUXFLAGS EA ntfs: add fileattr query support ntfs: restore EA attributes when an update fails ...
37 hoursMerge tag 'exfat-for-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat Pull exfat updates from Namjae Jeon: - Use the recalculated append position when advancing valid_size, dirty all pages involved in valid-data extension, and zero invalid tails on partial overwrites. Write-protect the folio spanning the old EOF and zero its post-EOF range when extending a file, ensuring subsequent mmap writes advance valid_size. - Make valid_size and zeroed_size atomic to prevent torn reads and lost updates. Hold the invalidate lock during truncation, and drain in-flight direct I/O before buffered writes, buffered fallback, and page-cache operations that extend valid_size. - Fall back to single-cluster allocation when a buffered write cannot allocate its entire range, allowing writes to consume the remaining free space and return a short count. - Free clusters allocated beyond EOF after failed or short writes to prevent leaked space and spurious ENOSPC errors on later writes or file extensions. - Clean block-device buffer aliases when allocating clusters so delayed directory metadata writeback cannot overwrite file data after cluster reuse. - Update used_clusters as each cluster is allocated so partial-allocation cleanup keeps free-space accounting consistent. Acquire bitmap_lock before checking available space to serialize the check with allocation. - Use swap-specific iomap operations to report allocated extents beyond valid_size as unwritten during swap activation, retaining byte-accurate SEEK_HOLE and SEEK_DATA reporting in regular I/O. - Check allocation flags, vendor GUIDs, cluster numbers, data lengths, and contiguous extents in Vendor Allocation directory entries. Read complete entry sets during lookup so malformed trailing entries cannot bypass validation. - Follow directory FAT chains to their actual end when the recorded size is too small, supporting devices that leave directory sizes stale. Handle reads after seeking past the directory end. - Clear the volume dirty flag during remount only when switching to read-only without SB_FORCE. Update percent_in_use when changing volume flags, reporting unknown usage while the volume is dirty or persistent flags prevent marking it clean. - Replace runtime division by powers of two with bit operations. - Document supported mount options, and exfatprogs, and add the documentation path to MAINTAINERS. * tag 'exfat-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/exfat: exfat: fix reading a directory whose FAT chain is longer than its size exfat: free clusters beyond EOF when a write fails or is short exfat: clean stale bdev buffers of newly allocated clusters exfat: mark straddling folio RO and zero the post-EOF range exfat: fix a large buffered write failing when the volume is nearly full exfat: zero invalid tail on partial overwrites exfat: drain in-flight DIO before buffered writes exfat: make valid_size and zeroed_size atomic exfat: dirty all new pages when extending valid_size exfat: hold the invalidate lock while truncating exfat: advance valid_size to EOF for append writes MAINTAINERS: add exFAT documentation exfat: remove runtime integer division exfat: update percent_in_use field when updating volume flags exfat: clear the volume dirty flag only when remounting read-only exfat: doc: add documentation exfat: validate vendor allocation directory entries exfat: take bitmap_lock at the start of exfat_alloc_cluster() exfat: fix used_clusters accounting during cluster allocation exfat: map allocated extents for swap activation
37 hoursMerge tag 'ksmbd-for-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb Pull smb server updates from Namjae Jeon: - Add extended SMB2 directory information support. Implement FileIdExtdDirectoryInformation, FileId64ExtdDirectoryInformation, FileId64ExtdBothDirectoryInformation, FileIdAllExtdDirectoryInformation, and FileIdAllExtdBothDirectoryInformation, including reparse tags, file attributes, and initialized response padding. - Track unsigned 64-bit lock ranges in the server lock index, with conflict detection, blocking waits, cancellation, rollback, and cleanup for ranges beyond the VFS signed-offset limit. - Add configurable per-connection session limits. Reserve slots for new sessions and multichannel bindings, release them during failure and cleanup, and expose the configured limit through procfs. - Validate POSIX negotiate and CREATE contexts, including payload lengths, extension tags, duplicate contexts, dialect requirements, and share eligibility. Require POSIX opens for POSIX file, directory, and filesystem information queries. - Apply requested POSIX create modes, including mode zero, and NFS mode ACEs with special permission bits. Enforce append-only writes and base byte-range lock checks on each open's POSIX state. - Complete POSIX metadata responses with filenames, file types, permission bits, and filesystem device identifiers. Query filesystem information through the requested open and report the filesystem fragment size and response length. - Validate SMB3 encryption transform flags and ensure decrypted compound requests use the session authenticated by the transform, including requests containing compressed payloads. - Serialize negotiation with receive processing, size CREATE responses for their contexts, reserve UTF-16 terminator space in stream information, and validate WRITE data against the active compound request to prevent buffer overruns and stale-data writes. - Validate security descriptor offsets before pointer arithmetic, handle DACL offset overflow on 32-bit systems, and propagate inode ACL lookup failures safely. - Deny access through empty DACLs while retaining the owner's implicit security-management rights. Add KUnit regression coverage for DACL walk boundaries and maximal-access calculations. - Validate RPC pipe ownership for IPC$ reads and writes, and fix FSCTL_PIPE_TRANSCEIVE handle lookup and response file IDs. - Fix durable reconnect path validation for symlinked share paths, shares exporting "/", and handles opened at the share root. Check path boundaries before comparisons to prevent out-of-bounds reads and cross-share confusion. - Rebind completed durable CREATE replays to surviving channels without draining unrelated requests on the old channel. Transfer open accounting with the binding and avoid consuming additional open-file budget during durable reconnects. - Scope AppInstanceId takeovers to the matching share, path, stream, and client identity. Check access and AppInstanceVersion before closing an existing open. - Retry oplock and lease break notifications through other live channels, track queued TCP delivery, serialize acknowledgment updates, and expire unacknowledged breaks while waking blocked requests. - Keep lease tables and byte-range lock indexes independent of their original connection so surviving channels and detached durable opens retain access to lease and lock state. - Reclaim ended sessions after logoff and expiration, hold connection references for session channels, and drain procfs readers before releasing session table references. Avoid deadlocks during previous-session teardown and connection scavenging. - Prevent file publication after tree disconnect and retain tree references until final file release. Take parent dentry references during directory enumeration and serialize directory emptiness checks with readdir. - Prevent share-root removal through empty removal paths and return appropriate errors for directory zero-data requests and temporary directory attributes. - Fix named-stream writes, EOF changes, end-of-file reads, and content copying into rename targets. Reuse existing xattr names, report sizes by exact xattr name, and avoid emptying streams after lookup or permission failures. - Round allocation requests to the advertised allocation unit and avoid allocation changes that leave on-disk EOF inconsistent with the in-memory size. - Inherit FileIds across related compound requests, including CHANGE_NOTIFY, and use the existing async request machinery for notify waiting and cancellation. - Restore share configuration and Kerberos authentication compatibility with released ksmbd-tools. Advertise extended session security for raw NTLMSSP when requested by the client. - Improve Windows chained-compression compatibility, synthesized AFP_AfpInfo headers, generated short names, and UTF-16 alignment in partial normalized-name responses. - Fix interface-query locking, response chaining, link-speed reporting, and independent IPv4/IPv6 address enumeration. Display native IPv6 client addresses accurately in procfs. - Improve SMB Direct socket cleanup by reclaiming failed pending connections, skipping failed sockets during accept, avoiding indefinite disconnect waits, and handling unexpected receive opcodes without triggering kernel warnings. - Select CRYPTO_AES for SMB3 encryption, replace deprecated system workqueues, and update feature status documentation and POSIX specification references. * tag 'ksmbd-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb: (95 commits) ksmbd: select CRYPTO_AES ksmbd: prevent share root removal through empty paths ksmbd: serialize directory emptiness checks with readdir ksmbd: fix parent dentry lifetime in directory enumeration smb/server: prevent file publication after tree disconnect ksmbd: restore Kerberos logins with released ksmbd-tools smb/server: replace deprecated system workqueues ksmbd: reject FILE_ATTRIBUTE_TEMPORARY on directories ksmbd: deny access for an empty DACL instead of granting the request ksmbd: reject foreign RPC pipe handles on IPC$ read and write ksmbd: fix fd_limit accounting across durable reconnects ksmbd: drain session procfs readers before dropping table references ksmbd: reclaim ended sessions on logoff and expiration ksmbd: limit sessions on each connection ksmbd: hold a connection reference for each session channel ksmbd: defer connection scavenging while session locks are busy ksmbd: accept share config responses from ksmbd-tools before 3.5.3 ksmbd: round SetAllocation to the advertised allocation unit ksmbd: avoid restoring only in-memory EOF after allocation change ksmbd: inherit FileIds in related compound requests ...
37 hoursMerge tag 'nfs-for-7.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfsLinus Torvalds
Pull nfs client updates from Anna Schumaker: "New Features: - Modernize the direct I/O path - Size the LAYOUTGET reply buffer for wide flexfiles layouts - Flexfiles device notifications and caching for wide striped layouts - isolate mTLS client credentials by network namespace Bugfixes: - Various localio, flexfiles, xprtrdma, and TLS fixes - Merged bugfixes from Trond that he was unable to send during the 7.3-rc cycle Other Cleanups and Improvements: - Split up pNFS block layout and SCSI layout support" * tag 'nfs-for-7.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs: (68 commits) nfs/localio: pin UUIDs during global invalidation NFSv4/flexfiles: fail I/O to the data server once a lock is lost pNFS/flexfiles: don't report an interrupted DS connect as a DS error pNFS/flexfiles: make pg_init retry loops killable nfsv4/pnfs: use the MDS authflavor for data server connections xprtrdma: trim head iovec when the payload arrives via a Write chunk nfs: set gencount on protocol-specific remove xprtrdma: prevent disconnect feedback during endpoint teardown NFS: add a key type that reveals the namespace .nfs keyring serial number NFS: name the namespace .nfs keyring in the x509 handshake SUNRPC: pass a keyring serial number to the TLS handshake NFS: allocate the .nfs keyring per network namespace NFS: name the init_nfs_fs() error labels NFS: return DENIED in decode_lock_denied if we cannot decode owner pNFS/flexfiles: don't reset to MDS for v4 error when previous layout forbid it pNFS/flexfiles: don't read through MDS when previous layout forbid it pNFS/flexfiles: honor FF_FLAGS_NO_IO_THRU_MDS over the mdsthreshold hint NFS/localio: report the stability a DIO WRITE actually has NFS/localio: detect a short read or write before the iterator has moved NFS/localio: fix nfs_local_dio_misaligned tracepoint ...
38 hoursMerge tag 'nfsd-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linuxLinus Torvalds
Pull nfsd updates from Chuck Lever: "Jeff Layton extended the netlink listener-set operation so that a management daemon can register NFSD's programs with rpcbind itself. This prevents an unresponsive rpcbind from stalling NFSD administration for a minute at a time. Bulk delegation recall now adjusts the number of delegations it wants returned, based on memory pressure. The previous mechanism was spec-conformant, but it requested all delegations to be returned at once. Clients are free to return few or none in such cases, but requesting smaller batches of delegations is more neighborly. In preparation for handling TLS KeyUpdate, the server's TCP receive path has been reworked to handle control records. In the process, the use of sock_recvmsg was replaced with ->read_sock, which contends less with other holders of the socket lock. NFSv2 XDR code is now generated by xdrgen, which mechanically generates the encoders and decoders from the RPC language specification for the protocol. Replacing hand-built XDR code makes prototyping new protocol elements faster, reduces errors, and improves memory safety. Replacement of XDR code for newer NFS versions will continue in subsequent releases of NFSD. The remaining bulk of changes in v7.4 is bug fixes, clean-ups, and small optimizations. Sincere thanks to all contributors, reviewers, testers, and bug reporters who participated in the v7.4 NFSD development cycle" * tag 'nfsd-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux: (184 commits) SUNRPC: use assign_bit() where applicable nfsd: Fix id-to-name cache entry leak in idtoname_parse() NFSD: Use xdrgen XDR functions for NFSv2 READDIR results NFSD: Refactor NFSv2 directory cookie encoding NFSD: Add a streaming directory reader NFSD: Use xdrgen XDR functions for NFSv2 READDIR arguments NFSD: Use xdrgen XDR functions for the NFSv2 STATFS procedure NFSD: Use xdrgen XDR functions for NFSv2 RMDIR procedure NFSD: Use xdrgen XDR functions for NFSv2 MKDIR procedure NFSD: Use xdrgen XDR functions for NFSv2 SYMLINK procedure NFSD: Use xdrgen XDR functions for the NFSv2 LINK procedure NFSD: Use xdrgen XDR functions for the NFSv2 RENAME procedure NFSD: Use xdrgen XDR functions for the NFSv2 REMOVE procedure NFSD: Use xdrgen XDR functions for NFSv2 CREATE procedure NFSD: Refactor nfsd_proc_create() NFSD: Use xdrgen XDR functions for NFSv2 WRITE procedure NFSD: Use xdrgen XDR functions for the NFSv2 WRITECACHE procedure NFSD: Use xdrgen XDR functions for NFSv2 READ procedure NFSD: Use xdrgen XDR functions for NFSv2 READLINK procedure NFSD: Use xdrgen XDR functions for the NFSv2 LOOKUP procedure ...
38 hoursMerge tag 'for-linus-7.4-ofs1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux Pull orangefs updates from Mike Marshall: - Don't continue on to gpf if client dies on write. If the orangefs userspace client died while writeback was occurring it led to a gpf. This allows the kernel to finish the writeback. Reported by Farhad Alemi. - Don't wait on service operation on system shutdown This avoids waiting an already dead userspace to process an unmount operation if the system is shutdown while orangefs filesystems are still mounted. - Use ssize_t instead of size_t for error codes... This fixes a situation where an unsigned variable was being used to collect a string size, or possibly a negative error code. Reported by lkp@intel.com * tag 'for-linus-7.4-ofs1' of git://git.kernel.org/pub/scm/linux/kernel/git/hubcap/linux: orangefs: don't continue on to gpf if client dies on write. orangefs_super: don't wait on service operation on system shutdown. orangefs: use ssize_t instead of size_t for error codes...
2 daysMerge tag 'devicetree-for-7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux Pull devicetree updates from Rob Herring: - A bunch of improvements in dt-check-style. Fix various bindings based on these additional checks. - Convert hisilicon,hix5hd2-ir, hisilicon,hi6220-ade, hisilicon,hi6220-dsi, hisilicon,hip05-sas-v1, MediaTek RT5650 codecs, mediatek,g3dsys, mediatek,mt2701-scpsys, ti,omap-mpu, and ti,omap-ocp2scp to DT schema format - Add schemas for ST STM32MP2 DWC3 xHCI USB, ST STM32MP25 USB2-FEMTO PHY, spacemit,k1-gpu and spacemit,k3-gpu, HiSilicon local bus, HiSilicon HIP05 CPLD, SDMC DM2016, and QCom SM7250 and Kuno PDC - Various binding updates to fix schema warnings in .dts files - Drop obsolete .txt bindings for STM32(MP1) RCC, VExpress hwmon and regulator, and mailbox.txt - Remove the unused of_overlay_remove_all() function - Fixes for of_check_msi_parent() - Add "i2c-parent" tracking to fw_devlink * tag 'devicetree-for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/robh/linux: (72 commits) dt-bindings: usb: dwc3: Document ST STM32MP2 DWC3 xHCI USB controller dt-bindings: iommu: Describe MT8195 infra IRQs dt-bindings: clock: mediatek: Add MT8516 fallbacks dt-bindings: media: Convert hisilicon,hix5hd2-ir to DT schema dt-bindings: display: Convert hisilicon,hi6220-ade to DT schema dt-bindings: display: Convert hisilicon,hi6220-dsi to DT schema dt-bindings: phy: Document ST STM32MP25 USB2-FEMTO PHY of: overlay: remove unused of_overlay_remove_all() dt-bindings: power: Convert mediatek,mt2701-scpsys to DT schema dt-bindings: bus: Add HiSilicon local bus dt-bindings: gpu: img,powervr-rogue: add spacemit,k1-gpu and spacemit,k3-gpu dt-bindings: interrupt-controller: qcom,pdc: Document SM7250 PDC dt-bindings: vendor-prefixes: add Ambarella dt-bindings: reset: Drop obsolete STM32(MP1) RCC bindings dt-bindings: arm: keystone: ti,sci: Correct reg and mboxes constraints dt-bindings: ASoC: Convert MediaTek RT5650 codecs bindings to DT schema dt-bindings: scsi: Convert hisilicon,hip05-sas-v1 to DT schema of/irq: Stop the MSI walk at the first msi-parent of/irq: Fix device node refcount leak in of_check_msi_parent() dt-bindings: display: faraday,tve200: Use a level-high interrupt ...
2 daysMerge tag 'efi-next-for-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi Pull EFI updates from Ard Biesheuvel: - Set the LoaderDevicePartUUID EFI variable from the stub to help systemd discover the file system layout when booting straight into Linux without GRUB or systemd-boot (Vincent Mailhol) - Some GUID deduplication work from Vincent - Remove pointless UTF16->UTF8 and vice versa conversions from the stub - Some kmap() -> kmap_local_page() conversions in the capsule loader - Add a runtime control to en/disable EFI runtime services so that PREEMPT_RT systems can enable them as needed - Add a 'nostatfs' mount option to efivarfs so that the cost of querying the EFI variable store (which is already rate limited) can be avoided entirely on systems where it is disproportionately costly - Rework the EFI libstub Makefile to align x86 with other architectures, and inherit/adapt the global CFLAGS variable rather than reconstruct it from scratch - Constify attributes of statically allocated sysfs nodes - Avoid register x18 when building the arm64 EFI stub, in order to comply with the UEFI spec, and to permit it to execute in a context where x18 is special - Preserve the physical addresses of all EFI config tables that may be of interest to an incoming kexec kernel - Add some LKDTM tests for EFI runtime crashes where the faulting address is inside a EFI memory region - Other minor bug fixes and cosmetic cleanups * tag 'efi-next-for-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/efi/efi: (35 commits) lkdtm: Add more EFI runtime tests efi: Initialize all configuration table addresses to EFI_INVALID_TABLE_ADDR efi: Retain the address of the LINUX_EFI_MEMRESERVE table efi/libstub: Don't replace an existing LINUX_EFI_MEMRESERVE table efi/runtime-wrappers: Don't park the worker after a recovered firmware fault efi: Use sysfs_emit() not sprintf() to generate sysfs file contents efi: Constify sysfs attributes efi/libstub: Disable kernel stack erasing in the common flags efi/libstub: Build the x86 stub from KBUILD_CFLAGS efi/libstub: Declare the x86 stub's assembly entry points efi/libstub: arm64: Don't use the platform register x18 efi/libstub: Free cmdline_ptr in efi_pe_entry efi/riscv: libstub: Don't set image_size in handle_kernel_image() efi/libstub: Fix error unwind freeing fdt in allocate_new_fdt_and_exit_boot() efivarfs: add nostatfs mount option to skip QueryVariableInfo() efi/libstub: add initial Boot Loader Interface support efi/libstub: Add efi_snprintf() to construct wide strings efi/libstub: Add support for printing human readable GUIDs efi/libstub: Output UTF-16 directly from vsnprintf() efi/libstub: Avoid efi_puts() for compile time constant strings ...
2 daysMerge tag 'gpio-fixes-for-v7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux Pull gpio fixes from Bartosz Golaszewski: - add ACPI quirks for Thinkpad L13 Gen 2a and Acer Nitro 16S AI to ignore a wrong GPIO interrupt declaration - add missing return value check of devm_gpiochip_add_data() to gpio-lpc32xx - don't set GPIOD_FLAG_IS_OUT from character device code as GPIO core already does it where needed and it can lead to providing invalid info to user-space on request errors - don't report a bogus -ENOMEM for a line requested without a label - propagate errors occurring when setting line values for pins for which we emulate open-drain or open-source drive settings - fix interrupt handling bugs in gpio-pca953x and gpio-davinci - fix more memory leaks in GPIO core - clear event clock flags from pins on GPIO release * tag 'gpio-fixes-for-v7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/brgl/linux: gpiolib: don't report -ENOMEM for a requested line without a label gpiolib: Propagate emulated drive errors when setting arrays gpio: pca953x: Handle direction register read errors in IRQ paths gpio: pca953x: Preserve wakeup accounting on parent IRQ failure gpio: davinci: Clear interrupt status in every bank on suspend gpiolib: Free chip resources when allocating the label fails gpiolib: cdev: don't set GPIOD_FLAG_IS_OUT gpiolib: clear the event clock flags when a line is released gpiolib: fix memory leak in gpiod_set_array_value_complex() EPERM error path gpiolib: acpi: Ignore GPIO 11 interrupt on Acer Nitro 16S AI gpio: lpc32xx: check devm_gpiochip_add_data() return value gpiolib: acpi: Ignore GPIO 11 interrupt on ThinkPad L13 Gen 2a
2 daysMerge tag 'mtd/for-7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux Pull MTD updates from Miquel Raynal: "Core MTD: - Fixes to the virt-concat driver - Added INT0800 firmware-flash map driver - mtdblock: prevent reclaim I/O during request processing - cfi_cmdset_0002: cap the write-buffer chunk at 256 bytes on an x8 device Raw NAND: - Clean up the Qualcomm controller driver again - Improve / create Arasan and IBM - Reflect that ESMT and GigaDevice share ID 0xc8, and disable broken timings feature on GD9FU2G8F3A - Drop platform data support from the lpc32xx drivers SPI NAND: - Heyangtek uses two bytes for the BBM like every other device - Winbond: Add support for W25N04LW and W25N08LW - Support for ISSI SPI NAND flashes SPI NOR: - Support for new Macronix and (lots of) Winbond flash devices - Rewrite the status register handling. There were many small helper functions to enable quad I/O mode in many different ways. That's now consolidated in one generic function. - Rework the SFPD handling. It used to be only parsed for flashes present in the in-kernel database which had any of the multi-I/O bit set - or with the addition of generic flash driver for any unknown flashes. This left a gap where SFDP wasn't handled and it turns out newer flashes (with SFDP support) will reused IDs of just these old flashed. With the rework, SFDP is tried to be parsed for any flashes and will amend the information which is already present in the in-kernel database. - Increase SFDP size limit to 16KiB. There are flashes which have some larger gaps between tables and thus exceeds the former 4KiB limit. - Flash fixups are getting more and more common. Due to this, the fixups are now a separate list (per manufacturer) instead of being attached to a specific flash. A new .match() callback makes them more flexible, when one is applied. - Support 1-1-8 and 1-8-8 modes with larger flashes which need 4byte addresses Then there is the load of API updates and misc AI fixes" * tag 'mtd/for-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux: (155 commits) mtd: spi-nor: sfdp: reduce stack usage in spi_nor_parse_sfdp() mtd: spi-nor: sfdp: fix missing kernel-doc mtd: parsers: qcom: fix offset/size overflow on large partitions mtd: spinand: heyangtek: Reserve both bad block marker bytes mtd: rawnand: pl353: fix clk reference leak in pl35x_nfc_setup_interface() mtd: nand: use dmaengine_submit() instead of ->tx_submit() dt-bindings: mtd: convert IBM NDFC binding to YAML mtd: rawnand: fsl_ifc: allocate shared ctrl with devm_kzalloc mtd: rawnand: qcom: fix read location register usage in config_nand_cw_read() mtd: rawnand: qcom: move common code to the 'qpic_common' module mtd: rawnand: qcom: rename 'nand_stats' structure mtd: rawnand: qcom: make nandc_set_read_loc_last() more generic mtd: rawnand: qcom: make nandc_set_read_loc_first() more generic mtd: rawnand: qcom: make config_nand_cw_write() more generic mtd: rawnand: qcom: make config_nand_page_write() more generic mtd: rawnand: qcom: make config_nand_page_read() more generic mtd: rawnand: qcom: make check_flash_errors() more generic dt-bindings: mtd: arasan: Add "power-domains" for ZynqMP mtd: virt-concat: unlink discarded items before freeing mtd: virt-concat: unlink concat node before freeing it ...
2 daysMerge tag 'pinctrl-v7.4-1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl Pull pin control updates from Linus Walleij: "Nothing special really, some new drivers, the usual trickle of fixes. Oddly not even vary many LLM-assisted fixes, I guess they haven't found their way into this subsystem yet. Core changes: - Support input-debounce-ns pin config property. New drivers: - Qualcomm: - Hawi SoC TLMM and LPASS LPI TLMM - Kuno (ARM32!) SoC TLMM - MSM8952 SoC TLMM - PMAU0102 SPMIO GPIO - Starfive JHB100 SoC sys0, sys0h, sys1, sys2, per0, per1, per2 per2pok and per3 (apparently strongly modularized silicon) - Ambarella CV75 - Apple T8140 SoC used in iPhone 16 [Pro] and MacBook Neo - Econet EN7528 - Allwinner Sunxi A733 - Mediatek MT6735 Improvements: - Renesas RZ/3GL: SD channel PoC, I2C power source etc - The SCMI pin controller uses generic helpers for handling groups and functions" * tag 'pinctrl-v7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/linusw/linux-pinctrl: (106 commits) pinctrl: stm32: program the EXTI mux from .alloc instead of .activate pinctrl: stm32: Fix the unit of the hwspinlock timeout pinctrl: stm32: Fix fwnode reference leak in stm32_gpiolib_register_bank() dt-bindings: pinctrl: brcm,nsp-gpio: Convert to DT schema pinctrl: mediatek: Add MT6735 pinctrl driver dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Add bindings for MT6735 pin controller dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Document MT6765 pin controller dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Add MT6795 dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Improve pinctrl subnode and property descriptions dt-bindings: pinctrl: mediatek,mt6779-pinctrl: Pull pinctrl node changes from MT6795 document pinctrl: tegra: xusb: free maps on DT map failure pinctrl: sprd: free maps on DT map failure pinctrl: kconfig: Select generic pinctrl helpers for scmi pinctrl pinctrl: scmi: Replace pinctrl ops get group info with generics pinctrl: scmi: Replace pinmux ops get function info with generics pinctrl: ambarella: fix NULL vs IS_ERR() bug in amb_pinctrl_register() pinctrl: starfive: fix missing CONFIG_OF dependencies pinctrl: ambarella: add CONFIG_OF dependency pinctrl: apple: Add t8140-pinctrl support dt-bindings: pinctrl: apple,pinctrl: Add t8140 compatible ...
2 daysMerge tag 'input-for-v7.4-rc0' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input Pull input updates from Dmitry Torokhov: - Updates to input core to reject parent device overrides on managed input devices so devres lifetime management is not split across different devices, along with fixes for da7280, drv2665, drv2667, and tps6507x-ts that were reparenting managed input devices, and removal of redundant parent assignments across multiple drivers - A fix in input core to always accept EV_SYN events in input_event() and input_inject_event() so events seeded before device registration are properly flushed by input_sync() - A fix in matrix-keymap helper to reject keycodes above KEY_MAX and prevent out-of-bounds bitmap writes - Fixes and cleanups for HP GSC PS/2 (gscps2) serio driver to resolve race conditions in port list management, ring buffer access, and interrupt handling, return IRQ_NONE for unhandled shared interrupts, and drop busy-waiting on transmit - Fixes for maple_keyb driver to correct inverted key press detection, implement open and close methods so polling only runs while the device is open, and clean up unused driver fields - Fixes for maplecontrol driver to emit EV_SYN after reporting events, only enable axes reported by the controller with corrected hat limits, and stop polling and clear the callback on close - Updates to maplemouse driver to stop polling and clear the callback on close and drop redundant driver data cleanup - Fixes for matrix_keypad driver reverting forced switching of row GPIOs to input mode that broke row interrupts on platforms with separate GPIO and interrupt pinmux functions, and propagating the actual error code from matrix_keypad_build_keymap() - A fix for st-keyscan driver to keep the interrupt disabled while the peripheral clock is gated off to prevent bus faults, along with probe error handling improvements - A fix for mms114 touchscreen driver to disable interrupts before synthesizing touch release events during suspend so concurrent interrupts do not leave stuck active touch slots - Updates to xpad driver to support GameSir Nova Lite controller - A number of updates to device tree bindings, including a new schema for Analog Devices AD7147 CapTouch controller, conversion of SiS 9200 I2C touchscreen binding to DT schema format, and allowing the wakeup-source property on Dialog DA9062 onkey - Other assorted driver cleanups, style fixes, and conversions, including switching to named initializers for acpi_device_id tables and converting cyttsp5 to DEFINE_SIMPLE_DEV_PM_OPS. * tag 'input-for-v7.4-rc0' of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input: (94 commits) Revert "Input: matrix_keypad - force switch rows to input mode" Input: s6sy761 - drop duplicate axis initialization in s6sy761_probe() Input: always accept EV_SYN in input_event() dt-bindings: input: dlg,da9062-onkey: Allow wakeup-source property Input: xpad - add GameSir Nova Lite support Input: touchscreen - use named initializers for acpi_device_id Input: mouse - cyapa: use named initializers for acpi_device_id Input: misc - use named initializers for acpi_device_id Input: keyboard - use named initializers for acpi_device_id Input: reject parent overrides on managed input devices Input: tps6507x-ts - fix input device parent assignment Input: drv2667 - fix input device parent assignment Input: drv2665 - fix input device parent assignment Input: da7280 - fix input device parent assignment Input: maple_keyb - remove unused mdev->driver assignment Input: maplecontrol - remove unused mdev->driver assignment Input: maplemouse - remove unused mdev->driver assignment Input: maplecontrol - remove redundant drvdata resetting Input: maple_keyb - remove redundant drvdata resetting Input: maplemouse - remove redundant drvdata resetting ...
2 daysMerge tag 'firewire-updates-7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394 Pull firewire updates from Takashi Sakamoto: - Guarantee asynchronous packet and transaction callbacks in process context Both the 1394 OHCI driver and the core transaction layer have been changed to guarantee that asynchronous packet and transaction callbacks are invoked in process context. In v6.17, the execution context depended on the transaction destination: callbacks for transactions destined for remote nodes were invoked from a workqueue, whereas callbacks for transactions destined for the local node or terminated due to internal errors were invoked in the transaction initiator's context. All such callbacks are now guaranteed to execute in process context, eliminating the need to account for different execution contexts when implementing callback functions. - Fill kerneldoc for transaction layer The above change guarantees a consistent execution context for packet and transaction callbacks, making it possible to document their execution context in kerneldoc. - Enable compiler-based context analysis for the transaction layer The core transaction layer is sufficiently complex that compiler-based context analysis can help detect invalid call paths. - Fix a reference count leak in the cdev layer A reference count leak was reported when a user space application delegated isochronous resource management. This issue has now been fixed. - Add KUnit tests for the configuration ROM parser and generator In recent years, questions have been raised about how the configuration ROM parser and generator handle boundary conditions and edge cases. KUnit tests have been added to verify their behavior in these situations. KUNIT_STATIC_STUB_REDIRECT is used to stub the transaction responder so that it returns the configuration ROM contents. - Misc fixes for kerneldoc and nosy-dump application * tag 'firewire-updates-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394: (88 commits) firewire: core: replace drain_workqueue() with flush_workqueue() firewire: core: adjust context_unsafe() usage for lockdep checks firewire: core: invoke packet callback from workqueue when removing card instance firewire: core: use designated initializer for dummy driver on card removal firewire: core: use context analysis to check lock state when scheduling error callbacks firewire: core: check precondition when scheduling error callbacks firewire: core: use workqueue to cancel all pending transactions on card removal firewire: core: reuse helper function for scheduling error callbacks firewire: core: don't disable error work for transaction firewire: core: use release/acquire pair when replacing underlying driver on card removal firewire: core: add kerneldoc for inbound transaction-related symbols firewire: core: add kerneldoc for outbound transaction-related symbols firewire: core: use appropriate spinlock variants for transaction-related locks firewire: core: narrow the card lock scope when accessing node_id firewire: core: use context analysis annotations and lockdep checks for topology map lock firewire: core: use context analysis annotations and lockdep checks for split timeout lock firewire: core: use context analysis annotations and lockdep checks for transactions lock firewire: core: enable context analysis for transaction layer firewire: core: add might_sleep() checks to transaction layer firewire: core: fulfill kerneldoc for fw_cancel_transaction() ...
2 daysMerge tag 'media/v7.4-1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media Pull media updates from Mauro Carvalho Chehab: - v4l2 core: - improve subdev and pixformat kAPI; - fix P010 format info and add Y12 format info; - add fwnode_graph_for_each_endpoint_scoped(); - New sensor drivers: - Sony IMX576 - OmniVision OS02G10, OV05C10 and OG0VA1B - Samsung S5KJN5 - Himax HM1246 - Maxim GMSL2/3: add support for MAX9296A, MAX96717, and MAX96724 - Intel IPU6: add support for IPU7, IPU7.5 and IPU8 - NXP: add support for i.MX95 CSI pixel formatter driver - ITE: add driver for IT6625/IT6626 HDMI bridge - Qualcomm: add CSI2 3ph DPHY driver - Rockchip: add rk3576 MIPI capture vicap driver - STM32 DCMIPP: Add STM32MP25 subdevices - Lots of driver fixes and cleanups * tag 'media/v7.4-1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (596 commits) media: i2c: imx576: Fix line length register media: ov05c10: Remove duplicated writes to analogue gain register media: ov05c10: Power management fixes media: ov05c10: Set reset GPIO high when acquiring it media: ov05c10: Small cleanups media: maxim-serdes: Disable test pattern generator for now media: mc: Keep INTERNAL pad flags just for the kernel, for now media: i2c: imx576: select VIDEO_CCS_PLL to repair build error media: Documentation: mc: Fix Stream reference media: i2c: add imx576 image sensor driver dt-bindings: media: i2c: Add imx576 sensor media: i2c: maxim-serdes: add MAX9296A driver media: i2c: remove MAX96714 driver media: i2c: maxim-serdes: add MAX96724 driver staging: media: remove MAX96712 driver arm64: defconfig: disable deprecated MAX96712 driver media: i2c: maxim-serdes: add MAX96717 driver media: i2c: remove MAX96717 driver media: i2c: add Maxim GMSL2/3 deserializer framework media: i2c: add Maxim GMSL2/3 serializer framework ...
2 daysMerge tag 'sound-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound Pull sound updates from Takashi Iwai: "The AI flood continues, which brought us a fairly busy development cycle again with changes spread across the subsystem, ranging from (lots of) core hardening to new platforms and codecs. Here are some highlights. ALSA core: - PCM: race fixes around channel-map controls, draining/unlink, drop sync-stop handling, and DMA buffer delay sync - Compress-offload: state and geometry validations, buffer leak fix, and stream/card lifetime management - Jack: module pinning during debugfs access, control removal race fix, and early injection exposure - Timer & sequencer: module pinning for user timers, RCU grace period wait on port deletion, UMP bounds fixes - Mark OSS sequencer emulation as deprecated - RawMIDI: proper disconnect handling and input work drain cleanup - Control: fixes for vmaster racy setups and control callback serialization, UAF fix on card disconnect ASoC core: - Continued framework refactoring, deployment of auto_selectable_formats across codecs and platform DAIs - Generic card cleanup: free jack GPIOs on card remove for simple-card and audio-graph-card variants - SDCA improvements: SimpleJack function type support, library helpers, and non-ACPI build support - Conversion of deprecated DMA API calls ASoC SOF: - Support for compressed audio playback on SOF IPC4 with Intel TGL+ - AMD ACP 7.B / 7.F SoundWire and PDM controller support, ASP carveout firmware loading - Function topology support for Intel I2S machines ASoC platforms & codecs: - Qualcomm: New QAIF driver for Shikra platform, WCD9378 SDCA codec, Nord Ride/RRD and Motorola Edge 30 boards, LPASS macro cache converted to maple tree - New codec drivers: ESS ES9039Q2M, Nuvoton NAU83G60 amplifier, Senary SN624x SoundWire SDCA codec - MediaTek / Airoha: New Airoha AN7581 AFE and WM8960 machine drivers, extensive clock and error-handling cleanups across MediaTek SoCs - NVIDIA Tegra: WM8994 machine driver and CS35L45 MDSYNC support - Realtek: RT766/RT767, RT721_U, RT718 variants, RT712 GPIO LED control - Cirrus Logic: CS35L45 MDSYNC support, CS35L56 regmap default tests - TI: TAS2573 DSP support in TAS2781, TAS2783 SoundWire fixes - Everest Semi: ES8326 standby / HPF controls, ES8389 / ES8375 resume fixes - Removal of obsolete ST-Ericsson Ux500 MOP500 machine driver HD-audio: - ACPI controller runtime PM suspend/resume support - Controller shutdown and unbind race fixes for unsol events and jack polling - HDMI: High Bit Rate (HBR) audio capability enabled, ELD proc and converter bounds checks - AW88399 side codec SSID-specific firmware naming and Lenovo Legion R9000P enablement - Realtek / Conexant / Cirrus / TI quirks for numerous laptops (Lenovo, ASUS, HP, Acer, HONOR, Minisforum, MSI, etc.) - Creative CA0132 Sound BlasterX AE-5 external RGB LED strip support USB-audio: - Dedicated mixer driver for Audient EVO4 - Native Instruments Kore controller LCD support and keymap fix - Pioneer DJ DDJ-SZ and Roland (OCTA-CAPTURE / QUAD-CAPTURE multirate, TD-11) support - UAC2/3 mixer unit matrix evaluation and bounds checking - Hardening for LINE6 and caiaq drivers against malformed packets and races - Device-specific quirks for PreSonus, TASCAM, Logitech, Mayflower, MOONDROP, Yamaha, etc. Misc: - Auto-cleanup conversion for snd_card_free() and devres migration across dozens of legacy PCI, ISA, and Sparc drivers - ALSA loopback (aloop) timer lifecycle fixes and new aloop selftest - pcmtest driver fixes and kselftest updates" * tag 'sound-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound: (924 commits) ALSA: hda/realtek: Add mute and mic-mute LEDs for HP ENVY 16 (103c:8be5) selftests: ALSA: pcmtest: Compare all captured bytes in ni_capture ALSA: usb-audio: Use strscpy() in append_ctl_name() ALSA: caiaq: Use strscpy() in snd_usb_caiaq_input_init() ALSA: hiface: Use scnprintf() in hiface_chip_create() selftests/alsa: Check the aloop PCM Slave controls for a matching playback ALSA: aloop: Update the PCM Slave controls for a matching playback selftests: ALSA: pcmtest: Make room for the longest fill pattern selftests: ALSA: pcmtest: Check the frame count of each transfer ALSA: hda/realtek: Fix speakers on COLORFUL L1 Plus ALSA: hda/realtek: enable AW88399 on Lenovo Legion R9000P AFR10 ALSA: line6: Handle period elapsed calls outside the locks ALSA: emux: Stop voices before freeing zones in all cases ALSA: emux: Fix UAF of soundfont zones at note-on ALSA: mtpav: restore negation dropped in guard() conversion ALSA: compress: reject restarting an ACTIVE task via origin_seqno ALSA: compress: add missing OPEN-state gate to SET_METADATA ALSA: compress: reject buffer geometry change on gapless next_track ALSA: compress: fix buffer leak on failed SET_PARAMS ALSA: hda/realtek: Enable jack detection on Minisforum AI X1 ...
2 daysMerge tag 'fbdev-for-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev Pull fbdev updates from Helge Deller: "A whole lot of small fixes all over many drivers, but the majority of changes are related to code cleanups regarding the cursor handling in vt and fbcon. Fixes: - core: initialize modelist in framebuffer_alloc() - core: bitblit: fix glyph clipping when fbcon pans - fbcon: restore font geometry if font rotation fails - sh_mobile_lcdcfb: restore the per-overlay sysfs attributes - udlfb: don't rebuild the mode list while the framebuffer is in use - atmel_lcdfb: prevent FIFO work after removal Cleanups: - vt, fbcon, vgacon: cursor code rework & cleanups - MAINTAINERS: name the deller/linux-fbdev for-next branch - drop unused FB_IOMEM_HELPERS_DEFERRED Kconfig option - acornfb: remove unused code - atafb: fix sparse warnings and avoid casts - sstfb: use managed PCI device enable - gxt4500, kyro, nvidia: release write-combining handle on probe failure - various drivers: typo fixes in comments - various drivers: fix error path on fb_deferred_io_init() failure - various drivers: use FB blanking constants instead of VESA constants" * tag 'fbdev-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/deller/linux-fbdev: (53 commits) fbdev: xilinxfb: Use FB blanking constants fbdev: platinumfb: Use FB blanking constants fbdev: sa1100fb: Remove comment on VESA DPMS modes fbdev: i810fb: Use FB blanking constants fbdev: au1100fb: Use FB blanking constants fbcon: Retry rotated font allocation after failure fbcon: Rebuild rotated font buffer on font change fbcon: Include font geometry in the rotated font cache fbdev: bitblit: Fix glyph clipping when fbcon pans fbcon: Replace fbcon_fill_cursor_mask() with fbcon_cursor_glyph() lib/fonts: Add font_glyph_cursor() helper vgacon: Use vt_cursor_{start,end}() vgacon: Remove trailing whitespaces vt: Add cursor-size helpers MAINTAINERS: name the deller/linux-fbdev for-next branch fbdev: atafb: avoid cast when assigning buffer address pointer fbdev: atafb: fix sparse warnings fbdev: atyfb_base: fix typos in comments fbdev: aty128fb: fix typos in comments fbdev: mach64: fix typos in comments ...
3 daysMerge tag 'char-misc-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc Pull Char/Misc/IIO/others driver updates from Greg KH: "Here is the big set of char/misc/android/iio and other small driver subsystem patches for 7.4-rc1. Loads of stuff in here, larger than normal. Highlights include: - removal of the C binder code, the rust version is stable and will be used going forward in a few billion devices. Great job by those developers - loads and loads of IIO driver updates and feature additions - speakup driver fixes and updates - mhi driver updates - mei driver updates - xillybus driver fixes - comedi driver fixes - lots of coresight driver updates - Interconnect driver updates - nvmem driver updates and fixes - slimbus driver updates and fixes - spmi driver updates and fixes - lots of tiny misc and char driver fixes based on people scanning for things All of these have been in linux-next for a while with no reported issues, other than a merge conflict with one of the rust tree files, which should be simple to resolve" * tag 'char-misc-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/char-misc: (446 commits) rust_binder: wake epoll on self-work queued to poll thread rust_binder: avoid overflow in get_node_debug_info() MAINTAINERS: Add Abel as SPMI co-maintainer spmi: mtk-pmif: Fix clock reference leak in mtk_spmi_bus_probe() iio: adc: qcom-spmi-iadc: Remove regmap R/W wrapper functions iio: adc: qcom-spmi-iadc: Migrate to devm_spmi_subdevice_alloc_and_add() misc: qcom-coincell: Migrate to devm_spmi_subdevice_alloc_and_add() phy: qualcomm: eusb2-repeater: Migrate to devm_spmi_subdevice_alloc_and_add() power: reset: qcom-pon: Migrate to devm_spmi_subdevice_alloc_and_add() nvmem: qcom-spmi-sdam: Migrate to devm_spmi_subdevice_alloc_and_add() spmi: Add helper to get a parent SPMI device spmi: Implement spmi_subdevice_alloc_and_add() and devm variant spmi: Remove unneeded goto in spmi_device_add() error path spmi: Print error status with %pe format spmi: Remove redundant dev_name() print in spmi_device_add() spmi: Fix potential use-after-free by grabbing of_node reference spmi: mtk-pmif: Add workaround for FSM lockup/error in read operation MAINTAINERS: Add Qualcomm SPMI controller entry spmi: pmic-arb: return 0 in spmi_pmic_arb_register_buses() on success comedi: addi_apci_3xxx: fix subdevice count underallocation ...
3 daysMerge tag 'usb-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB / Thunderbolt update from Greg KH: "Here is the big set of USB and Thunderbolt changes for 7.4-rc1. Included in here are: - thunderbolt driver updates and fixes - lots of dt schema conversions - usb gadget driver fixes (and a new maintainer!) - usb core fixups with some interactions with the driver core - usb serial updates and fixes for scan-found "issues" - xhci driver updates - typec driver updates - dwc3 driver updates - lots of usb gadget driver fixes for syzbot found "problems" - lots of other small USB driver fixes for randomly reported problems. All of these have been in linux-next with no reported issues" * tag 'usb-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (158 commits) usb: gadget: dummy_hcd: prevent unbind via sysfs usb: gadget: dummy_hcd: add tick_us module parameter for timer-rate tuning usb: gadget: dummy_hcd: set no_sg_constraint only on the SuperSpeed bus usb: gadget: dummy_hcd: fix SuperSpeed ep0 maxpacket usb: gadget: fix refcount underflow in gadgetfs_bind() error path USB: core: document purpose of interface parent reference MAINTAINERS: add Neill Kapron as USB Gadget maintainer USB: Documentation: Update description of completion callback context USB: serial: mxuport: support RS485 mode configuration USB: serial: mxuport: handle SEND_NEXT transmit flow control USB: serial: add generic write control callbacks USB: serial: mxuport: add MUX50U-based device support USB: serial: mxuport: clean up firmware version handling USB: serial: mxuport: clean up product ID definitions and device table USB: serial: sierra: fix urb leak on write completion usb: typec: ucsi_ccg: Add retry mechanism in ccg_read usb: host: xhci-tegra: Add Tegra264 XHCI support usb: host: xhci-tegra: Skip MBOX MSG_ENABLED on Tegra264 dt-bindings: usb: Add Tegra264 XUSB host support usb: xhci-pci: Add TUSB73x0 definitions ...
3 daysMerge tag 'tty-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty Pull tty / serial driver updates from Greg KH: "Here is the "big" set of tty and serial driver updates for 7.4-rc1. It's not really all that big, it's been kind of quiet in this area of the tree this development cycle in relation to other parts of the tree. But still, included in here are: - 8250 port updates and fixes - 8250 driver cleanups by Jiri - deletion of the obsolete moxa driver (making this pull request remove more lines than added!) - different serial driver updates for dma and other reported issues All of these have been in linux-next with no reported problems" * tag 'tty-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (91 commits) tty: hvc: dcc: Detect JTAG connection only on CPU core 0 serial: earlycon: Use isdigit() in earlycon_init() serial: core: Use isdigit() in uart_parse_options() dt-bindings: serial: snps-dw-apb-uart: Add Synaptics sl2610 uart serial: amba-pl011: drive the bus during break in RS485 mode serial: mcf: update author email address serial: pmac_zilog: report received breaks serial: pmac_zilog: push received data to the port that received it serial: amba-pl011: keep transmitter enabled when disabling RS485 serial: ma35d1: Do not force-enable an unselected console serial: amba-pl011: honour delay_rts_before_send for every write Revert "serial: 8250_port: Drop duplicate NULL check" serial: 8250: make port operations work on struct uart_8250_port serial: 8250_omap: set priv->line before enabling the IRQ serial: 8250_lpss: do not touch uninitialized line in ehl_serial_exit() serial: 8250_exar: store the GPIO platform device in struct exar8250 serial: 8250_exar: remove useless void * casts serial: 8250: drop err label from serial8250_register_8250_port() serial: core: fix TIOCSSERIAL and TIOCSERCONFIG on uninitialised ports serial: max310x: don't transmit while an RS485 reconfigure is pending ...
3 daysMerge tag 'staging-7.4-rc1' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging Pull staging driver updates from Greg KH: "Here is the big set of staging driver updates for 7.4-rc1. The huge majority of changes in here were to the rtl8723bs driver, which ended up being deleted entirely through the wifi driver tree, so while the work here was nice to have done to get experience by people, the overall goal was achieved in that we have a solid working and sane driver in the real part of the tree now. Other than that, included in here are: - some greybus driver removal of broken drivers that no one ever used - minor coding style cleanups for other staging drivers All of these have been in linux-next with no reported issues, other than the merge conflict of the driver being removed, but that's an obvious one to resolve :)" * tag 'staging-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/staging: (145 commits) staging: rtl8723bs: remove unnecessary parentheses rtl8723bs: Remove redundant macro in basic_types.h staging: rtl8723bs: remove spaces before tabs in hal_com_reg.h staging: greybus: Align function arguments staging: greybus: uart: fix argument alignment staging: greybus: Remove unused header declaration to_fw_mgmt_connection staging: most: fix typo in driver_usage.txt staging: vme_user: avoid iterator variable access outside list loop staging: greybus: Remove unused function 'to_fw_mgmt_connection' staging: greybus: replace PTR_ERR() with %pe in error messages staging: octeon: fix misuse of kernel-doc comment staging: nvec: fix GPIO descriptor documentation staging: fbtft: update outdated struct fbtft_ops comment greybus: Discard pm_runtime_put_autosuspend() return value staging: rtl8723bs: remove unused defines in odm.h staging: rtl8723bs: remove commented out code in hal/ files staging: rtl8723bs: remove unused defines in HalBtcOutSrc.h staging: rtl8723bs: remove unused PCI ASPM OSC definitions staging: rtl8723bs: remove unused EEPROM definitions staging: rtl8723bs: return bool from check_pending_xmitbuf ...
3 daysMerge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsiLinus Torvalds
Pull SCSI updates from James Bottomley: "Small number of driver updates (mpi3mr, ufs, scsi_debug). By far the biggest core change (at 4000+ lines) is the sense code rework to make our sense handling follow the 16 bit defines in the SCSI standard rather than our split ASC and ASCQ handling which ends up being confusing and difficult to grep. The changes should all be functionally equivalent and so far the bots and AI seem to agree; the code has been incubating in -next since 16 September with one reported issue fixed. The remaining updates are minor" * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (114 commits) scsi: ufs: rpmb: Fix power-on UNIT ATTENTION retry scsi: bfa: Use snprintf() in bfa_fcs_fabric_psymb_init() scsi: bfa: Use snprintf() in bfa_fcs_fabric_nsymb_init() scsi: MAINTAINERS: Remove Avri Altman as UFS reviewer scsi: st: Relock the door after a reset scsi: st: Restore the drive buffering mode after reset scsi: st: Record the tape position after a successful MTLOAD scsi: st: Restore changed drive settings after reset also for MTLOAD and MTRETEN scsi: scsi_debug: Validate the access parameters of WRITE ATOMIC (16) scsi: scsi_debug: Map the region written by WRITE ATOMIC (16) scsi: scsi_debug: Refuse a short WRITE ATOMIC (16) before writing it scsi: scsi_debug: Advance the write pointer over the data written scsi: scsi_debug: Do not write a partial physical block to a zoned device scsi: scsi_debug: Enforce physical block alignment of zoned writes scsi: scsi_debug: Report the residual of a write scsi: scsi_debug: Avoid 32-bit overflow in WRITE SCATTERED offsets scsi: scsi_debug: Evaluate scsi_debug_lbp() only once scsi: scsi_debug: Take the zone metadata lock before the data lock scsi: scsi_debug: Refuse a negative physblk_exp scsi: scsi_debug: Make atomic writes and ZBC emulation mutually exclusive ...
3 daysMerge tag 'for-7.4/block-20261021' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux Pull block updates from Jens Axboe: - NVMe updates via Keith: - Apple M4 (t8132) ANS2 NVMe support - nvme-multipath sysfs attributes for path_state, iopolicies, and fail_on_ctrl_loss, plus path state evaluation fixes - nvme-tcp parallelized I/O queue allocation and startup, and using the caller's network namespace - nvmet passthru UAF fix and rework, PR preempt use-after-free fixes, auth hardening, and traffic based keep alive support - DH-HMAC-CHAP secret attributes readable by root only - Various other fixes and cleanups - swim driver overhaul and fixes, plus floppy fixes, via a pull from Denis - Block device buffered and direct I/O rework from Tal: use iomap_dirty_folio, take i_rwsem for the write fallback and splice read, honor IOCB_NOWAIT in the buffered read path, and reject atomic write fallback to buffered I/O - Large zone revalidation rework: serialize revalidation, handle capacity changes by dropping and retrying zone write plugs, propagate read-only and offline conditions, and treat offline and read-only zones as dead - ublk robustness work around canceled FETCH rounds and going live over canceled io commands, dropping the default I/O scheduler, and a batch of selftest additions - blk-iocost flush cost support and zone append accounting - rust block fixes for Send/Sync bounds on GenDisk and TagSet, and import style cleanups - Atomic write fixes capping size by the PI buffer constraints and failing short atomic pins - Skip the redundant flush for O_DSYNC direct writes, and only use REQ_FUA when the device supports it - Store GPT attributes as a raw value - Remove support for swapping loop fds - Various other fixes and cleanups all over * tag 'for-7.4/block-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (144 commits) block: restore the iterator when rejecting a misaligned bio blk-mq: clear stale inactive flag on hctx reuse block, bfq: initialize active lists for all actuators zloop: print device that had errors ublk: pin module while release work is pending blk-mq: drop the tag_set argument from blk_mq_free_rq_map/tags blk-mq: share one tags_srcu instance across all tag sets blk-iocost: fix stale comment in ioc_rqos_throttle() blk-iocost: account zone append completions in latency stats blk-iocost: charge zone appends as writes blk-iocost: add flush cost support with the flushiops model parameter ublk: use global index for reported zones selftests: ublk: add test for going live over canceled io commands selftests: ublk: stop a batch thread when PREP_IO_CMDS fails selftests: ublk: move the control command helpers into ctrl.c ublk: refuse to go live after an io command was canceled ublk: let STOP_DEV cancel the server's commands before its release ublk: allow a NULL io->cmd in the cancel callback ublk: reset the FETCH round under ub->mutex ublk: reset the FETCH round in release also without a disk ...
3 daysMerge tag 'for-7.4/io_uring-20261021' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux Pull io_uring updates from Jens Axboe: "The bulk of this is a big robustness pass over cancelation, io-wq, timeouts, and poll. Outside of that: - Large series from Josef hardening the cancelation, io-wq, timeout, poll, and wait paths. Fixes for lost wakeups and lost cancels as io-wq arms poll/timeouts, work stranding on worker exit, CQE32 resize handling, napi entry timeouts, and a pile of smaller correctness issues across the board - Rework of how io-wq posts completions, posting from the last request reference and dropping the request file before the completion, and running ring release cancelations synchronously - canceling and waiting for all in-flight requests and dropping registered files and buffers at release time - Don't charge the SQ/CQ rings or provided buffer rings to RLIMIT_MEMLOCK, which the region API conversion had started doing - Split io_uring_cmd_set_res() out from io_uring_cmd_done() so a command can set the result from its ->end_io() handler, used by nvme - CQE32 ring fixes for the free entry check, aux CQE big_cqe zeroing, and the dummy skip CQE - Timeout fixes for sequence handling and multishot updates - net fixes for MSG_TRUNC buffer overconsumption and keeping recv buffer select length within MAX_RW_COUNT - Wake real-time waiters from hard interrupt context - Don't spin on local work an exiting task can't run, reachable by an unprivileged user - Various other fixes and cleanups" * tag 'for-7.4/io_uring-20261021' of git://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux: (75 commits) io_uring: end the drain when the drain request completes io_uring/futex: return a wait's data to the cache when it fails to arm io_uring/wait: wake real-time waiters from hard interrupt context io_uring/waitid: return -EAGAIN for a non-blocking pidfd io_uring/net: keep recv buffer select length within MAX_RW_COUNT io_uring/waitid: prevent cancel reference wrap io_uring/poll: don't loop on HUP with multiple references io_uring/timeout: don't lose a cancel as io-wq arms a timeout io_uring/timeout: don't flush with the sequence behind the last flush io_uring/timeout: don't put a sequence target behind the last flush io_uring/poll: avoid retry wakeup loss when dropping ownership io_uring: look up the file before queueing to io-wq io_uring/timeout: don't end a linked timeout with 1 io_uring/timeout: no ABS update of multishot timeouts io_uring/net: don't retry recv on uncommitted buffers io_uring: don't pass restart error codes to userspace io_uring/openclose: keep the lock in io_pipe_fixed() io_uring/sqpoll: let the thread sleep on disabled rings io_uring/kbuf: handle index wrap in last buffer check io_uring/zcrx: fix buffer offsets in areas above 4GB ...
3 daysMerge tag 'for-7.4/dm-changes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm Pull device mapper updates from Mikulas Patocka: "dm: - fix a bug in dm_accept_partial_bio that broke dm-writecache in persistent-memory mode - use assign_bit() dm-vdo: - fix misbehavior on invalid metadata dm-crypt: - use memzero_explicit - reject malformed keys - allow sector size up to page size dm-delay: - advertise flush support if the user wants to delay flushes dm-writecache: - reduce per-block metadata overhead by 8 bytes - report I/O error when flush failed - fix a quirk in statistics - fix a crash if we attempt to use a non-dax device - fix uncommitted_blocks underflow - fix REQ_FUA processing dm-verity: - add the option DM_VERITY_VERIFY_ROOTHASH_SIG_FORCE - clear LSM integrity state on suspend dm-thin: - remove unnecessary locking in pool_map dm-mpath: - small refactoring of the historical service time path selector dm-snapshot: - fix crash if dm_io_client_create fails - make the chunk list being sorted by the chunk number dm-bufio: - fix non-working memory limit - fix a race leading to an unsigned integer underflow - clean-up cache limit reading" * tag 'for-7.4/dm-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm: (29 commits) dm-verity: clear LSM integrity state on suspend dm-bufio: clean-up cache size reading dm-bufio: fix a race leading to an unsigned integer underflow dm-bufio: fix non-working memory limit dm-snapshot: make the chunk list sorted by the chunk number dm-snapshot: fix crash if dm_io_client_create fails dm-crypt: allow encryption sector size up to PAGE_SIZE dm-mpath: check values in hst_status while holding spinlock dm-mpath: standardize repeat_count handling in the HST path selector dm-mpath: streamline setup work in the HST path selector dm-writecache: fix REQ_FUA processing dm-writecache: fix uncommitted_blocks underflow dm-writecache: fix a crash if we attempt to use non-dax device dm-writecache: fix a quirk in statistics dm-writecache: report I/O error if flush failed dm: fix a bug in dm_accept_partial_bio dm thin: Remove unnecessary locking from pool_map() dm-verity: add DM_VERITY_VERIFY_ROOTHASH_SIG_FORCE dm: use assign_bit() where applicable dm-writecache: Reduce metadata memory use by 8 bytes per cache block ...
3 daysMerge tag 'drm-next-2026-10-21' of https://gitlab.freedesktop.org/drm/kernelLinus Torvalds
Pull drm updates from Dave Airlie: "Highlights: - core: a lot of atomic refactoring in progress, panic got split into a core/helpers model - amdgpu: enables HDMI 2.1 FRL and other good things finally, UAlink over Ethernet support - xe: has a bunch of CRI support, ras error for bad vram, memory offlining support. - msm: enables a bunch more GPUs. Otherwise it's a the usual mountain of stuff all over the place. Details: rust: - I/O tree shared with driver-core - DMA tree shared with driver-core - allow aux registration data closures to return covariant sub-fields - Implement Send and Sync for MapleTree - add pci resource flags and IORESOURCE_MEM_64 drm/rust: - add dma_fence abstraction - init DRM registrations and their data in place - drop unused flags argument to registration vgaarb: - rework API to pass a private ptr instead of pci device sound: - adapt to omapdrm changes gem: - add callback for handle count going to 0 gpusvm: - share one HMM fault and keep single mappings inline pagemap: - Prevent CPU stalls during unbounded pagemap teardown dma-fence: - fix docs vga_switcheroo: - disconnect from fbcon - update fbcon from within fbdev emulation atomic: - move DRM from state reset callbacks to atomic_create_state - remove drm_simple_encoder_init panic: - split into core and helpers buddy: - improve dirty tracking clients: - improve vmap handling - fbdev: Move helpers from drm_kms_helper.ko to drm_client_lib.ko display: - export HDMI SCDC status data via debugfs - rework SCDC for better HDMI 2.0 support - dp/mst: improve DPCD compliance edid: - parse AMD VSDB - parse ALLM/VRR capabilities - support detecting panel size log: - add drm_warn_ratelimited sched: - cleanup interface - add missing locking - fix run-queue cleanup - fix locking sysfb: - remove obsolete quirk for Lenovo D330 - fix panel orientation for non-native display modes - drop drm_class_device_register colorop: - provide DRM_COLOR_OP_FIXED_MATRIX bridge: - analogix: Support eDP lane mapping - ti-sn65dsi83: Support LVDS Channel B on SN65DSI84 - Select DRM_PANEL_BRIDGE for various drivers that require it - add chrontel ch7218a support panel: - panel-edp: Support MNE007QS3-F, TM140VDXP15, and KD116N36-30NB-A001 - samsung-s6d16d0: Use mipi_dsi_*_multi() functions - support Ilitek ILI7836A OLED plus DT bindings - support Novatek NT36532 plus DT bindings - convert several drivers to managed cleanup - fix Kconfig selections - edp: - Add support for BOE NV140FHM-T0A - Support CSOT MNE007QB1-1 - NV140WU2-M70 - ebbg-ft8719: Fix MODULE_LICENSE() string; Improve initialization - samsung: Share test-key helpers - ilitek-ili9882t: Support Ilitek IL79600A plus DT bindings - simple: Support Truly TFT320240-229-E plus DT bindings; Support BOE DV215FHM-R01 plus DT bindings - Refactor struct drm_panel to contain struct drm_bridge plus fallout in various panel drivers - Add support for BOE Novatek NT51021, Retroid Pocket 6, Raydium RM69220 DDIC panels, Sharp LQ138P1JX61 eDP, BOE NV140FHD-N43, AUO B140HAN04.0, AUO 0x0db3, panels. amdgpu: - use AMD VSDB for freesync - implement YUV-to-RGB with fixed-matrix colorop - enable FRL for HDMI - HDMI 2.1 freesync support - HDMI 2.1 ALLM support - HDMI 2.1 VRR support - UALoE (UALink over Ethernet) support - add syncobj_points to userq signal ioctl - drop unused kunit tests - NBIO/GC/MMHUB/SMU updates/fixes - GPU spatial partitioning updates - display kunit fixes - userq fixes - RGB quantization fixes - DC RMCM refactor - DP MST fixes - USB4 fixes - add new trace events - Rework display instance handling - stack frame size fixes for various compilers/configs - VCN 4/5 reset fixes - freesync updates - cursor refactor - Fix direct scanout alpha on some DRM_FORMATs - Expand Mac reserved memory workaround - Make runtime pm more fine grained amdkfd: - updates and fixes - GC 10 CU occupancy support radeon: - eDP fix for DCE3.2 iMacs xe: - add drm_ras netlink error event support - add memory page offlining support - introduce error threshold to drm_ras - fix stale GTT mappings on unmap - reject page faults for non-page fault mode scratch VM - enable CRI package and VRAM temperatures - introduce cold reset recovery - handle CRI+ power interval encoding - VF migration for multi-queue - handle exec queue teardown after hot unplug - alerts and controller enabling modifications - use IBCv3 on PTL - VRAM health check - report GT TDR and VM rebind faults using SIGID - add multi_queue_active_lrca debugfs - shrinker: Runtime PM reference for non-system memory - guc: Add simple KLV decoder helpers - debugfs: Expose per-engine idle status - Keep walking on SVM eviction failure - Nuke PTs only after unlinking contested VMAs - limit sg segment size to PAGE_SIZE on Xen PV - keep VF LMEM bar size low if no VFs - CPU binds and ULLS on migration queue - New PTL PCI ID - Enable PXP for NVL-S - Do not dma_fence_put zero fences in err_out path - Refresh TTM LRU on SVM prefetch - export device UID in sysfs i915: - rename GEN6_PCODE_DATA to match spec - fix incorrect RCU teardown order - fix potential UAF in command parsing - avoid WARN splat during RPS boosting race - use simpler min functions - Fixes to make i915 work well with PREEMPT_RT i915/display: - Enable CMRR (Content Match Refresh Rate) in fixed-RR VRR path - Switch DG2 MPLL to DPLL framework - DP-HDMI PCON DSC fixes - limit invalid joiner combinations - CDCLK related fixes and refactor around PCODE integration - Gate UHBR SST SDP splitting on sink caps - add HDMI TMDS audio bandwidth check - vswing/preemph override - enable AS SDP Skip frames - Handle negative configuration index on DP link caps for robustness - Preparation for enabling SDR plane color pipeline - An eDP quirk for HP Pavilion Plus - Introduce PME (Power Management Event) support on display hotplug - Handle VSC SDP revision 7 in unpack msm: - CI: - Dropped sc7180 trogdor lazor from the CI - Core: - Fixed msm_ioremap for resources without a name - Changed msm.separate_gpu_kms to default to auto selection - GPU: - Enable CLX (Current Limit eXtension) for gen8 to avoid exceeding limits on CX/GX rails - New GPUs: a830 (Pakala), a845 (Maili), a850 (Hawi), x2-85 (Mahua) - Fix VBIF halt mask on a306, which was preventing runpm suspend - Enable THP support for GEM buffers - Add modparam to disable waiting on fences in shrinker - Drop use of drm_prime_sg_to_page_array() - a5xx: don't read the GPMU registers on GPUs without a GPMU - a2xx/a3xx/a5xx: hangcheck progress detection - a6xx: gmuwrapper runpm fix - Calculate reported GMEM size based on active slices - Split a6xx/a7xx/a8xx catalog - DP: - Picked up some preparation patches for the MST support - Fixed reported status of the link training - DPU: - Fixed CRTC bandwidth computation - Fixed DSC programming - Fixed encoder disablement path - DSI: - Fixed VM leak in error path - Indention fix - MDP5: - Added MSM8952 configuration - Dropped incorrect cursor pipe on MSM8976/56 - HDMI: - Small fixes nouveau: - improve runtime PM on R570 GSP firmware - various fixes throughout the driver - dispnv50: support 2.147 GHz pixel clock in GB20x nova: - add initial uapi concept - add initial PRAMIN access support - add GpuMm centralized memory manager - add GPU VM and BAR1 support - add GPU interrupts and GSP events support - GSP messaging fixes tyr: - use bitfield! - zero unsupported and newly added GPU info fields - limit doorbell array to 17 entries exynos: - FIMD fixes - Fix clock leak on resume error path - Fix Sparse warnings by adding missing __iomem annotation - VIDI cleanup - Replace kmalloc() and copy_from_user() with memdup_user() amdxdna: - fix BO handling - Support AIE2 rev 9 - Fix UAF access in scheduler fences - Update workqueue interface - expose busy time via fdinfo ast: - support 256-byte EDID hyperv_drm: - remove support for pre win10 hosts komeda: - fix GLB_CORE_ID usage omap: - report HDMI hotplug events to ASoC HDMI codec panthor: - provide gpu_cache_flush tracepoint - improve dma_fence signalling latency - improve locking - export scheduling information via debugfs - Validate user-space input against firmware limits qaic: - reject BOs that exceed maximum page count - add missing include statements verisilicon: - fix hardware cursor offsets vkms: - implement YUV-to-RGB with fixed-matrix colorop gma500: - avoid unsupported ARGB formats in primary plane hibmc: - handle vblank interrupts correctly ivpu: - add DRM_IVPU_CAP_CMDQ_SET_PRIORITY - support command-queue priority ioctl - Simplify NULL-pointer handling in cleanup code arcpgu: - replace simple-display pipeline with regular atomic helpers aspeed: - replace simple-display pipeline with regular atomic helpers gm12u320: - replace simple-display pipeline with regular atomic helpers imagination: - various improvement to firmware interaction - add job to pvr_job_submit_fw trace event mali-dp: - fix runtime PM leak mcde: - replace simple-display pipeline with regular atomic helpers p111: - replace simple-display pipeline with regular atomic helpers - drop unsupported alpha formats from primary plane rcar-du: - support Renesas R-Car V4H DSC - dsi: Support larger transfers with AXI memory - Support RZ/G3L SoC repaper: - replace simple-display pipeline with regular atomic helpers rockchip: - dsi: improve PHY timings ssd130x: - support Solomon SSD1351 OLED plus DT bindings - ssd133x: upgrade color format to RGB565 - ssd132x: Set correct hardware window when clearing screen tve200: - replace simple-display pipeline with regular atomic helpers xen: - replace simple-display pipeline with regular atomic helpers v3d: - improve job handling under perfmon vc4: - reliably reset V3D - drop brcm,vc4-v3d compatible virtio: - fix damage handling - Support ARGB8888 for virtio primary planes. host1x: - Support partitioning imx: - Replace simple-display with regular atomic helpers mxsfb: - Support bus formats plus DT bindings tegra: - improve syncobj handling on submit panfrost: - add Mali-G68 support - improve GPU reset handling rockchip: - add HDMI 2.0 support to dw-hdmi-qp - improve HPD handling" * tag 'drm-next-2026-10-21' of https://gitlab.freedesktop.org/drm/kernel: (2324 commits) drm/adp: Switch to drm_atomic_helper_connector_create_state drm/malidp: Convert to atomic_create_state drm/vc4: Switch to drm_atomic_helper_connector_create_state drm/sysfb: Switch to drm_atomic_helper_connector_create_state drm/solomon: ssd130x: Switch to drm_atomic_helper_connector_create_state drm/imx: ipuv3: Switch to drm_atomic_helper_connector_create_state drm/hyperv: Switch to drm_atomic_helper_connector_create_state drm/bridge: megachips: Switch to drm_atomic_helper_connector_create_state drm/bridge: lontium-lt8912b: Switch to drm_atomic_helper_connector_create_state drm/arm: komeda: Switch to drm_atomic_helper_connector_create_state drm/appletbdrm: Fix incorrect error message on encoder attach failure drm/sun4i: hdmi: Convert to drmm_connector_hdmi_init() drm/rockchip: rk3066_hdmi: Advertise HDMI 1.4 capabilities drm/bridge: lontium-lt9611: Advertise HDMI 1.4 capabilities drm/bridge: ite-it66121: Advertise HDMI 1.2 capabilities drm/bridge: ite-it6263: Advertise HDMI 1.3 capabilities drm/bridge: ite-it6263: Drop redundant .mode_valid hook drm/bridge: inno-hdmi: Advertise HDMI 1.2 capabilities drm/bridge: adv7511: Advertise HDMI 1.2 capabilities drm/sched: Document entity->stopped is protected by entity->lock ...
4 daysMerge tag 'pci-v7.4-changes' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci Pull PCI updates from Bjorn Helgaas: "Enumeration: - Set supported_speeds in set_pcie_port_type() so sparc64 and powerpc, which call it via of_create_pci_dev() instead of the usual pci_setup_device(), correctly set the supported PCIe link speeds (Stian Halseth) - When pcie_set_mps() changes MPS, update the value in the saved state so a subsequent restore doesn't restore an invalid value (Niklas Cassel) - Skip Target Speed quirk on clamped ports with no link (Maciej W. Rozycki) Driver binding: - Assume control of portdrv-related features only when portdrv is enabled, since we can't use them without portdrv (Kuppuswamy Sathyanarayanan) - Centralize feature ownership checking so code only needs to check 'host->native_X' and doesn't need to also check 'pcie_ports_native' (Kuppuswamy Sathyanarayanan) Error handling: - Fix leaks when ACPI APEI/GHES error events overflow the kfifo or mention a device that no longer exists (Priyank Rathod) - Fix aer_process_err_devices() leak when a device is recorded as an error source purely by being mentioned in the Root Port Error Source and the device is inaccessible or logged only masked errors (Priyank Rathod) ASPM: - Disable ASPM when drivers request that, even if the OS doesn't own ASPM; otherwise drivers do it on their own, which is worse (Ilpo Järvinen) Power management: - Align hibernate poweroff flow with suspend flow for bridges so they can be powered down at hibernate as they are for suspend (Mario Limonciello) - Restore BARs after powering up during enumeration to fix a regression on devices that don't preserve state in D3hot (Keng-Yu Lin) - Avoid D3 on PLX PEX 8532/8533/8548 downstream ports, where putting them in D3hot takes down the whole switch (Imre Kaloz) Power control: - Add GPIO driver for Toshiba TC9563 embedded GPIO controller (Alex Elder) - Add DT documentation and pwrctrl driver support for TC9563 embedded GPIO controller (Lorenzo Bianconi) - Switch the tc9563 per-port reset to use the GPIO descriptor API instead of direct regmap accesses (Lorenzo Bianconi) - Only destroy devices created by pwrctrl core, so that when removing a PCIe controller driver that uses pwrctrl, we don't remove devices populated by another mechanism (Shawn Lin) - Power off child devices on power-on failure (Lorenzo Bianconi) PCIe native device hotplug: - Make the 'pciehp_poll_mode' parameter read-only to prevent changes via sysfs, which can cause errors when unbinding (Runyu Xiao) Virtualization: - Read SR-IOV VF Revision ID and Subsystem ID from VF instead of assuming they're the same as VF 0; they may differ (Logan Odell) - Add ACS quirk for Pericom PI7C9X2G304 switches (Hans de Goede) Peer-to-peer DMA: - Add Zhaoxin KX-6000, KH-40000, KX-6000G, KX-7000, and KH-50000 host bridges to allowlist (LeoLiu-oc) - Add Alibaba T-HEAD Yitian 710 host bridge to allowlist (Feng Tang) - Add Intel Haswell client host bridge to allowlist (Scott Lee) - Intel Xeon E3/E5/E7 0x6f00 host bridge to allowlist (kai zhang) - Fix handling of errors in pci_p2pdma_add_resource() to avoid (a) unmapping a BAR if registering another fails and (b) use after free of p2p_pgmap (Leon Romanovsky) - Wait for RCU readers before freeing state to avoid use-after-free of pdev->p2pdma (Leon Romanovsky) - Restrict pci_p2pmem_find_many() to providers backed by a pool (Leon Romanovsky) - Safely terminate ACS redirect lists to avoid out-of-bounds access to the buffer (Leon Romanovsky) - Silence 'Host bridge not in P2PDMA whitelist' warnings unless caller, e.g., pci_p2pmem_find_many(), requests 'verbose' (Leon Romanovsky) Sysfs: - Return -ENODEV or -EIO sysfs 'label' or 'acpi_index' attributes when Device Name _DSM fails, not -1, which is interpreted as -EPERM (Krzysztof Wilczyński) - Return valid sysfs 'acpi_index' attribute even if the Device Name _DSM returned an invalid 'label' (Krzysztof Wilczyński) - Expose sysfs 'acpi_index' and 'label' based on whether the Device Name _DSM returns valid data, not merely whether the _DSM is implemented (Krzysztof Wilczyński) - Avoid out-of-bounds reads of the label returned by the Device Name _DSM, which is in UTF-16 characters, not bytes (Krzysztof Wilczyński) - Reject unaligned resource I/O port accesses, which can oops on arm64 (Deepanshu Kartikey) Endpoint framework: - Pass the correct physical and virtual endpoint function numbers when setting translation of inbound memory windows (Koichiro Den) - Make embedded doorbell IRQ non-shared, since currently only the first EPF can allocate doorbells (Koichiro Den) - MSI doorbells currently target the first EPF attached to an EPC; let other EPFs try the embedded doorbell instead of failing when they can't use the MSI doorbell (Koichiro Den) - Serialize scan of vNTB virtual PCI bus with other PCI topology changes (Koichiro Den) - Manage vNTB lifetimes to avoid leaking virtual devices and buses and allow removal (Koichiro Den) - Track vNTB link state from both sides so both see the same effective link state (Koichiro Den) - Configure vNTB MSI-X when supported to avoid IOMMU faults and failure to deliver doorbell interrupts on RC (Koichiro Den) APM X-Gene PCIe controller driver: - Use devm for clocks so they're automatically disabled, unprepared, and released if errors happen during probe (Yuho Choi) ASPEED PCIe controller driver: - Fix clk and PHY leaks in aspeed_pcie_port_init() error paths (Liu Zhenlong) Broadcom iProc PCIe controller driver: - Expose devm_pci_alloc_host_bridge_release() so drivers can share a devm release function even if they don't need the device tree parsing done by devm_pci_alloc_host_bridge() (Bjorn Helgaas) - Request only the memory window from BCMA Enumeration ROM and warn if it doesn't match the one in DT, which fixes an iproc-bcma probe failure (Semih Baskan) Broadcom STB PCIe controller driver: - Replace bool properties for each SoC configuration with a u32 bitvector and a BFLAG() helper (Jim Quinlan) - Use a similar BQUIRK() helper to test various SoC quirks (Jim Quinlan) Cadence PCIe controller driver: - Remove device links to PHY, which are redundant because the PHY core itself adds them (Vladimir Oltean) - Return error (not success) from cdns_plat_pcie_probe() if pm_runtime_get_sync() or cdns_pcie_ep_setup() failed (Vladimir Oltean) - Correct the driver data pointer usage; previously .probe() stored 'struct cdns_plat_pcie *', but .shutdown() used the pointer as 'struct cdns_pcie *', resulting in accessing garbage (Linmao Li) ESWIN PCIe controller driver: - Publish the platform driver MODULE_DEVICE_TABLE so the driver can be autoloaded when built as a module (Pengpeng Hou) Freescale i.MX6 PCIe controller driver: - Fix resource and pwrctrl device leaks .probe() (Zhijian Han) - Improve i.MX95 Gen3 link stability by changing MPLLB_BANDWIDTH from default 120 to 140 (Richard Zhu) - Use dev_err_probe() in host init error path to silence -EPROBE_DEFER messages (Alexander Stein) - Avoid dereferencing NULL clock names when 'clocks' includes more phandles than 'clock-names' has names (Rudi Heitbaum) - Add suspend_poweroff flag so platforms like i.MX that power off RC controllers during suspend can enter L2 so endpoints can get PME_Turn_Off notifications before power loss (Richard Zhu) Freescale Layerscape PCIe controller driver: - Enable PROBE_PREFER_ASYNCHRONOUS to reduce probe time of the four controllers on LX2160A (Vincent Jardin) Intel VMD host bridge driver: - Flush DMA writes before handling MSI on Meteor Lake: MSI may arrive before write has completed, resulting in an nvme 30 second stall before a QID timeout and possibly other similar problems (Rickey Bartlett) - Flush DMA writes before handling MSI on Arrow Lake (Vladimir Nedoshivin) Marvell Aardvark PCIe controller driver: - Disable PHY on probe failures (Myeonghun Pak) Marvell MVEBU PCIe controller driver: - Refcount child OF nodes during .probe() to make a concurrent OF overlay removal safe (Krzysztof Kozlowski) MediaTek PCIe controller driver: - Find INTx DT property by 'interrupt-controller' name instead of assuming it's the first child node (Zhengping Zhang) MediaTek PCIe Gen3 controller driver: - Fix a 64-bit type truncation in mtk_pcie_set_trans_table() to avoid issues with windows above or larger than 4GB (Sreeraj S Kurup) NVIDIA Tegra264 PCIe controller driver: - Fix the Link Capabilities offset so we read the correct register (Bjorn Helgaas) Qualcomm PCIe controller driver: - Only collect reset GPIOs from PCI bridge DT nodes to avoid stealing resets used by downstream devices like USB controllers (Christopher Obbard) - Block accesses to downstream devices on link down to reduce a storm of Completion Timeout AER interrupts (Qiang Yu) - Skip system suspend/resume for firmware-managed PCIe, where firmware manages clocks, regulators, resets, etc (Mrinmay Sarkar) - Honor IOMMU provider's #iommu-cells in qcom_pcie_config_sid_1_9_0() (Manivannan Sadhasivam) - Deinitialize endpoint on remove (Guangshuo Li) - Treat Root Port error recovery as successful even if link doesn't come up after reset because the device was hot-unplugged (Konrad Dybcio) - Skip unnecessary iMSI-RX initialization if DT 'msi-map' is present, indicating an external MSI controller (Ayiluri Naga Rashmi) Renesas R-Car PCIe controller driver: - Limit Max_Read_Request_Size to 256 to avoid hardware erratum (Marek Vasut) - Support PERST# via reset subsystem as well as the existing GPIO support to prepare for R-Car Gen5 SoCs (Marek Vasut) - Add DT and driver support for the R-Car Gen 5 X5H (R8A78000) PCIe Gen 4 core (Marek Vasut) - Add Application/Local register reset DT description and driver support for both host and endpoint mode (Marek Vasut) - Add PM ops so controller works after suspend/resume (Marek Vasut) Renesas RZ/G3S PCIe controller driver: - Disable refclk on probe failure (Lad Prabhakar) - Propagate platform_get_irq_byname() errors so probe deferral works correctly (Lad Prabhakar) - Tear down INTx handlers if subsequent initialization fails (Lad Prabhakar) - Add RZ/G3L (R9A08G046) DT and driver support (Biju Das) Rockchip PCIe controller driver: - Limit host and endpoint controllers to 2.5 GT/s since 5.0 GT/s is unsafe per Rockchip (Geraldo Nascimento) Synopsys DesignWare PCIe controller driver: - Set DMA_BYPASS bit in outbound IATU CTRL2 register to avoid data corruption if the iATU translates DMA engine transactions (Sumit Kumar) - Use FIELD_PREP() to remove need for *_SHIFT definitions (Hans Zhang) TI DRA7xx PCIe controller driver: - Remove device links to PHY, which are redundant because the PHY core itself adds them (Vladimir Oltean) - Fix optional clock leak when .probe() fails by using devm_clk_get_optional_enabled() (Felix Gu) TI Keystone PCIe controller driver: - Remove device links to PHY, which are redundant because the PHY core itself adds them (Vladimir Oltean) UltraRISC PCIe controller driver: - Allow DWC drivers to skip outbound iATU setup if they don't need translation between CPU and PCI addresses (Xincheng Zhang) - Skip MEM outbound iATU setup on DP1000 (Xincheng Zhang) Xilinx Versal CPM PCIe controller driver: - Add DT and driver support for optional PERST# for use in warm reset scenarios (Sai Krishna Musham) Xilinx XDMA PCIe controller driver: - Fix device node reference leak in xilinx_pl_dma_pcie_init_irq_domain() (Wentao Liang)" * tag 'pci-v7.4-changes' of git://git.kernel.org/pub/scm/linux/kernel/git/pci/pci: (139 commits) PCI/pwrctrl: Power off child devices on power-on failure PCI/pwrctrl: Only destroy devices created by pwrctrl core PCI/pwrctrl: generic: Fix leaking array from of_regulator_bulk_get_all() PCI/pwrctrl: tc9563: Switch per-port reset to GPIO descriptor API PCI/pwrctrl: tc9563: Add GPIO auxiliary device support dt-bindings: PCI: toshiba,tc9563: Document embedded GPIO controller gpio: tc9563: Add support for the embedded GPIO controller PCI: qcom: Skip DWC MSI host initialization when DT 'msi-map' is present PCI: qcom: Ignore -ENODEV after Root Port reset PCI: qcom-ep: Deinitialize endpoint on remove PCI/sysfs: Reject unaligned resource I/O port accesses PCI: rcar-gen4: Add missing PM ops PCI: endpoint: pci-epf-vntb: Honor MSI-X selection PCI: endpoint: pci-epf-vntb: Use a local epf pointer in interrupt setup PCI: dwc: imx6: Use regmap_assign_bits() for conditional set/clear PCI: dwc: Describe DWC PCIe fields with full masks and FIELD_PREP() PCI: dwc: Rename pp->irq_domain to pp->msi_irq_domain PCI: dwc: Rename dw_pcie_allocate_domains() to dw_pcie_allocate_msi_domains() PCI: dwc: Correct PCIE_DW_PLAT_EP reference in Kconfig help PCI/ASPM: Disable ASPM when driver requests it ...
4 daysMerge tag 'iommu-updates-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux Pull IOMMU updates from Joerg Roedel: "Core: - Detect scatterlist length overflows and finalize deferred domain attachments before mapping MSI pages - Consolidate x86 MSI reserved-region handling and clean up internal DMA and SVA helpers AMD IOMMU: - Add IOMMU PerfOpt support, enabled by amdgpu for supported integrated GPUs in identity domains - Restrict forced identity mapping to GPUs that require it - Fix kdump device-table allocation and reuse, ATS configuration error handling, and an interrupt-remapping allocation leak - Clean up device probing and initialization - Add Vasant Hegde as an AMD IOMMU maintainer ARM SMMUv2: - Device-tree binding updates for Qualcomm Maili and Nord SoCs ARM SMMUv3: - Work around hardware integration issue on Google Tensor G5 SoCs where all DMA transactions appear as instruction fetches - Allow command queue size to be configured on the kernel command-line - Reduce queue sizes when running as a kdump kernel - Fix some pre-existing issues in the driver and kunit tests reported by Sashiko - Fix handling of Arm hardware errata relating to the contiguous hint when using SVA - Rework the TLB invalidation logic in preparation for enabling iommu-pt in future - Minor cleanups in preparation for improving support for kdump Apple DART: - Support device-tree DMA aperture specifications Broadcom: - Add BCM2712 IOMMU support for Raspberry Pi 5 display and multimedia devices, including the generic page-table format and shared TLB cache management Hyper-V: - Add a para-virtualized guest IOMMU driver with guest-managed stage-1 page tables and page-selective IOTLB invalidation Intel VT-d: - Enhanced IQE fault handling for batched multiple descriptors, - Optimization of page-table level calculation in compute_vasz_lg2_ss(), - Fixes for several pre-existing issues reported by Sashiko, - General cleanup and refinement RISC-V: - Report cache-coherency capability for coherent devices, enabling VFIO/iommufd use Samsung Exynos: - Support SysMMUs without BLOCK mode, fixing their enable sequence and TLB invalidation - Improve v7 fault diagnostics with transaction information" * tag 'iommu-updates-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux: (69 commits) MAINTAINERS: Make Vasant Hegde AMD IOMMU maintainer iommu/hyperv: Make hv_iommu_device static iommu/hyperv: Add missing PCI dependency for the guest IOMMU driver iommu/amd: Don't allocate kdump device table from DMA32 iommu/amd: Program device table when kdump reuse fails iommu/dma: Clean up redundant MSI cookie check iommu/dma: Catch scatterlist length overflows iommu/hyperv: Add page-selective IOTLB flush support iommu/hyperv: Add para-virtualized IOMMU support for Hyper-V guest iommu/x86: Add architectural MSI reserved region helper Drivers: hv: Add logical device ID registry for vPCI devices hyperv: Introduce new hypercall interfaces used by Hyper-V guest IOMMU iommu: Make iommu-dma helpers private iommu/arm-smmu-v3: Don't rb_erase() a never-inserted stream node iommu/arm-smmu-v3: Add Q_POS() macro iommu/arm-smmu-v3: Add arm_smmu_attach_release() iommu/arm-smmu-v3: Disable the impl before disabling the SMMU on shutdown iommu/arm-smmu-v3: Populate the tlbi at the top of the call chain iommu/arm-smmu-v3: Precompute the invalidation commands iommu/arm-smmu-v3: Keep track in arm_smmu_invs if range invalidation is used ...
4 daysMerge tag 'dma-mapping-7.4-2026-10-21' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux Pull dma-mapping updates from Marek Szyprowski: - several SWIOTLB initialization cleanups (Aneesh Kumar K.V, Francesco Valla) - exact page allocation for DMA pages (Qingfang Deng) - tools/dma build fixes (Sasha Levin) - minor fixes for various corner cases (Marek Szyprowski, Leon Romanovsky) and code cleanup (John Garry) * tag 'dma-mapping-7.4-2026-10-21' of git://git.kernel.org/pub/scm/linux/kernel/git/mszyprowski/linux: dma-debug: Skip cacheline tracking for MMIO mappings tools/dma: fix building from the top level with O= tools/dma: fix building with O= dma: swiotlb: Track whether the pool size was explicitly set dma: swiotlb: Consolidate slab rounding dma: swiotlb: Rename swiotlb_size_or_default() dma: swiotlb: use KiB in restricted pool allocation log dma-direct: Restore arch_dma_alloc() for the DMA_ATTR_NO_KERNEL_MAPPING case MAINTAINERS: Add files to the DMA MAPPING HELPERS entry dma-mapping: use exact allocation for DMA pages dma-mapping: rename dma_opt_mapping_size()
4 daysMerge tag 'vfio-v7.4-rc1' of https://github.com/awilliam/linux-vfioLinus Torvalds
Pull VFIO updates from Alex Williamson: - Fix missing selftest <libgen.h> include for basename() to support non-glibc builds (Hisam Mehboob) - Add vfio selftest documentation covering the libvfio helper library and guidance for developers to aid in adding and understanding the framework (David Matlack) - Fix vfio cdev open path to prevent a second open from clobbering the vf_token or clearing the KVM reference. Add a selftest to avoid future recurrences (Alex Williamson) - Extend vfio selftest mix_and_match timeouts, in particular to account for systems where generated faults can induce heavy SMM load, delaying internal timeouts. Also extend timeout for execution via runner to account for various tests exceeding default 45s timeout (Alex Williamson) - Add tracking for non-reserved mappings into a vfio_dma object in order to optimize the tear-down paths where per-page tests can be entirely skipped. This resolves a soft lockup for large memory GPUs (Samuel Crossley) - Add vfio selftest driver for mlx5, providing another target for exercising DMA and interrupts against a physical device (Jason Gunthorpe) - Hardening against read-only region promotion, preserving vm_pgoff for unmap_mapping_range(), and reject non-shared MMIO mmaps as necessary through vfio-platform, vfio-fsl-mc, and vfio-cdx. These prevent future issues, though none are currently reachable (Abdifatah Suruur) - Fix 8-byte ioeventfd support, removing a static error test that was erroneously left in place when generalizing 8-byte io accesses (Li RongQing) - Fix missed RCU drain on module exit (Jiale Yao) - Fix off-by-one boundary check in migration support within the mlx5 vfio-pci variant driver (Seongjun Hong) - Remove drvdata usage convention across vfio-pci-core, allowing variant drivers to freely create their own conventions and enabling a future Rust-based variant driver. A DRM topic branch is also merged in support of this effort, modifying the vga arbiter API to more cleanly remove the drvdata dependency (Simon Song) - Fix hisi_acc vfio-pci variant driver to avoid NULL pointer accesses when bound to unsupported devices and also disabling migration support when running on 64K host page size due to BAR mapping constraints (Longfang Liu) - Add device IDs for Crescent Island and Nova Lake devices to the Xe vfio-pci variant driver (Satyanarayana K V P) - Fix fallback mode in nvgrace-gpu variant driver to use symmetric open and close handlers to avoid reported use-after-free issue. Remove the resulting unnecessary test in the now single-purpose open function (Andrea Parri) * tag 'vfio-v7.4-rc1' of https://github.com/awilliam/linux-vfio: (35 commits) vfio/nvgrace-gpu: Drop the usemem length check in open_device vfio/nvgrace-gpu: Use a core-only open_device in fallback mode vfio/xe: Add CRI and NVL device IDs hisi_acc_vfio_pci: reject live migration on 64KB page with QM_HW_V3 hardware hisi_acc_vfio_pci: fix NULL dereference in reset_prepare on PF passthrough vfio/pci: Remove the core dependency on driver data vfio/mlx5: Fix boundary check in set_report_output() vfio/pci: Drain eventfd RCU callbacks on module exit PCI/VGA: pass a data pointer to be used in the decode callback (v2) vfio/pci: Restore 8-byte ioeventfd support vfio/cdx: reject non-shared MMIO mmaps vfio/cdx: keep logical vm_pgoff in MMIO region mmap vfio/fsl-mc: keep logical vm_pgoff in MMIO region mmap vfio/platform: keep logical vm_pgoff in MMIO region mmap vfio/cdx: prevent read-only region mappings from becoming writable vfio/fsl-mc: prevent read-only region mappings from becoming writable vfio/platform: prevent read-only region mappings from becoming writable vfio: selftests: Verify a failed second open preserves the vf_token vfio: selftests: mlx5 driver - add send_msi support vfio: selftests: Add mlx5 driver - data path and memcpy ops ...
4 daysMerge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhostLinus Torvalds
Pull vhost,virtio updates from Michael Tsirkin: "This adds CPR support for vhost. Plus some fixes, notably for a host of races we had when callback fire around device reset" * tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost: tools/virtio: add missing device-id/virtio.h wrapper header vhost/vsock: add VHOST_RESET_OWNER ioctl vhost: synchronize with RCU readers when freeing workers vhost/vsock: re-scan TX virtqueue on device start vhost/vsock: suppress EHOSTUNREACH fast-fail during CPR pause vhost/vsock: split out vhost_vsock_drop_backends helper virtio_pci: drop callback sync on reset virtio_pci_modern: move avq cleanup from reset to del_vqs virtio: synchronize callbacks after device reset virtio_vdpa: implement synchronize_cbs() platform/mellanox: mlxbf-tmfifo: implement synchronize_cbs() um: virtio_uml: implement synchronize_cbs() remoteproc: implement synchronize_cbs() for virtio devices virtio_ccw: always take irq_lock in the classic interrupt handler virtio_ccw: fix synchronize_cbs() after interrupt fallback
4 dayspowerpc/irq: Fix build with CONFIG_PROC_FS=nSasha Levin
Commit fbb22ceaaf8f ("powerpc/irq: Make irqstats array based") made arch_show_interrupts() call irq_proc_emit_counts(). That function lives in kernel/irq/proc.c, which is only built with CONFIG_PROC_FS, so kernels without procfs no longer link: powerpc64-linux-ld: arch/powerpc/kernel/irq.o: in function `arch_show_interrupts': arch/powerpc/kernel/irq.c:134:(.text+0x4b8c): undefined reference to `irq_proc_emit_counts' arch_show_interrupts() is only called from irq_seq_show(), which is in kernel/irq/proc.c as well, so build it only with CONFIG_PROC_FS, as x86 already does. Fixes: fbb22ceaaf8f ("powerpc/irq: Make irqstats array based") Reported-by: kernel test robot <lkp@intel.com> Closes: https://lore.kernel.org/oe-kbuild-all/202609271531.8kf2NTjK-lkp@intel.com/ Signed-off-by: Sasha Levin <sashal@kernel.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
4 daysMerge tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvmLinus Torvalds
Pull KVM updates from Paolo Bonzini: "ARM: - pKVM state isolation: years after pKVM started being enabled upstream, we finally get the basics in the form of state isolation. The vcpu state is now off-limit for the host for protected VMs - pKVM also grows a hypervisor-private memory allocator, allowing it to deal with sub-page allocation, much like everywhere else - pKVM also lands a trace_printk() equivalent, which hopefully will make debugging a bit easier - First shot at annotating portions of the KVM/arm64 code to be extracted and built on s390. The real fun is yet to come - Allow pre-faulting of stage-2 canonical mappings from userspace, joining x86 and s390 in implementing this feature - Add a reverse mapping infrastructure for shadow stage-2, significantly improving performance when MMU notifiers kick in, and avoiding full unmap of all shadow tables for this VM - Next step of GICv5 enablement, adding support for the IRS block, and providing both SPI and LPI support. This is the first point where KVM/arm64 can support an SMP GICv5 guest - As a preliminary to eventually enabling CCA, add a bunch of infrastructure to KVM/arm64, splitting some of the basic operations into individual backends (normal VM, normal pKVM VM, protected pKVM VM). This allows CCA to later slot in without polluting the rest of KVM with its firmware-driven nonsense - Make ID registers immutable from the point where a vcpu is able to run, even if it fails to run. This prevents KVM from sampling untrusted values - Restore some type checking to the EL2 object. KVM/arm64 originally had some strong type checking between the kernel and the EL2 object, but lost it along the way when the private hypercall interface was (somewhat pointlessly) converted to SMCCC. Type checking is back, syscall style, and with added sparse goodies - Expand the FFA support to FFA_NOTIFICATION_*, and add some sanitisation of the protocol that pKVM relays to the "trusted" runtime - Make GICv3 RD assignment more robust to userspace nonsense - Convert the remaining MMU fault handler backends to kvm_s2_fault_vma_info and co., fixing a number of bugs in the process - Fix the SError/SEA selftests to be both more robust and less braindead - Fix a smattering of documentation bugs, some of them as a result of our AI friends spitting out credible assertions based on non-existing symbols - The usual collection of low impact bug fixes (SMCCC, timers, PMU) Loongarch: - Add separate vmid support - Simplify MSI interrupt injection - Add crash hypercall support - Allow to set pv_feature until vCPU run - Enable HW page table walk automatically in selftests s390: - rework page allocation for secure guest variable storage - Selftests and documentation improvements - Replace get_zeroed_page with kzalloc - Fix corner cases of floating interrupt injection - Initial arm64 on s390 support x86: - Clean up the handling of vcpu->arch.xen.long_mode to be consistent and correctly handle 32-bit/64-bit alignment, and various other bug fixes have accumulated over the months since v1 - Grab KVM's SRCU "lock" in kvm_zap_gfn_range() to fix a recurring bug where callers fail to do so - Fix a variety of issues in the pre-fault code that are mostly benign in the current code base, but will show up in big ways if/when the pre-faulting logic is used to implementing prefetch-on-fault for the TDP MMU - For PREEMPT_RT=y kernels, drop the rmaps' individual bit-spinlock and just walk the rmaps' with mmu_lock taken. On the write side (which always uses mmu_lock), the bit-spinlock was assuming that preemption was disabled, but that is *not* true when rwlocks become sleepable - Prepare a memory_fault exit (paired with -EFAULT) when KVM hits an error PFN, e.g. so that userspace can resolve transient issues instead of killing the guest. Convert a variety of WARN()+EFAULT paths into KVM_BUG_ON()+EIO so that KVM can hard commit to filling memory_fault on -EFAULTs that occur in the page fault path - Fix a NX hugepage un-accounting bug where KVM would always uncharge the shadow MMU, even when handling TDP MMU pages - Mask off the address space ID when checking for illegal usage of kvm_set_internal_memslot() to prevent false negatives on the sanity check - Explicitly zero reserved flags when delivering a SynIC message to avoid leaking a byte of stack information to the guest - Rework TDX's handling of the canonical MMU root level to not rely on userspace to fill CPUID correctly, as doing so lets userspace trivially trigger a KVM_BUG_ON() - Reject KVM_SET_NESTED_STATE if userspace "restores" L1 with EFER.LMA=1 && EFER.LME=0, which confuses KVM into trying to configure an 64-bit MMU without PAE - Ignore EFER.LMA (clear it from KVM's cached save state) if EFER.LME=0 when preparing L2 state, to fix another way to confuse KVM's MMU (and because real hardware also ignores EFER.LMA) - Improve KVM's sanity checks for a misconfigured MMU to (hopefully) detect all of the ways KVM can botch EFER.LMA vs. CR4.PAE - Remove the "full" out-param from kvm_x86_ops.flush_tlb_gva() as the param is only used to avoid what effectively amounts to a single memory write - Fix a mostly-benign bug where KVM can write through a guest's read-only mapping due to not checking the error code when expediting emulated MMIO page faults - Honor the guest's view of the "EFER.LMSLE must be zero" defeature so that userspace can provide migration compatibility between Rome and Milan+ - Pend a KVM_REQ_EVENT request when an exception is morphed into a nested VM-Exit, otherwise KVM can fail to actually deliver the nested VM-Exit, e.g. when injecting a page fault - Add support for PML on SVM - Add support for virtualizing Bus Lock Detect on SVM, and fix a number of DR6 bugs and warts along the way - Fix a variety of warts in KVM's handling of guest TSC, kvmclock, and timekeeping in general, as a (big) first step towards addressing several longstanding problems with the kvmclock implementation. Most notably, fix a precision issue where get_kvmclock_ns() computed the clock from the *host* TSC without applying guest TSC scaling, causing systemic drift from the values the guest computes from its own TSC - Rip out KVM's shadow timekeeping structures, now that ktime snapshots are powerful enough to replace it - Misc fixes and cleanups x86 (AMD): - Fix a benign-in-practice bug where KVM unintentionally sets a non-zero error code when delivering exceptions to SEV-ES+ guests - Force a new ASID in both VMCBs on pCPU migration to fix a bug where KVM can run a VMCB with a stale ASID due to the tracking being per-CPU, not per-VMCB - Return INVALID_INPUT to the guest instead of exiting to userspace with -EIO if KVM can't access "guest request" buffer, i.e. try to keep the guest alive if the guest or userspace goofs x86 (Intel): - Enable Notify VM-Exits (now called Instruction Timeout in the SDM) and Bus Lock VM-Exits for TDX guests when they're enabled by userspace (KVM forgot to wire up the TDX Module knobs) - Move all common (between VMX and TDX) APIs/helpers to common.h/main.c, and change all namespace prefixes from "vmx" to "vt" - Fix a thankfully benign bug (due to other areas of KVM being hardened) where userspace can bypass INIT_MEM_REGION's address wrap check by providing a nr_pages that will overflow a u64 when converted to bytes, and fix an also- benign off-by-one bug in the check (inclusive vs. exclusive) - Set the vmcs.GUEST_ACTIVITY_STATE back to ACTIVE when userspace sets KVM's mp_state to anything other than HALTED, e.g. so that a vCPU doesn't get stuck in HLT if userspace emulates RESET guest_memfd: - Take the invalidate lock when unbinding a dying file to fix a race with kvm_gmem_invalidate_end() that results in KVM leaving the MMU invalidation count elevated. Not taking the lock in the first place was pure misguided paranoid - When binding a memslot, purge the bindings if storing the new memslot fails, as Xarray's "store range" API can subtly fail partway through - Establish memslot<=>guest_memfd bindings *after* the memslot is ready, as the memslot becomes reachable the instant the binding is installed - Don't grab a page refcount when reloading an SNP VMSA and stop returning a "struct page" from guest_memfd's PFN lookup altogether, to ensure that KVM doesn't hold any unnecessary refcounts (the lifetime of the page is ensured by MMU notifiers and similar hooks). Preventing unnecessary refcounts greatly simplifies supporting in-place SHARED=>PRIVATE conversions - Add support for in-place PRIVATE<=>SHARED conversion, i.e. allow a single guest_memfd instance to be used for both PRIVATE and SHARED variations of CoCo guests' memory (though not at the same time). This eliminates the need to double allocate guest memory for TDX and SNP, and is basically a hard requirement for pKVM, which relies on being able to preserve memory contents on conversions - Hack-a-fix a deadlock bug in ->error_remove_folio() by returning -EBUSY if the filemap invalidate lock is contended. Punt on a proper fix for the moment, as a proper fix likely involves reworking truncate_error_folio() - Add a pile of selftests for in-place conversions - Misc guest_memfd cleanups Generic: - Move some configuration items to preprocessor symbols, to help with arm-on-s390's need to compile the same code twice with different values - Allow KVM implementations to choose alternative device names, also for s390's support of ARM virtualmachines - Switch the KVM-VFIO interface and external consumers over to standard file-based reference counting, eliminating all external KVM symbol exports Selftests: - Rework KVM selftest's handling of memory regions all so that PPC can force its page table allocations to be naturally aligned - PPC support - Fix emulation of VMPTRST and VMPTRLD when eVMCS is in-use to match real Hyper-V's behavior - Saturate L2's TSC frequency if stacking L1 and L2 scaling multipliers exceeds what hardware supports, as attempting to run L2 with an illegal multiplier will either cause VM-Entry to fail (VMX) or trigger a #GP when writing MSR_AMD64_TSC_RATIO (SVM). The #GP is thankfully benign in the grand scheme as even "unsafe" WRMSRs have exception fixup - Rework KVM selftest's handling of memory regions so that PPC can force its page table allocations to be naturally aligned - Clean up selftest's VMX instruction helpers, and drop an absurd number of completely useless return values, e.g. functions that unconditionally return %true and then have every caller assert success - Add selftests support for Zhaoxin CPUs - Overhaul the TSC scaling test to add a regression test for the saturation behavior, and to increase its coverage in general - Fix selftests usage various NUMA syscalls to account for an undocumented, but known since 2007, off-by-one kernel bug. Add helpers to try and avoid re-introducing the same flaws in the future - Automatically run xAPIC IPI migration test (between NUMA nodes) when possible, as the entire point of the test is verify KVM's handling of page migration of the APIC backing page - Misc cleanups" * tag 'for-linus' of git://git.kernel.org/pub/scm/virt/kvm/kvm: (506 commits) KVM: always make in-place conversion a compile-time constant when possible KVM: x86: leave the legacy private attribute in for TDX and SEV KVM: split CONFIG_KVM_PRIVATE_MEMATTR_VM out of KVM_VM_MEMORY_ATTRIBUTES selftests: kvm: remove useless comma operator arm64: Use proper include variant MAINTAINERS: Add entry for ARM on s390 KVM KVM: s390: arm64: Integrate arm on s390 KVM: s390: arm64: Implement basic page fault handler KVM: s390: arm64: Implement vCPU IOCTLs KVM: s390: arm64: Implement vm/vcpu create destroy KVM: s390: arm64: Implement required functions KVM: s390: Add basic arm64 kvm module s390/hwcaps: Report SAE support as hwcap KVM: s390: arm64: Introduce host definitions s390: Introduce Start Arm Execution instruction KVM: s390: Use arm64 code s390/tools: Use arm64 headers KVM: s390: Use dedicated function for migration mode s390/Kconfig: remove PCI dependency from HAS_IOMEM KVM: s390: Kick PV cpus at the right time for service irqs ...
4 daysMerge tag 'bpf-next-7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next Pull bpf updates from Alexei Starovoitov: "Major changes: - Introduce scalar evolution (SCEV) analysis in the verifier. It infers how registers and stack slots change in a loop and lets the verifier check bounded loops with induction variables as ranges instead of walking every iteration. The number of processed insns drops ten fold in programs with loops (Eduard Zingerman) - Add 'callx' instruction: indirect call of a static BPF subprogram. The address is taken with ld_imm64 or loaded from read-only data. Supported by x86-64, arm64 and riscv64 JITs (Alexei Starovoitov, Pu Lehui) - Add unwind_goto and unwind_exit instructions, so that Rust panic or C++ exception can run destructors of every frame it passes through. The normal path is free of unwind code. Supported by x86-64 and arm64 JITs (Alexei Starovoitov) - Support programs compiled by rust-bpf: treat load and store through a number as arena access with BPF_F_ARENA_SCALAR, accept rust names in BTF (Alexei Starovoitov) - Raise BPF program stack size from 512 bytes to 2 KiB on x86-64 and arm64 (Kumar Kartikeya Dwivedi) - Support struct, union and __int128 up to 16 bytes passed and returned by value in BPF subprograms and kfuncs, and fix x86-64 and arm64 trampolines for such arguments (Yonghong Song) - Introduce a common way to attach struct_ops to a cgroup via bpf_link. bpf_tcp_ops is the first user and mirrors TCP sock_ops callbacks (Martin KaFai Lau, Amery Hung) - Describe inlined functions in BTF. New kinds tell where the inline sites are and how to fetch the arguments there. CONFIG_DEBUG_INFO_BTF_INLINE keeps it apart from the main BTF in .BTF.inline section or in btf_vmlinux_inline.ko (Alan Maguire) - Fix many memory safety, lifetime and locking bugs in BPF core, verifier, iterators, local storage, dynptr, devmap, cpumap and seg6local (Josef Bacik, Alexei Starovoitov) - Diff stat is dominated by selftests and by removal of lib/test_bpf.c. Its 16k lines of instruction tests were converted to BPF selftests that BPF CI runs on every architecture it covers (Daniel Borkmann) Other features and fixes: - Add KASAN checks to memory accesses of JITed programs on x86-64 (Alexis Lothoré) - Complete unification of helper, kfunc and subprog argument checks in the verifier (Amery Hung) - Add bpf_copy_from_user_mm[_str]() kfuncs (Anastasios Papagiannis) - Various features and fixes (Daniel Borkmann): - Add .bpf keyring for program signature verification, modelled after dm-verity keyring, and support ML-DSA in signing tools - Emit shorter and faster code in x86-64 JIT for patterns that LLVM generates - Fix various issues in gotox handling - Let BPF LSM set xattrs at inode creation with bpf_inode_init_xattr() (David Windsor, Daniel Borkmann) - Use sleepable page allocation in sleepable arena paths. Fix races between arena free, allocation and user page fault (Emil Tsalapatis) - Switch BPF crypto from lskcipher to AES-CBC and AES-ECB libraries (Eric Biggers) - Add bpf_proactive_reclaim() kfunc (Hui Zhu) - Render decl_tags in libbpf btf_dump and add tests for bpftool C dump (Ihor Solodrai) - Speed up tracing_multi attach on x86 (Jiri Olsa) - Various features and fixes (Kumar Kartikeya Dwivedi): - Add BPF_PROG_STREAM_OPEN command to read BPF streams through a file descriptor with poll support - Let kernel structs publish arena pointers with __arena type tag - Fix __uninit kfunc output buffers and fastcall rewrite with indirect stack accesses - Refuse CO-RE relocations for signed programs - Add enqueue_rcvq and dequeue_rcvq hooks to bpf_tcp_ops to adjust sk_rcvlowat and avoid unnecessary wakeups (Kuniyuki Iwashima) - Add bpf_ksock_sendto() kfunc and allow ksock connect and send from bpf_wq (Mahe Tardy) - Fix racy plt target update in arm64 bpf_arch_text_poke() (Matthew Wood) - Restructure BPF selftests Makefile as a layered build (Mykola Lysenko) - Speed up hash map lookups for u32 and u64 keys (Mykyta Yatsenko) - Add signed div/mod, movsx, bswap and gotol to MIPS JITs, signed div/mod to parisc JITs (Nicholas Dudar, Johan Almbladh) - Fix stack overflow in build ID parser on 32-bit (Nickolai Zeldovich) - Add stack arguments, signed arena loads and gotox to riscv64 JIT. Pu Lehui is now co-maintainer of riscv BPF JITs (Pu Lehui, Chen Pei, Feng Jiang) - Add bpf_call_rcu() and bpf_call_rcu_tasks_trace() kfuncs. Support fetching and/or/xor atomics in arena on x86-64 (Puranjay Mohan) - Fix flaky selftests, selftests with clang 23 and bpf-gcc (Qiliang Yuan, KaFai Wan, Vineet Gupta) - Fix builds broken by fatal resolve_btfids warnings, BTF generation on ARC, and define arch_cmpxchg_local() on arc, hexagon and openrisc (Sasha Levin) - Reduce memory use of hash maps by up to 50% per element (T.J. Mercier) - Mark pointer fields of sched_ext ops arguments as trusted (Tejun Heo) - Remove legacy bpf_asm, bpf_dbg and bpf_jit_disasm tools (Xia Yan) - Fix index overflow in queue and stack maps, arena range tree after allocation failure, tail call loop after freplace detach, lost signal in bpf_send_signal() (Yuan Chen) - Many more fixes and cleanups" * tag 'bpf-next-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/bpf/bpf-next: (660 commits) selftests/bpf: Time tc_edt from its first packet with data selftests/bpf: Test unwind_exit of an exception callback selftests/bpf: Tests for 32-bit scalar evolution bounds computation bpf: Reject unwind_goto and unwind_exit in offloaded progs bpf: Support 32-bit linear scalar evolution bpf: Make unwind_exit of an exception callback exit in JITs selftests/bpf: Test forbidden bpf_ksock_sendto() LSM attach selftests/bpf: Test ksock sendto() bpf: Add bpf_ksock_sendto() kfunc selftests/bpf: Test unwinding from R0: R2 subprog selftests/bpf: Add a C++ prog with exceptions selftests/bpf: Add tests for unwind_goto and unwind_exit bpf, arm64: Support unwind_goto and unwind_exit bpf, x86: Support unwind_goto and unwind_exit bpf: Add unwind_goto and unwind_exit insns tools/bpf: Remove legacy BPF tools bpf: Annotate data races on bpf_lru_node type selftests/bpf: Add arena allocation race tests bpf: Fix arena race between page free and alloc leading to incoherency bpf: Revalidate faulted arena pages before installing user mappings ...
4 daysMerge tag 'bootconfig-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull bootconfig updates from Masami Hiramatsu: "Parser robustness and validation improvements: - Skip printing early params to cmdline from bootconfig Suppress early_param keys from /proc/cmdline and warn the user, since bootconfig does not invoke early_param handlers and silently ignoring them is misleading - Reject unexpected data after null character Detect and reject non-null data following an intermediate null character in the bootconfig buffer, preventing silently ignored configuration after an early termination Code cleanups: - Merge _xbc_exit() into xbc_exit() Since memblock_free() now handles late freeing and NULL addresses, the separate _xbc_exit() helper and its early argument are unnecessary. Inline it into xbc_exit() - Remove redundant assignment in xbc_parse_array() The node->child = 0 assignment after the loop duplicates what xbc_init_node() already did - Skip internal tree sanity checks in kernel Move the node index bounds loop from xbc_verify_tree() into a userspace-only xbc_sanity_check_tree() to reduce boot-time overhead, since out-of-bounds indices cannot be produced by malformed input - Move BOOTCONFIG_FOOTER_SIZE to include/linux/bootconfig.h Share the footer size constant between kernel and user-space tools, replacing the hardcoded (BOOTCONFIG_MAGIC_LEN + 8) expression in init/main.c Tooling improvements: - Remove unused PAGE_SIZE macro from the bootconfig tool - Consolidate xbc_init() to error message wrapper Use init_xbc_with_error() for all bootconfig initialization paths in the tool for simpler and more consistent error handling" * tag 'bootconfig-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: bootconfig: Move BOOTCONFIG_FOOTER_SIZE to include/linux/bootconfig.h bootconfig: Skip internal tree sanity checks in kernel tools/bootconfig: Consolidate xbc_init() to error message wrapper bootconfig: Reject unexpected data after null character bootconfig: Skip printing early params to cmdline from bootconfig tools/bootconfig: remove unused PAGE_SIZE macro bootconfig: remove redundant assignment in xbc_parse_array() bootconfig: merge _xbc_exit() into xbc_exit()
4 daysMerge tag 'probes-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull probes updates from Masami Hiramatsu: "Asynchronous optprobe optimizer and cleanups: - Make optprobe optimizer multi-generational and asynchronous Rework the optimizer as a state machine to avoid calling time-consuming synchronize_rcu_tasks() while holding kprobe_mutex, text_mutex, and cpus_read_lock(). Uses call_rcu_tasks() and a fixed ring of generation slots instead, so locks are only held during the brief instruction- patching window - Use DEFINE_DEBUGFS_ATTRIBUTE for the kprobes enabled knob Replace a hand-rolled debugfs read/write pair (dating from 2007) with the proper DEFINE_DEBUGFS_ATTRIBUTE macro, removing dead code and the stale XXX comment Code quality and documentation cleanups: - Add const qualifier to new_argv allocation type in trace_probe.c, preparing for the type-aware kmalloc_obj allocator conversion - Clarify btf_find_struct_member() container parameter Rename the misleading @member_type parameter to @container_type and add proper kernel-doc documentation for all parameters and return values Boot tracing test framework and testcases: - Add a generic boot tracing test framework under tools/testing/selftests/ftrace/boottime/ The test runner builds a minimal initramfs with busybox, boots QEMU, and runs tracefs checker scripts, supporting bootconfig, kernel command-line options, and multi-boot crash/reboot scenarios - Add boot-time tracing testcases Verify dynamic kprobe, synthetic events, eprobe, fprobe, tprobe, and trace instance creation via bootconfig - Add kernel cmdline tracing testcases Verify ftrace, trace_event, trace_buf_size, trace_options, trace_clock, and trace_instance kernel parameters - Add persistent ring buffer testcases: Verify memory reservation via reserve_mem= and trace data retention across guest crash/reboot, as well as backup instance creation and boot log preservation - Change non-unique test symbol from name_show to init_once in kprobe_non_uniq_symbol.tc for more reliable cross-architecture testing" * tag 'probes-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: ftrace/selftests: Change non-unique test symbol to init_once tracing/probes: Clarify btf_find_struct_member() container parameter and add kernel-doc kprobes: Make optprobe optimizer multi-generational and asynchronous tracing/probes: Add const to new_argv allocation type kprobes: use DEFINE_DEBUGFS_ATTRIBUTE for the enabled knob selftests/ftrace: Add persistent ring buffer testcases selftests/ftrace: Add kernel cmdline tracing testcases selftests/ftrace: Add boot-time tracing testcases selftests/ftrace: Add generic boot tracing test framework
4 daysMerge tag 'trace-ringbuffer-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull ring-buffer updates from Steven Rostedt: - Add Vincent Donnefort as ring-buffer maintainer Vincent has been doing a lot of updates to the ftrace ring buffer lately. I'm going to start delegating updates for the ring buffer to him. - Use RING_BUFFER_MIN_NR_PAGES instead of open coding the number 2 Instead of using the number 2 as the minimum number of pages that a ring buffer may have, create and use a macro RING_BUFFER_MIN_NR_PAGES. - Clean up the resize_disabled_checks There's duplication of code to check for resize disabled. Create a helper function rb_resize_disabled() and use that. Not only does it put the code in one place, it also removed a redundant check. - Remove unnecessary cpumask_test_cpu checks The loop for_each_buffer_cpu(buffer, cpu) only loops over CPUs in the buffer->cpumask. There's no reason to test if the CPU is set in that same loop. - Take cpus_read_lock() when changing the subbuf order A CPU coming on line for the first time allocates its CPU buffer. But if this happens while the subbuffer is being resized, it can cause an inconsistent state of subbufer sizes in the buffer. Add a cpus_read_lock() to ring_buffer_subbuf_order_set() to prevent this race. * tag 'trace-ringbuffer-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: ring-buffer: Take cpus_read_lock() when changing the subbuf order ring-buffer: Remove unnecessary cpumask_test_cpu ring-buffer: Clean up resize_disabled checks ring-buffer: Unify ring buffer minimum page calculations ring-buffer: Add a MAINTAINERS category specific for the tracing ring-buffer
4 daysMerge tag 'trace-ftrace-v7.4' of ↵Linus Torvalds
git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace Pull ftrace updates from Steven Rostedt: - Have the stacktrace option work with func-args The func_stack_trace option has it's own ftrace handler and so does the func-args option. When they are both set, neither would run. The function tracer itself would error out. Allow the stacktrace and function args to work together. - Avoid BTF lookup in atomic context The ftrace_dump() can call function graph tracing output from an atomic context (like an NMI watchdog going off). The BTF lookup is not safe to call from atomic context. Have btf_find_func_proto() return if in atomic context. - Build trace_btf.c when CONFIG_DEBUG_INFO_BTF is enabled New code is depending on trace_btf.c but that only gets built when BPF_SYSCALL is also enabled. As the new code doesn't depend on that, have trace_btf.c get built with just DEBUG_INFO_BTF set. - Have function graph return values have BTF processing Have the return values printed by the function graph tracer use BTF to print the values in better format. For example, if it's a char, short, signed or unsigned, print according to the value defined by BTF. - Add a "max" field to the function profiler stats The function profiler shows all the functions run in the kernel, the number of times they are called, and the total time they took up. Also add a "max" field which holds the longest time a function ran for. - Fix memory leak in module with all skipped functions On module load, the ftrace entries are recorded to keep track of what functions can be traced or not. Some functions may be skipped for various reasons (some defined by the architecture). If all functions in the module are skipped, its data page is not freed and can leak. Catch this case and free the empty page. - Allow architectures to reject functions from being traced Allow architectures to skip a function address by returning zero from ftrace_call_adjust(). - Initialize modname and offset in print_rec() The variables modname and offset are initialized by kallsyms_lookup(). If that fails, the values are not set, but the code continues to print other information. The modname and offset are used later, but if the kallsyms_lookup() failed, they will not be set. If a module is being loaded and unloaded at the same time as reading the available_filter_functions file, it can cause a fault due to the lookup failing and modname and offset being used uninitialized. * tag 'trace-ftrace-v7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/trace/linux-trace: ftrace: Initialize modname and offset in print_rec() ftrace: Let ftrace_call_adjust() reject a patch site ftrace: Do not leak a module's empty page group ftrace: Add max field to function profiler stats tracing: Update funcgraph-retval documentation fgraph: Enhance funcgraph-retval with BTF-based type-aware output ftrace: Build trace_btf.c when CONFIG_DEBUG_INFO_BTF is enabled tracing: Avoid BTF lookup in atomic context ftrace: Have stacktrace option work with func-args