FreeBSD/src 815dc35sys/dev/sound/pcm channel.c buffer.c

sound: Pass format and speed as arguments to sndbuf_create()

Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+2-6sys/dev/sound/pcm/channel.c
+4-1sys/dev/sound/pcm/buffer.c
+1-1sys/dev/sound/pcm/buffer.h
+7-83 files

FreeBSD/src 69c4e2bsys/dev/sound/pcm dsp.c

sound: Remove dead code in dsp_ioctl()

Sponsored by;   The FreeBSD Foundation
MFC after:      1 week
DeltaFile
+0-8sys/dev/sound/pcm/dsp.c
+0-81 files

FreeBSD/src c0dc283etc/mtree BSD.tests.dist, tests/sys/fs Makefile

tests: Add pjdfstest integration

Use ATF to wrap the new reimplementation of pjdfstest that came out of
GSOC 2022, now available in the ports tree as filesystems/pjdfstest.

So far I added tests for UFS (with several different option
combinations), tmpfs and ZFS, plus ZFS+nullfs.  All of these create a
memory disk, initialize the filesystem, and point the pjdfstest
executable at it.

In the future it would be good to add tests for at least NFS and p9fs.

Reviewed by:    asomers
MFC after:      2 weeks
Differential Revision:  https://reviews.freebsd.org/D56605

(cherry picked from commit 8fd4d1c0fff8441b42dbab767810db7aeaf796c3)
DeltaFile
+130-0tests/sys/fs/pjdfstest/ufs.sh
+96-0tests/sys/fs/pjdfstest/zfs.sh
+60-0tests/sys/fs/pjdfstest/tmpfs.sh
+12-0tests/sys/fs/pjdfstest/Makefile
+2-0etc/mtree/BSD.tests.dist
+1-0tests/sys/fs/Makefile
+301-06 files

FreeBSD/src 1a715cbsys/dev/virtio/p9fs virtio_p9fs.c

virtio/p9fs: Define the channel list mutex as static

No functional change intended.

MFC after:      1 week

(cherry picked from commit 2586f9f459adc6610957ba0d74a167b85fe24ac7)
DeltaFile
+1-1sys/dev/virtio/p9fs/virtio_p9fs.c
+1-11 files

FreeBSD/src bfcac89sys/dev/virtio/p9fs virtio_p9fs.c, sys/fs/p9fs p9_transport.h

p9fs: Remove the "cancel" transport method

Nothing calls it, and the existing virtio transport doesn't implement
it.  No functional change intended.

MFC after:      1 week

(cherry picked from commit 94989248641a17f5c2afc367df4845e4113779a1)
DeltaFile
+0-8sys/dev/virtio/p9fs/virtio_p9fs.c
+0-2sys/fs/p9fs/p9_transport.h
+0-102 files

FreeBSD/src fae2b85lib/librpcsec_gss svc_rpcsec_gss.c

librpcsec_gss: Fix an off-by-one in rpc_gss_get_principal_name()

Include an extra byte for the nul-terminator, otherwise we may end up
with an out-of-bounds write.

The corresponding bug in the kernel implementation was fixed by commit
e3081f7e3e2d ("kgssapi(4): Fix string overrun in Kerberos principal construction").

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

(cherry picked from commit 635ad6f2ec97e9c6b1f15620cd5ee84eb632082f)
DeltaFile
+1-1lib/librpcsec_gss/svc_rpcsec_gss.c
+1-11 files

FreeBSD/src c8cc442sys/kern uipc_usrreq.c

unix: Fix a socket refcount leak in uipc_sendfile_wait()

Fixes:          d15792780760 ("unix: new implementation of unix/stream & unix/seqpacket")
Reviewed by:    glebius
MFC after:      1 week
Differential Revision:  https://reviews.freebsd.org/D57967

(cherry picked from commit 2a4b8fd1dc070e71fbaab6f12c1c9e4452652aa7)
DeltaFile
+3-1sys/kern/uipc_usrreq.c
+3-11 files

FreeBSD/src 2e1226clib/libnetbsd/sys types.h

libnetbsd: Avoid bringing in all of sys/param.h in sys/types.h

It's okay to hard-code NBBY, as the value is somewhat unlikely to
change.

The pollution from sys/param.h makes it harder to import test code from
NetBSD since it can introduce conflicting definitions, e.g.,
MIN()/MAX().

Reviewed by:    ngie
MFC after:      1 week
Sponsored by:   The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57754

(cherry picked from commit 0976744085bcd7ebda9779b02d78a85254b3e352)
DeltaFile
+1-1lib/libnetbsd/sys/types.h
+1-11 files

FreeBSD/src b365fc1usr.sbin/makefs/zfs dsl.c

