[BPF] Describe the CO-RE subarray test functions (#235475)
The subarray test in 6636b41a18af gave both functions an empty debug
signature. This exposed an uninitialized prototype type ID during BTF
emission on the MemorySanitizer builder [1].
Describe the pointer each function takes and returns, and retain the
parameter names for BTF.
[1]: https://lab.llvm.org/buildbot/api/v2/logs/42872009/raw
Assisted-by: OpenAI Codex
[AVR][NFC] Drop stale comment (#235479)
Spotted at random - this function already implements the behavior
mentioned by the comment (we do `if (STI.hasLowByteFirst()) {` couple of
lines below).
[libc][math] Implement double precision cosh correctly rounded to all rounding modes.
Use shared exp(x) +- exp(-x) evaluations with sinh from https://github.com/llvm/llvm-project/pull/235097.
Assisted-by: Gemini for analysis and refactoring.
Merge tag 'for-7.4-part2-tag' of 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
[13 lines not shown]
Merge tag 'ext4_for_linus-7.4-rc1' of 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
[18 lines not shown]
[SPARC] Accept % prefix and alias register names in getRegisterByName (#234875)
The frontend accepts named register variables spelled with a % prefix
and aliases like sp and fp, but getRegisterByName did not match.
Strip an optional leading `%` from the register name before the lookup,
and add fp and sp as aliases for i6 and o6.
Fix #225926.
[LV] Add tests for diff checks of ptrs accessed more than once (NFC) (#235514)
Add a test with a pointer that is stored twice after the load of another
pointer, which currently uses range checks.
Also access %A with a larger step than %B in sinkable_predicated_store
(if-pred-stores.ll), which would otherwise use diff checks with the next
change. Range checks add the scoped noalias metadata sinking the
predicated stores requires.
Merge tag 'ntfs-for-7.4-rc1' of 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:
[131 lines not shown]
Merge tag 'exfat-for-7.4-rc1' of 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.
[57 lines not shown]
Merge tag 'ksmbd-for-7.4-rc1' of 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
[133 lines not shown]
Merge tag 'nfs-for-7.4-1' of git://git.linux-nfs.org/projects/anna/linux-nfs
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
[19 lines not shown]
[MachineVerifier] Accept partial defs in bundles
A read of a register pair whose only defined half comes from an earlier
instruction of the same bundle was reported as "Using an undefined
physical register", although the unbundled code verifies. Count such
in-bundle defs when checking whether part of the register is defined.
[RISCV] Only speculate VXRM writes within loops with vxrm-pipeline-flush (#234972)
With +vxrm-pipeline-flush, VXRM writes can be moved out of loops by
treating a block as needing VXRM even when only some of its successors
use it. This was applied to all blocks, so writes were also placed in
the entry block of a function that can exit early, adding a write on
paths that never use VXRM.
Fix this by limiting the speculation to blocks inside a loop. Writes are
still moved out of loops. Outside loops the normal rule applies, so no
write is added on a path that does not reach a VXRM use.
On SpacemiT X100, this improves 525.x264_r (SPEC CPU2017) by ~1%.
Assisted by Claude
x11/cosmic-app-library: New port: Modern application launcher for COSMIC
COSMIC App Library is a modern application launcher for the
COSMIC desktop environment that displays graphical apps
in a neat, airy grid.
WWW: https://github.com/pop-os/cosmic-app-library
PR: 299771
Reported by: Josh Megnauth <jo.sh at tutanota.com> (new maintainer)
databases/pgloader3: Fix crash during "reset sequences"
Column names that need to be quoted, will already be so quoting them
again results in sql errors.
Patch taken from:
https://github.com/codereverser/pgloader/commit/aba754a759f28701d94551e85c6b9c369e63698c
Upstreaming is of no use as upstream rewrote pgloader in java and is not
accepting patches for v3 anymore.
While at it:
- Replace PORTVERSION with DISTVERSION.
- Add libzstd to LIB_DEPENDS.
- Fix warnings from portclippy.
- Refresh patch.
PR: 298832
Approved by: freebsd-washroom at duhanic.com (maintainer, timeout 1 month)
Sponsored by: UNIS Labs (vvd)
[4 lines not shown]
Merge tag 'nfsd-7.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cel/linux
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.
[35 lines not shown]
[RISCV] Don't request analysis in passes that are skipped without V. NFC
We skip RISCVGatherScatterLowering and RISCVVLOptimizer when there's no V extension (or fixed length vector support), but after we request any analysises. Move the bail-out checks before this so we don't unnecessarily compute them in the new PM. The legacy PM will still redundantly compute them.
databases/pgloader3: Fix crash during "reset sequences"
Column names that need to be quoted, will already be so quoting them
again results in sql errors.
Patch taken from:
https://github.com/codereverser/pgloader/commit/aba754a759f28701d94551e85c6b9c369e63698c
Upstreaming is of no use as upstream rewrote pgloader in java and is not
accepting patches for v3 anymore.
While at it:
- Replace PORTVERSION with DISTVERSION.
- Add libzstd to LIB_DEPENDS.
- Fix warnings from portclippy.
- Refresh patch.
PR: 298832
Approved by: freebsd-washroom at duhanic.com (maintainer, timeout 1 month)
Sponsored by: UNIS Labs (vvd)
[2 lines not shown]
Merge tag 'for-linus-7.4-ofs1' of 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
[7 lines not shown]
[compiler-rt][test] Require android-37 for free_sized tests on Android (#235545)
In Android NDK r30, `stdlib.h` declares `free_sized` and
`free_aligned_sized` with `__INTRODUCED_IN(37)` without
`__BIONIC_AVAILABILITY_GUARD(37)`, which causes compilation to fail when
targeting Android API levels below 37. Add `android-37` to the available
lit features in `lit.common.cfg.py` and mark `free_sized.c`,
`free_aligned_sized.c`, and `free_sized_mismatch.cpp` as `UNSUPPORTED`
on Android below API 37.
Assisted-by: Gemini
[RegAllocFast] Don't drop needed inline asm folds on a high estimate
selectInlineAsmRegsToFold() counts a register against another register
class as the most registers of that class it can take, so that it errs
toward folding more. When folding couldn't make the operands fit by that
count, it folded nothing. But the count can be too high to ever fit: on
i686, a 16-bit "r" operand counts as two byte registers, though DI has
none. So an asm whose clobbers and fixed inputs take every byte register
lost the folds it needed, and failed with "inline assembly requires more
registers than available" at -O2 -regalloc=fast.
In that case, fold only what the operands need if each register takes
the fewest registers of a class it can, and the defs can take the
physreg uses' registers, and fold nothing only if that can't make them
fit. Keeping everything the high count folded isn't safe either: this
allocator assigns the operands in order, without looking ahead, so an
extra fold can let a tied def take the register that a byte input needs.
Assisted-by: Claude Opus 5.5