pf: Clear only the part of the packet descriptor that is read first
pf_init_pdesc() cleared the whole structure, 336 bytes on amd64, for
every packet and twice for a forwarded one. kif, m, pf_mtag, act and
the SCTP job list are set before they are read, so move them to the end
and clear only the 240 bytes before them. On amd64 that also stays
below the 256 bytes from which memset() switches to rep stosb.
Reviewed by: kp
Sponsored by: Rubicon Communications, LLC ("Netgate")
Differential Revision: https://reviews.freebsd.org/D60948
linux: Preserve partial results from recvmmsg()
linux_recvmmsg_common() currently returns the error from the next
recvmsg() attempt even when one or more datagrams have already been
received and copied to userspace.
This is especially visible with non-blocking UDP sockets. After
receiving the first datagram, the next iteration commonly returns
EAGAIN. The syscall then reports EAGAIN instead of the number of
messages already stored in the mmsghdr array, causing applications to
discard successfully received packets.
This differs from Linux recvmmsg() semantics, where an error encountered
after receiving at least one message is deferred and the number of
received messages is returned.
Return the accumulated datagram count and clear the error whenever at
least one message was received. Preserve the original error when no
messages were received.
[10 lines not shown]
est: prevent divide-by-zero in est_msr_info
When hw.est.msr_info=1 is set, est_msr_info() extracts the bus clock
from MSR_PERF_STATUS upper bits. On secondary CPUs, the MSR may
contain zero in the frequency ratio field, causing a
divide-by-zero panic.
Observed in pre Skylake Intel cpu.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57614
(cherry picked from commit 021a190c88fc41f981a79fe6822bdafbcda14e99)
kqueue: do not buffer the whole knote report when sizing it
kern_proc_kqueues_out() reported into an intermediate sbuf and copied the
result into the caller's.
A process that had leaked 468k kqueue descriptors wired 757 MB of M_SBUF
while dumping core, over roughly 9M reallocations, then copied the whole
thing again.
Reviewed by: adrian, markj
Differential Revision: https://reviews.freebsd.org/D58536
PR: 296835
MFC after: 1 week
(cherry picked from commit ff97443beef614a12652cb96ccebe95e9046e82a)
if_fwsubr: remove ARP target hardware address trimming
Per RFC 2734 section 5, the 1394 ARP packet is a fixed 32-octet structure
with no target hardware address field.
Reviewed by: adrian
Differential Revision: https://reviews.freebsd.org/D57617
(cherry picked from commit 3ffd2baa268d298201d54c733dc0e635cc1dca9f)
smb(4): Add SMB Block Process Call command
Add support for the SMBus Block Process Call (bpcall) command. This
command writes a block of data to a slave device and reads a block of
data back in a single transaction, as defined in the SMBus 2.0
specification.
Add the SMB_BPCALL ioctl to the smb(4) character device to allow
userspace to issue Block Process Call transactions.
Implement ichsmb_bpcall() for the ICH SMBus controller using the
32-byte block buffer mode. Older ICH variants (ICH, ICH0, ICH2, ICH3)
that lack the block buffer feature will return SMB_ENOTSUPP.
The PIIX4 compatible hardware (intpm) does not support Block Process
Call at all and returns SMB_ENOTSUPP unconditionally.
This has been tested on several Beckhoff Industrial PCs using real
SMBus hardware. It has been tested on Tigerlake, Elkhart and
[5 lines not shown]
devel/llvm19: fix build on 15.1, 14.4
This patch only works on systems with the libc++ from LLVM 21 so bound
its application appropriatly.
PR: 299993, 296203
Fixes: 6a0f728d9cd8 ("devel/llvm19: fix build with flang and libc++ 21")
www/p5-Dancer2: update 2.2.2 -> 2.3.0
Changelog: https://metacpan.org/dist/Dancer2/changes
Major changes:
- PR #1866: JSON serializer should not leak file/line detail
- GH #1794: Add support for HTTP QUERY method.
- GH #1863: Fix the JSON serializer modifying the data it is given.
Security: PR #1866: JSON serializer should not leak file/line detail
graphics/p5-GD: update 2.83 -> 2.91
Changelog: https://metacpan.org/dist/GD/changes
Port changes:
- Use CPAN:RURBAN macro, latest releasees are not available in the by-module path
- Remove patch which looks useless
Security: CVE-2026-11526
devel/vc-intrinsics: drop support for LLVM 12 13 14
These versions are ancient so drop support for them.
This currently leaves LLVM 15 support. It appears this port could be
updated to support more recent versions if anyone needs it.