makefs/zfs: Explicitly include sys/param.h for nitems()

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit 88deb1cff92cb3620c248f32fa6e7bdbc5301213)
DeltaFile
+1-0usr.sbin/makefs/zfs/dsl.c
+1-01 files

FreeBSD/src 8a641f9sys/net if_ovpn.c

if_ovpn: Fix a lock leak in an error path

Reviewed by:    kp
MFC after:      1 week
Fixes:          04a7134c1e92 ("if_ovpn: fix use-after-free of mbuf")
Differential Revision:  https://reviews.freebsd.org/D57696

(cherry picked from commit f7b71f832c990da0bf203095f02405df665529d0)
DeltaFile
+1-0sys/net/if_ovpn.c
+1-01 files

FreeBSD/src 29264fasys/netinet udp_usrreq.c

udp: Wrap a long line in udp_send()

No functional change intended.

MFC after:      1 week

(cherry picked from commit 3b69c7201fd06b368090f2ee3840d384a949cba8)
DeltaFile
+2-1sys/netinet/udp_usrreq.c
+2-11 files

FreeBSD/src e19e201usr.bin/xinstall xinstall.c

install: Explicitly include sys/param.h for MAXPATHLEN

MFC after:      1 week
Sponsored by:   The FreeBSD Foundation

(cherry picked from commit ca89b0fa1a93744a5bbf7a5c949826bbee4e2559)
DeltaFile
+1-0usr.bin/xinstall/xinstall.c
+1-01 files

FreeBSD/src 1d02c25tests/sys/fs/fusefs mockfs.cc

fusefs: proofread an error message in the tests

Reported by:    otis
Fixes:          2c1482e3053 ("fusefs: fix a race in the pre-init tests")
Sponsored by:   ConnectWise

(cherry picked from commit 381ebe25f0b9fae5b3470e9c6e0767909e0fa85a)
DeltaFile
+1-1tests/sys/fs/fusefs/mockfs.cc
+1-11 files

FreeBSD/src c57b054tests/sys/fs/fusefs mockfs.cc pre-init.cc

fusefs: fix a race in the pre-init tests

These tests allow the user to customize the INIT response.  But it's
necessary to block the daemon's service loop from running until those
expectations have been set.  This race has never caused failures before
simply due to luck.  But now it's failing on slower platforms.

PR:             296236
Reported by:    siva
Sponsored by:   ConnectWise
Reviewed by:    siva
Differential Revision: https://reviews.freebsd.org/D57781

(cherry picked from commit 2c1482e305368af182a7bde0e53d0d180b319326)
DeltaFile
+8-3tests/sys/fs/fusefs/mockfs.cc
+6-0tests/sys/fs/fusefs/pre-init.cc
+3-0tests/sys/fs/fusefs/mockfs.hh
+17-33 files

FreeBSD/src ed15ec6sys/fs/fuse fuse_vnops.c

fusefs: only search for FREAD fufh in readdir

The extra search for an FEXEC fufh shall be removed, since readdir
is only supposed to be called on a directory opened with FREAD.  The
sole exception is NFS, which will call VOP_READDIR with directories that
aren't open at all.  fuse already has special code to handle that.

Also remove the fuse_filehandle_get_dir() function, since it's not
used anywhere else.

Signed-off-by:  CismonX <admin at cismon.net>
Reviewed by:    asomers
Pull Request:   https://github.com/freebsd/freebsd-src/pull/1729

(cherry picked from commit 4179f1d9deed83977f159c8afea204293ef4c7d7)
DeltaFile
+1-11sys/fs/fuse/fuse_vnops.c
+1-111 files

FreeBSD/src 2da045asys/fs/fuse fuse_vnops.c, tests/sys/fs/fusefs default_permissions.cc

fusefs: fix error handling when reading a directory's sticky bit

When trying to delete or rename a file, fuse_vnop_lookup must check
whether its parent directory's sticky bit is set.  Realistically, the
parent directory's attributes will almost always be cached.  But it's
possible that they won't be, and in that case we must send a new
FUSE_GETATTR request to the server.  If that request fails for some
reason, then we must fail the lookup.  Prior to this change fusefs would
ignore failure of that request.

Reported by:    Yuxiang Yang, Yizhou Zhao, Ao Wang, Xuewei Feng, Qi Li,
                and Ke Xu of Tsinghua University
Reviewed by:    markj
Differential Revision: https://reviews.freebsd.org/D57588

(cherry picked from commit b4af6a4cccc3b4b0ea461463196c258eb92ad2e5)
DeltaFile
+53-0tests/sys/fs/fusefs/default_permissions.cc
+6-4sys/fs/fuse/fuse_vnops.c
+59-42 files

FreeBSD/src b72397dsys/kern sys_generic.c

kern_filewrite(): unconditionally calculate cnt, it is used by callers

