FreeBSD/src 2e6615bsys/kern vfs_export.c vfs_mount.c, sys/sys netexport.h mount.h

netexport: Move struct netexport in a .h file and refcnt it

This patch moves "struct netexport" into a separate
netexport.h file and refcounts the structure, plus adds
a few fields that will be used in a future NFS server
commit.

The patch also includes some helper functions for
handling the netextport structure:
vfs_netexport_alloc(), vfs_netexport_acquire(),
vfs_netexport_release() and vfs_netexport_reset().

Reviewed by:    kib, markj
Differential Revision:  https://reviews.freebsd.org/D57553
DeltaFile
+91-0sys/sys/netexport.h
+51-28sys/kern/vfs_export.c
+1-1sys/kern/vfs_mount.c
+2-0sys/sys/mount.h
+145-294 files

FreeBSD/src 9a10af5lib/libc/gen exterr_cat_filenames.h, sbin/kldload kldload.c

Revert "kldload: Improve error handling"

It broke the test suite, and will be recommitted when fixed.
This reverts commit db887713de2bf5c77494220a9e0ddfa7d4290155.

Reported by:    markj
DeltaFile
+28-55sys/kern/kern_linker.c
+9-8sbin/kldload/kldload.c
+0-1sys/sys/exterr_cat.h
+0-1lib/libc/gen/exterr_cat_filenames.h
+37-654 files

FreeBSD/src f38cbefsys/amd64/conf GENERIC, sys/arm/conf std.armv7

GENERIC: enable extended error strings on all archs

This follows commit 3296fda0c309c873ae37a0a4e25ded3ae04b421c.

PR:             289236
Reviewed by:    kib
MFC after:      3 days
DeltaFile
+1-1sys/arm64/conf/std.arm64
+1-1sys/amd64/conf/GENERIC
+1-0sys/i386/conf/GENERIC
+1-0sys/powerpc/conf/GENERIC
+1-0sys/riscv/conf/GENERIC
+1-0sys/arm/conf/std.armv7
+6-26 files

FreeBSD/src 93c6906sys/dev/wtap if_wtap.c if_wtapioctl.h

wtap(4): implement monitor mode and handle radiotap

Implement monitor mode by simply adding IEEE80211_C_MONITOR to ic->ic_cap.

To get additional informations when capturing 802.11 frames, radiotap is
 inserted by wtap_tx_tap() when TX and wtap_rx_tap() when RX.

There are some type faults in struct wtap_rx_radiotap_header which are
 mainly mistakenly store unsigned values into signed integers.
I have fixed them (wtap(4)) by complying with the types defined
 in https://www.radiotap.org/fields/defined.

Becuase the struct wtap_rx_radiotap_header comes from ath(4),
there may be another patch to fix the type faults in ath(4).

Differential Review: https://reviews.freebsd.org/D36469
DeltaFile
+55-4sys/dev/wtap/if_wtap.c
+16-15sys/dev/wtap/if_wtapioctl.h
+71-192 files

FreeBSD/src d4de0a6sys/dev/wtap if_wtap.c

wtap(4): Implement STA/HostAP mode and support WPA/WPA2

Below is the commit message:
```
Wtap originally only supported mesh/ad-hoc mode, and cannot be combined
with wpa_supplicant(8) and hostapd(8) since it's unaware of encryption/decryption.
This commit adds support for hostap and sta mode with WPA/WPA2, thus wtap(4)
can now be used with hostapd(8) and wpa_supplicant(8).
```

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D36243
DeltaFile
+23-1sys/dev/wtap/if_wtap.c
+23-11 files

FreeBSD/src 9ef75e0sys/dev/wtap if_wtap.c

wtap: Remove bogus NULL check in wtap_transmit

The node pointer is guaranteed to be non-NULL by the net80211 stack.

The original check was also ineffective as it dereferenced ni->ni_vap before the NULL check.

