[sanitizer] Skip hanging tests on NetBSD (#216712)
Several sanitizer tests hang indefinitely on NetBSD:
```
MemorySanitizer-Unit :: ./Msan-x86_64-Test
MemorySanitizer-Unit :: ./Msan-x86_64-with-call-Test
MemorySanitizer-X86_64 :: zero_alloc.cpp
ThreadSanitizer-x86_64 :: signal_cond.cpp
libFuzzer-x86_64-default-NetBSD :: reload.test
```
All of them loop and don't time out, so they need to be terminated
manually for `ninja check-all` to complete. To avoid this, this patch
skips the affected tests or subtests. Unfortunately, the Msan unit tests
still hang on exit in `__cxa_finalize` even if all subtests are skipped
with `llvm-lit -gtest_filter=-*`.
Tested on `x86_64-pc-netbsd11.0`, `x86_64-pc-freebsd15.1`, and
`x86_64-pc-linux-gnu`.
[CIR] Derive record padding from the member marks (#215176)r
Now that every record member carries a kind, the record-level `padded`
bool is redundant: a record is padded exactly when some member is marked
pad. Drop the parameter and answer `getPadded()` from the marks.
That also fixes `computeStructDataSize`, which had read the bool as "the
last member is tail padding" and so dropped a real member when padding
sat between two data members. It now drops the trailing run, so an
all-pad record sizes to zero.
Assisted-by: Cursor / claude-opus-5
Drop kernel address refresh re-announcements in netlink monitor
The kernel re-emits RTM_NEWADDR every time a router advertisement
refreshes an address lifetime. Each refresh became an ipaddress.change
event that restarted ix-vendor.service, every few seconds behind
routers with aggressive RA timers.
IFA_CACHEINFO carries creation and update timestamps that are equal
only for a brand new address, so refreshes are dropped at parse time
with no state tracking needed. Messages without cacheinfo pass through
and RTM_DELADDR is never filtered.
Restarts now allow a single waiter on the lock instead of silently
skipping, so the latest address state is always applied without piling
up. Verified against a live kernel on real hardware.
multimedia/handbrake: Update the VPL option description
after "Switch dependency from onevpl to libvpl" in eba41bee20b2.
PR: 297590 293561
Sponsored by: UNIS Labs
dwc2: Bring dwc2_wait_for_mode from upstream and use in dwc2_force_mode.
dwc2_wait_for_mode will wait upto 110milliseconds for the controller
to enter the expected mode.
This hopefully fixes
port-evbarm/60613: Recent dwc2 commit breaks usb based ethernet device...
Pull up following revision(s) (requested by rin in ticket #1327):
sys/dev/pci/pciconf.c: revision 1.57
sys/dev/pci/pciconf.c: revision 1.58
sys/dev/pci/pciconf.c: revision 1.59
pciconf: Fix alignments of device memory and I/O resources
Resources must be their-size-aligned. While here:
- Switch *align variable from int to more suitable integer types.
- Make some conditions clearer (NFC).
pciconf: Fix round-up logics for total sizes of bridge resources
The previous ones are valid only if alignments are 4K or 1M,
for I/O or memory, respectively.
pciconf: Sort resource windows in order of decreasing alignment
instead of size.
[8 lines not shown]
Pull up following revision(s) (requested by rin in ticket #418):
sys/dev/pci/pciconf.c: revision 1.57
sys/dev/pci/pciconf.c: revision 1.58
sys/dev/pci/pciconf.c: revision 1.59
pciconf: Fix alignments of device memory and I/O resources
Resources must be their-size-aligned. While here:
- Switch *align variable from int to more suitable integer types.
- Make some conditions clearer (NFC).
pciconf: Fix round-up logics for total sizes of bridge resources
The previous ones are valid only if alignments are 4K or 1M,
for I/O or memory, respectively.
pciconf: Sort resource windows in order of decreasing alignment
instead of size.
[8 lines not shown]
mdoc: Standardize SYNOPISIS section for drivers
Standardize driver manuals on the style used for 12 years in vt(4).
This brings SYNOPSIS across all FreeBSD manual sections into harmony
of meaning where where SYNOPSIS lists available options, and does not
contain prose. Adjust mdoc(7) to reflect the established convention.
Reviewed by: jhb
Discussed with: arch@ (marc.info/?l=freebsd-arch&m=176782215606871)
Differential Revision: https://reviews.freebsd.org/D54586
Interfaces: Assignments - add interface configuration settings in new assignments page. for https://github.com/opnsense/core/issues/10568
Refactor NetworkInterface model to reuse existing property names as much as possible, move from/to legacy logic into a custom fieldtype and store all legacy settings in a container named "pending" to ease reconfiguration and updating legacy configurations.
yes: Avoid static initialization
Our buffer is half a megabyte, but we are only initializing the first
two bytes. Switching from static to dynamic initialization moves it
from .data to .bss, greatly reducing the size of the binary.
Fixes: cf74b63d61b4 ("yes: Completely overengineer")
MFC after: 1 week
Sponsored by: Klara, Inc.
Reviewed by: kevans
Differential Revision: https://reviews.freebsd.org/D58890
Pull up following revision(s) (requested by skrll in ticket #417):
sys/external/bsd/dwc2/dwc2.c: revision 1.84
PR/60021: USB-only boot: uhub0 attaches but uhub1 never appears...
Update the dwc2 intial reset sequence to more closely match the upstream
driver - it's changed a bit in the last 10 years.
This reset sequence gets the device out of the state it's left in by the
RaspberryPI firmware when booting from USB.
Pull up following revision(s) (requested by gutteridge in ticket #1326):
external/gpl2/grep/dist/src/grep.c: revision 1.6
external/gpl2/grep/dist/src/grep.c: revision 1.7
grep.c: fix ctype(3) issue leading to segfault
Addresses PR bin/60552 from Chavdar Ivanov, fix supplied by RVP.
grep.c: match upstream coding style for previous change (NFC)
Pull up following revision(s) (requested by gutteridge in ticket #416):
external/gpl2/grep/dist/src/grep.c: revision 1.6
external/gpl2/grep/dist/src/grep.c: revision 1.7
grep.c: fix ctype(3) issue leading to segfault
Addresses PR bin/60552 from Chavdar Ivanov, fix supplied by RVP.
grep.c: match upstream coding style for previous change (NFC)
Pull up following revision(s) (requested by riastradh in ticket #2045):
sys/kern/vfs_subr.c: revision 1.504
vflushbuf: Print `vflushbuf: dirty' warning only once per call.
And do it only under DEBUG, and rate-limit it globally.
This can happen when vflushbuf is competing with an onslaught of
concurrent I/O on a snapshot or block device (which is done without
holding the vnode lock, despite what the comment says). That
concurrent I/O might be happening indefinitely, so we are likely to
have to print a _lot_ of warnings, potentially overwhelming the
console, until the underlying problem is fixed by teaching vflushbuf
to wait only for the writes that began before have completed, not
also all writes that have begun since.
This stop-gap measure intended to be low-risk for pullup to release
branches.
[2 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #1325):
sys/kern/vfs_subr.c: revision 1.504
vflushbuf: Print `vflushbuf: dirty' warning only once per call.
And do it only under DEBUG, and rate-limit it globally.
This can happen when vflushbuf is competing with an onslaught of
concurrent I/O on a snapshot or block device (which is done without
holding the vnode lock, despite what the comment says). That
concurrent I/O might be happening indefinitely, so we are likely to
have to print a _lot_ of warnings, potentially overwhelming the
console, until the underlying problem is fixed by teaching vflushbuf
to wait only for the writes that began before have completed, not
also all writes that have begun since.
This stop-gap measure intended to be low-risk for pullup to release
branches.
[2 lines not shown]
Pull up following revision(s) (requested by riastradh in ticket #415):
sys/kern/vfs_subr.c: revision 1.504
vflushbuf: Print `vflushbuf: dirty' warning only once per call.
And do it only under DEBUG, and rate-limit it globally.
This can happen when vflushbuf is competing with an onslaught of
concurrent I/O on a snapshot or block device (which is done without
holding the vnode lock, despite what the comment says). That
concurrent I/O might be happening indefinitely, so we are likely to
have to print a _lot_ of warnings, potentially overwhelming the
console, until the underlying problem is fixed by teaching vflushbuf
to wait only for the writes that began before have completed, not
also all writes that have begun since.
This stop-gap measure intended to be low-risk for pullup to release
branches.
[2 lines not shown]
ice(4): Add two more 4-part IDs for E835 adapters
Two additional subdevice IDs were introduced
to distinguish between adapters with and without
manageability over USB support.
Signed-off-by: Krzysztof Galazka <krzysztof.galazka at intel.com>
Reviewed by: erj
Tested by: Mateusz Moga <mateusz.moga at intel.com>
MFC after: 1 week
Sponsored by: Intel Corporation
Differential Revision: https://reviews.freebsd.org/D57337
Pull up following revision(s) (requested by msaitoh in ticket #1324):
usr.sbin/syslogd/syslogd.c: revision 1.156
usr.sbin/syslogd/syslogd.c: revision 1.157
syslogd: Fix buffering of partial klog lines
When a /dev/klog read ends without a newline, the remaining data
is buffered for the next read. The code mistakenly copied the data
into linebuf instead of klog_linebuf, breaking reconstruction of
split log messages.
Found and fixed by nonaka@ and Kenichi Suzuki at IIJ.
syslogd: Preserve full partial klog line when buffering
Buffer incomplete /dev/klog lines from the start of the original
line instead of the parse position. Otherwise, split messages
[3 lines not shown]
[AArch64][GlobalISel] Preserve scalar type when widening atomic G_STORE (#216162)
Use `changeElementSizeTo` instead of `changeTo` in the G_STORE
legalization rule for narrow atomic stores.
`changeTo` changes the type of the stored value to generic `s32`, which
can be propagated to its defining instruction. For example, this can
turn an integer `G_AND` into an `s32` operation and prevent it from
being correctly selected.
Changing only the element size preserves the value's scalar type while
still widening the value as required by the legalization rule.