Reported by:    dhw, madpilot
Tested by:      dhw
Sponsored by:   The FreeBSD Foundation
MFC after:      1 week
Fixes:  dfad790c8cca ("sendfile: stop abusing kern_writev()")
DeltaFile
+1-1sys/kern/sys_generic.c
+1-11 files

FreeBSD/src ed7e0ebusr.sbin/bhyve snapshot.c bhyve_config.5, usr.sbin/bhyve/amd64 bhyverun_machdep.c

bhyve: allow overriding snapshot socket directory

By default bhyve(8) creates a snapshot socket in
"/var/run/bhyve/" (BHYVE_RUN_DIR).
As this is a system directory not writable by users,
this does not work when bhyve(8) is being started
as a non-root user.

Address that by allowing to override this directory.
In bhyve(8) it is done by setting 'rundir' option
with '-o rundir=<path>'.

In bhyvectl(8) it is done with '--rundir=<path>'.

MFC after:              1 month
Reviewed by:            bcr (manpages), bnovkov
Sponsored by:           The FreeBSD Foundation
Differential Revision:  https://reviews.freebsd.org/D57494
DeltaFile
+25-7usr.sbin/bhyvectl/bhyvectl.c
+10-4usr.sbin/bhyve/snapshot.c
+8-1usr.sbin/bhyve/bhyve_config.5
+7-1usr.sbin/bhyvectl/bhyvectl.8
+6-0usr.sbin/bhyve/amd64/bhyverun_machdep.c
+1-1usr.sbin/bhyve/snapshot.h
+57-141 files not shown
+58-157 files

FreeBSD/src e75fa2asys/compat/freebsd32 freebsd32_sysent.c, sys/kern init_sysent.c

Regen syscalls tables.

This catches up with 692b0ef1506ba which added CAPENABLED to
clock_nanosleep(). Curiously recent additions of the pdopenpid(2) and
pddupfd(2) were done before the cited commit, and that regen did not
included the change.

Sponsored by:   The FreeBSD Foundation
DeltaFile
+1-1sys/kern/init_sysent.c
+1-1sys/compat/freebsd32/freebsd32_sysent.c
+2-22 files

FreeBSD/src 7e1245asys/compat/linuxkpi/common/include/linux pm_runtime.h

linuxkpi: Add pm_runtime_resume_and_get

pm_runtime_resume_and_get is used by new versions of amdgpu, and began
use between Linux kernel version 6.12, and 6.14.

Reviewed by:    dumbbell
Sponsored by:   The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D57463
DeltaFile
+6-0sys/compat/linuxkpi/common/include/linux/pm_runtime.h
+6-01 files

FreeBSD/src 1cce5efsys/net if_lagg.c

lagg: re-check port caps after bringing up a port

Some nic drivers (including iflib) do not initialize if_hwassist
until after the interface is brought up.  If a lagg member is included
in a lagg when its not yet been brought up, that will cause lagg to see
if_hwassist=0 and will disable all checksum offload, etc, on the interface.
This is almost impossible to debug without kgdb or dtrace, as ifconfig does
not surface if_hwassist.

Fix this by re-calculating lagg caps (including if_hwassist) after adding a port.

I encountered this problem when I had a commented-out if_foo1=up entry in
my rc.conf that i neglected to uncomment when I was re-configuring a lagg.

Sponsored by: Netflix
Reviewed by: markj, zlei
Differential Revision: https://reviews.freebsd.org/D58062
DeltaFile
+2-0sys/net/if_lagg.c
+2-01 files

FreeBSD/src c38abd6sys/net if_epair.c, tests/sys/common vnet.subr

if_epair: support IFCAP_MEXTPG

Enable IFCAP_MEXTPG by default, which may bring performance benefits.
Allow it to be disabled, and when disabled assert that we do not receive
any mbufs with M_EXTPG set. This is useful for testing.
Default the tests to disabling MEXTPG support.

Reviewed by:    zlei
Sponsored by:   Rubicon Communications, LLC ("Netgate")
Differential Revision:  https://reviews.freebsd.org/D58054
DeltaFile
+6-1sys/net/if_epair.c
+3-1tests/sys/common/vnet.subr
+9-22 files

FreeBSD/src 8a14fcdsys/netpfil/pf pf.c, tests/sys/netpfil/pf unmapped_mbuf.sh Makefile

pf: fix a crash on sendfile()

The network layer must not pass unmapped (M_EXTPG) mbufs to if_output()
of network interfaces without IFCAP_MEXTPG. pf should convert these
mbufs by mb_unmapped_to_ext() for such interfaces but it didn't.
The problem had occurred on sendfile because sendfile system call
uses unmapped mbufs for the file data.