Reviewed by:    bz
Differential Revision:  https://reviews.freebsd.org/D54547
DeltaFile
+2-6sys/dev/wtap/if_wtap.c
+2-61 files

FreeBSD/src 76f9bb4sys/dev/rge if_rge.c

rge: fix VLAN hardware tagging

Set the correct value in the TX descriptor for the vlan header.

PR: kern/295175
DeltaFile
+1-1sys/dev/rge/if_rge.c
+1-11 files

FreeBSD/src f8b5df4share/misc bsd-family-tree

bsd-family-tree: add FreeBSD 15.1
DeltaFile
+6-3share/misc/bsd-family-tree
+6-31 files

FreeBSD/src f799fcesbin/devd snd.conf

devd/snd.conf: Handle absent control device properly

If virtual_oss is not enabled when these rules run on startup, dmesg
will show the following messages:

Starting devd.
virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory
virtual_oss_cmd: Could not open control device: /dev/vdsp.ctl: No such file or directory

Reported by:    olce, Mark Millard <marklmi at yahoo.com>
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week

(cherry picked from commit 439b219fed3eea8ad3e1204393a8605826b8bbca)
DeltaFile
+9-6sbin/devd/snd.conf
+9-61 files

FreeBSD/src 3b6f833sys/dev/usb/video uvideo.c uvideo.h

uvideo: increase isochronous transfer depth for throughput

