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

FreeBSD/src 03f078dcontrib/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 c1f725bshare/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 bc5f0ffsys/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 9cc0ff7sys/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 b18a662lib/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 d6b1b77. 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

FreeBSD/src f8d59d3lib/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 a641aa1stand/man loader.efi.8

loader.efi.8: hw.uart.console is explained in uart

PR:             295944
MFC to:         15
MFC after:      3 days
DeltaFile
+2-3stand/man/loader.efi.8
+2-31 files

FreeBSD/src e821152bin/ln symlink.7

symlink.7: Clean up markup and tag SPDX

Also unwind some parentheticals.

MFC after:      3 days
DeltaFile
+49-43bin/ln/symlink.7
+49-431 files