Reported by:    feld
Reviewed by:    kp, glebius
Differential Revision:  https://reviews.freebsd.org/D58021
DeltaFile
+145-0tests/sys/netpfil/pf/unmapped_mbuf.sh
+35-0sys/netpfil/pf/pf.c
+2-1tests/sys/netpfil/pf/Makefile
+182-13 files

FreeBSD/src 2039fe8tests/sys/common sendfile_helper.c

tests/sendfile_helper: support remote connection

In order to use the sendfile_helper program in a pf test script that
requires non-loopback interfaces, add functionality to sendfile with a
TCP socket that is connected to a remote host.
The behavior for unix sockets and TCP loopback sockets is unchanged.

Reviewed by:    glebius
Differential Revision:  https://reviews.freebsd.org/D58041
DeltaFile
+64-6tests/sys/common/sendfile_helper.c
+64-61 files

FreeBSD/src 6a5ba65. ObsoleteFiles.inc, tests/sys/common sendfile_helper.c Makefile

tests/sendfile: move the helper program to common

In order to reuse the sendfile_helper program in pf tests, move it
to tests/sys/common directory, indicatint that it is also used from
another places than sys/kern.
Also make the readlen variable static.

Reviewed by:    gelbius, kp
Differential Revision:  https://reviews.freebsd.org/D58040
DeltaFile
+177-0tests/sys/common/sendfile_helper.c
+0-177tests/sys/kern/sendfile_helper.c
+4-0tests/sys/common/Makefile
+3-0ObsoleteFiles.inc
+0-2tests/sys/kern/Makefile
+1-1tests/sys/kern/sendfile_test.sh
+185-1806 files

FreeBSD/src a2426d1lib/libsys pdfork.2

pdfork.2: grammar

Submitted by:   des
MFC after:      1 week
DeltaFile
+2-2lib/libsys/pdfork.2
+2-21 files

FreeBSD/src 4e0fc4dsys/dev/firewire fwcam.c

fwcam: set ISO speed from device link speed

iso_speed was never initialized, defaulting to S100 regardless of the
camera's actual link speed. Some cameras firmwares reject ISO_EN
when the speed field in the ISO_CHANNEL register
does not match their capabilities.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D58091
DeltaFile
+1-0sys/dev/firewire/fwcam.c
+1-01 files

FreeBSD/src 84044a7sys/dev/firewire fwcam.c fwcam.h

fwcam: write video mode registers before enabling ISO streaming

The IIDC spec (s3.1) requires the video mode to be programmed before ISO
enable. Without this, cameras that power up with invalid default
mode/rate combinations reject the ISO_EN write.

This can happen when the firmware of teh camera is outdated or
vendor never updated it.

Differential Revision:  https://reviews.freebsd.org/D58092
DeltaFile
+37-3sys/dev/firewire/fwcam.c
+7-0sys/dev/firewire/fwcam.h
+44-32 files

FreeBSD/src 94f24c0sys/dev/firewire fwcam.h fwcam.c, usr.sbin Makefile

fwcamctl: add control utility for fwcam(4) IIDC FireWire cameras

fwcamctl provides userland access to /dev/fwcam0.  Supported
subcommands: info (camera state, format, mode, rate, features),
snap (capture a frame as PPM), mode (set format/mode/rate), and
feat (get/set camera feature registers).

snap converts YUV422, YUV411, YUV444, RGB8, and Mono8 pixel
formats to RGB24 PPM with no external dependencies.  A configurable
frame skip (default 5) allows auto-exposure and auto-white-balance
to settle before capture.

(from adrian - yes, I've successfully captured images from an
Apple isight camera on firewire with this tool and in-tree support.)

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D57914
DeltaFile
+450-0usr.sbin/fwcamctl/fwcamctl.c
+156-0usr.sbin/fwcamctl/fwcamctl.8
+64-0sys/dev/firewire/fwcam.h
+0-21sys/dev/firewire/fwcam.c
+9-0usr.sbin/fwcamctl/Makefile
+1-0usr.sbin/Makefile
+680-216 files

FreeBSD/src 4b3d035sys/dev/firewire fwohci.c fwohcivar.h

fwohci: fix LPS delay, PHY_INT storm, and SID timeout recovery

Fixed the post-LPS delay from 500us to the IEEE 1394a-2000 s6.1 mandated
10ms ceiling. Handled PHY_INT by clearing W1C status bits in register 5
(masked ISBR to avoid spurious bus resets). Added a SID timeout callout
that recovers the state machine when a remote device fails to complete
self-ID. Fixed FW_PHY_SPD operator precedence and gated noisy messages
behind bootverbose/firewire_debug.

Reviewed by:    adrian
Differential Revision:  https://reviews.freebsd.org/D58033
DeltaFile
+51-8sys/dev/firewire/fwohci.c
+3-0sys/dev/firewire/fwohcivar.h
+54-82 files