Increase NFRAMES_MAX from 40 to 128 and IXFERS from 3 to 5 to keep
more packets in flight on the USB bus.  This brings throughput from
~13.5 MB/s to ~21 MB/s (for comparison on the same camera webcamd
provided ~20MB/s.

The linux driver also uses 5 IXFERS (but only 32 NFRAMES_MAX)

Tested by:      manu
DeltaFile
+20-0sys/dev/usb/video/uvideo.c
+2-2sys/dev/usb/video/uvideo.h
+22-22 files

FreeBSD/src 8bc06ffsys/dev/usb/video uvideo.h uvideo.c

uvideo: add missing formats to be in par with webcamd's uvcvideo
DeltaFile
+24-0sys/dev/usb/video/uvideo.h
+19-0sys/dev/usb/video/uvideo.c
+6-0sys/dev/usb/video/uvideo_v4l2.h
+49-03 files

FreeBSD/src d0450cbsys/dev/usb/video uvideo.c uvideo_v4l2.h

uvideo: add Camera Terminal controls

Implement UVC Camera Terminal (CT) controls per UVC 1.5 specification
Table A-12. This adds support for camera-specific controls that are
separate from the Processing Unit controls already supported.

Reviewed by:    manu
Differential Revision:  https://reviews.freebsd.org/D56962
DeltaFile
+197-13sys/dev/usb/video/uvideo.c
+13-0sys/dev/usb/video/uvideo_v4l2.h
+1-1sys/dev/usb/video/uvideo.h
+211-143 files

FreeBSD/src 54df18csys/dev/usb/video uvideo.c

uvideo: add kqueue support

Add EVFILT_READ kqueue filter so applications using kqueue/kevent
can efficiently wait for video frames instead of polling.

Reviewed by:    manu
Differential Revision:  https://reviews.freebsd.org/D56961
DeltaFile
+48-0sys/dev/usb/video/uvideo.c
+48-01 files

FreeBSD/src b711ef9sys/conf files, sys/dev/usb usb.h

uvideo: import uvideo(4) driver from OpenBSD

Port the uvideo(4) driver from OpenBSD. This provides
native USB Video Class (UVC) support for webcams and video capture
devices.

The main changes are adaptation for:
- USB transfer callback model
- isoc data extraction via usbd_copy_out(),
- V4L2 struct alignment for ABI compatibility with v4l_compat.

Note that this implementation can coexist with webcamd.

Reviewed by:    manu
Differential Revision:  https://reviews.freebsd.org/D56960
DeltaFile
+3,493-0sys/dev/usb/video/uvideo.c
+687-0sys/dev/usb/video/uvideo.h
+483-0sys/dev/usb/video/uvideo_v4l2.h
+10-0sys/modules/usb/uvideo/Makefile
+6-0sys/dev/usb/usb.h
+1-0sys/conf/files
+4,680-01 files not shown
+4,681-07 files

FreeBSD/src e5e9bdatools/test/stress2/misc msdos12.sh

tools/test/stress2/misc/msdos12.sh: fix permission issue

This test runs with rights of an un-privileged user writing to a file
system only writable by the owner. Since no UID was provided in the
mount command, the owner of the file system was "root", and thus
writing was not allowed for $testuser. Fix this issue by mounting
with "-u $testuser".

MFC after:      3 days

(cherry picked from commit b440741db4ea1ccfa17acc2b3c37863dd819dcf3)
DeltaFile
+1-1tools/test/stress2/misc/msdos12.sh
+1-11 files

FreeBSD/src 9262b12tools/test/stress2/misc all.debug.inc

tools/test/stress2/misc/all.debug.inc: skip undefined variables

On my ZFS based systems, no allocations occur with tags "newblk" or
"freework". This leads to errors executing the tests that check for
memory leaks. Skip the checks if the output of wmstat -m does not
contain lines corresponding to those allocations.

MFC after:      3 days

(cherry picked from commit 6e5b990c509777544b790cc8e490965166d04684)
DeltaFile
+4-2tools/test/stress2/misc/all.debug.inc
+4-21 files

FreeBSD/src 2d3cd41tools/test/stress2/misc msdos24.sh msdos22.sh

tools/test/stress2/misc: Add msdosfs tests for surrogate pairs

Test msdos22.sh creates 1000 files with long random names consisting
of only ASCII characters. The mount is performed without -L option,
therefore no use of iconv to convert between character sets.

Test msdos23.sh mixes some non-ASCII characters into the file names.
The file system is therefore mounted with -L C.UTF-8 to include tests
of the conversions between UTF-8 and UTF-16.

Test msdos24.sh adds emojis to the names to test the (not yet
committed) support of UTF-16 surrogate pairs in filenames.

(cherry picked from commit aa029088ec130d71b406c4118346fbd933940826)
(cherry picked from commit 11f23d7c078b319285727d277f05b6962280bcce)
(cherry picked from commit 596dadbbb5a711477f811fed65a6c463801d16c5)
(cherry picked from commit 3260c42c4183ac817cf08fcaa236d4d21b4fc0d2)
DeltaFile
+86-0tools/test/stress2/misc/msdos24.sh
+77-0tools/test/stress2/misc/msdos22.sh
+77-0tools/test/stress2/misc/msdos23.sh
+240-03 files

FreeBSD/src 3c1e899tools/test/stress2/misc all.debug.inc

tools/test/stress2/misc/all.debug.inc: skip undefined variables

On my ZFS based systems, no allocations occur with tags "newblk" or
"freework". This leads to errors executing the tests that check for
memory leaks. Skip the checks if the output of wmstat -m does not
contain lines corresponding to those allocations.

MFC after:      3 days

(cherry picked from commit 6e5b990c509777544b790cc8e490965166d04684)
DeltaFile
+4-2tools/test/stress2/misc/all.debug.inc
+4-21 files

FreeBSD/src c3b79dftools/test/stress2/misc msdos12.sh

tools/test/stress2/misc/msdos12.sh: fix permission issue

This test runs with rights of an un-privileged user writing to a file
system only writable by the owner. Since no UID was provided in the
mount command, the owner of the file system was "root", and thus
writing was not allowed for $testuser. Fix this issue by mounting
with "-u $testuser".

MFC after:      3 days

(cherry picked from commit b440741db4ea1ccfa17acc2b3c37863dd819dcf3)
DeltaFile
+1-1tools/test/stress2/misc/msdos12.sh
+1-11 files

FreeBSD/src 247665btools/test/stress2/misc msdos24.sh msdos23.sh

tools/test/stress2/misc: Add msdosfs tests (currently failing)

Test msdos22.sh creates 1000 files with long random names consisting
of only ASCII characters. The mount is performed without -L option,
therefore no use of iconv to convert between character sets.

Test msdos23.sh mixes some non-ASCII characters into the file names.
The file system is therefore mounted with -L C.UTF-8 to include tests
of the conversions between UTF-8 and UTF-16.

Test msdos24.sh adds emojis to the names to test the (not yet
committed) support of UTF-16 surrogate pairs in filenames.

(cherry picked from commit aa029088ec130d71b406c4118346fbd933940826)
(cherry picked from commit 11f23d7c078b319285727d277f05b6962280bcce)
(cherry picked from commit 596dadbbb5a711477f811fed65a6c463801d16c5)
(cherry picked from commit 3260c42c4183ac817cf08fcaa236d4d21b4fc0d2)
DeltaFile
+86-0tools/test/stress2/misc/msdos24.sh
+77-0tools/test/stress2/misc/msdos23.sh
+77-0tools/test/stress2/misc/msdos22.sh
+240-03 files

FreeBSD/src e71ad3fsys/fs/msdosfs msdosfs_conv.c direntry.h

fs/msdosfs: add support for file namws with surrogate pairs

Long file names are using UTF-16 symbols to represent international or
special characters. The implementation in FreeBSD did not support the
"Supplementary Private Use Area-B" (PUA-B), which requires a surrogate
pair to be represented in UTF-16 (Unicode code points beyond U+FFFF).

The PUA-B is used to represent emoji characters, which are supported
in file names on other common operating systems. The motivation for
this change was that removable media written on another system were
only partially readable on FreeBSD, since they contained emojis in
file names.

A test script that verifies correct operations on files names with
emojis has been added to the tools/test/stress2/misc directory under
the name msdos24.sh.

Reported by:    Fabian Keil <fk at fabiankeil.de>
Reviewed by:    ib

    [6 lines not shown]
DeltaFile
+130-34sys/fs/msdosfs/msdosfs_conv.c
+5-4sys/fs/msdosfs/direntry.h
+4-3sys/fs/msdosfs/msdosfs_lookup.c
+139-413 files

FreeBSD/src 8f35851sys/fs/msdosfs msdosfs_conv.c direntry.h

fs/msdosfs: add support for file namws with surrogate pairs

Long file names are using UTF-16 symbols to represent international or
special characters. The implementation in FreeBSD did not support the
"Supplementary Private Use Area-B" (PUA-B), which requires a surrogate
pair to be represented in UTF-16 (Unicode code points beyond U+FFFF).

The PUA-B is used to represent emoji characters, which are supported
in file names on other common operating systems. The motivation for
this change was that removable media written on another system were
only partially readable on FreeBSD, since they contained emojis in
file names.

A test script that verifies correct operations on files names with
emojis has been added to the tools/test/stress2/misc directory under
the name msdos24.sh.

Reported by:    Fabian Keil <fk at fabiankeil.de>
Reviewed by:    ib

    [6 lines not shown]
DeltaFile
+130-34sys/fs/msdosfs/msdosfs_conv.c
+5-4sys/fs/msdosfs/direntry.h
+4-3sys/fs/msdosfs/msdosfs_lookup.c
+139-413 files

FreeBSD/src 0010c4blib/libexecinfo/tests sigtramp_test.c

tests/sigtramp_test: xfail on non-amd64

This test fail until at least https://reviews.llvm.org/D155066 is
rebased and picked up for aarch64 and more work is done for the other
archs.

PR:             289096
Reviewed by:    jlduran
Fixes:          fef84fd8ae845e19cec0f6b9aac0e6451cca3d7a
MFC after:      3 days
DeltaFile
+2-2lib/libexecinfo/tests/sigtramp_test.c
+2-21 files

FreeBSD/src 85b3cf5share/examples/etc make.conf

examples: Update COPTFLAGS in make.conf

We've been using -O2 for about fifteen years.

Reported by:    Jan Stary <hans at stare.cz>
MFC after:      1 week

(cherry picked from commit 2ab18d3286f5e1ea08cd86e234377b673245ec15)
DeltaFile
+1-1share/examples/etc/make.conf
+1-11 files

FreeBSD/src 872c046contrib/openbsm/bin/auditd auditd_fbsd.c auditd.c

auditd: Fix signal handling

Rewrite the main loop to use ppoll() instead of just blocking on read,
blocking the signals we care about when we aren't polling.

I didn't bother replacing alarm() with setitimer(); the alarm code
is dead anyway since there is no way for max_idletime to acquire a
non-zero value.

While here, avoid leaking the pid file and trigger descriptors to the
log child.

PR:             295840
MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans
Differential Revision:  https://reviews.freebsd.org/D57451

(cherry picked from commit 5bd78cfc800339fd7f3945498052d67553af9e3c)
DeltaFile
+39-40contrib/openbsm/bin/auditd/auditd_fbsd.c
+40-10contrib/openbsm/bin/auditd/auditd.c
+4-0contrib/openbsm/bin/auditd/audit_warn.c
+3-0contrib/openbsm/bin/auditd/auditd.h
+86-504 files

FreeBSD/src 5ecad82sys/security/audit audit_trigger.c

audit: Add poll / select support

It was previously not possible to poll() or select() on the trigger
device, which made implementing proper signal handling in auditd
difficult.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans, markj
Differential Revision:  https://reviews.freebsd.org/D57457

(cherry picked from commit 0620c99d278b6a2fd6fe995f5bb365158e04ad7c)
DeltaFile
+21-2sys/security/audit/audit_trigger.c
+21-21 files

FreeBSD/src 9b30dccsys/security/audit audit_trigger.c

audit: Replace TAILQ with STAILQ

This reduces the size of a trigger entry from 24 bytes to 16 (or from
12 bytes to 8 on 32-bit) with no additional complexity.

MFC after:      1 week
Sponsored by:   Klara, Inc.
Reviewed by:    kevans, emaste
Differential Revision:  https://reviews.freebsd.org/D57464

(cherry picked from commit 77e894cb09affe828f4bc81b8e4751a7e22860de)
DeltaFile
+11-11sys/security/audit/audit_trigger.c
+11-111 files

FreeBSD/src 08e0212lib/libc/gen fts.3

fts: Correct description of fts_set

MFC after:      1 week
Sponsored by:   Klara, Inc.
Fixes:  e030e4e73fe7 ("lib/libc/gen/fts.3: use 'options' consistently in fts_set() description")
Differential Revision:  https://reviews.freebsd.org/D57326

(cherry picked from commit 77fdeba18c07e243ea1e20916ee0dc31b9d6ac32)
DeltaFile
+4-3lib/libc/gen/fts.3
+4-31 files

FreeBSD/src 4af6afclib/msun Makefile

libmsun: Fix incorrect MLINK for sincosl(3)

PR:             295704
MFC after:      1 week

(cherry picked from commit fa3f69fa4cabf50d667631b4b8083673bccc874f)
DeltaFile
+1-1lib/msun/Makefile
+1-11 files

FreeBSD/src 1704247. Makefile.inc1

check-old-libs: Show information about packages

If pkg is installed, for each old library found to still be present,
check if any installed packages either provide or require the library,
and inform the user.

MFC after:      1 week
Reviewed by:    markj
Differential Revision:  https://reviews.freebsd.org/D53977

(cherry picked from commit 8d9dff23f206cb86aed9857a985ed09cd38eb5ac)
DeltaFile
+9-0Makefile.inc1
+9-01 files