diff options
| author | Dag-Erling Smørgrav <des@FreeBSD.org> | 2026-10-13 15:55:27 +0000 |
|---|---|---|
| committer | Dag-Erling Smørgrav <des@FreeBSD.org> | 2026-10-13 15:55:40 +0000 |
| commit | 3ca4b8dd162afbecb8de70dc44f525d708726b07 (patch) | |
| tree | 8c0de272add1e5451f1a0c102c7f122d6be1b8dc /sys/dev/ixgbe/if_sriov.c | |
| parent | 989d72fd3d35daa6a056afdd0c6b0aba4c5d8ccf (diff) | |
All communication between auditdistd senders and receivers and
internally between auditdistd and its worker children passes through the
same pair of send / receive functions. The receive function uses
recv(2) with the MSG_WAITALL flag, which in theory means we should never
get a short read. However, when handing off a socket to a worker child,
we also pass a variable-length string identifying the type of socket
we're passing, and reading this string relies on a short read. This
used to work because the arrival of the descriptor would interrupt the
recv(2) call, but this bug was fixed when the AF_UNIX code was rewritten
a while ago and auditdistd has been broken ever since.
Fixing the length of the protocol name to four characters including the
terminating null solves the short-read bug by never requiring a short
read (nothing else in auditdistd requires one).
PR: 296107
MFC after: 1 week
Reviewed by: js, kevans
Differential Revision: https://reviews.freebsd.org/D59565
Diffstat (limited to 'sys/dev/ixgbe/if_sriov.c')
0 files changed, 0 insertions, 0 deletions
