HomeFreeBSD

unix: Add support for atomically setting the socket mode

Description

unix: Add support for atomically setting the socket mode

With this patch, it is possible to call fchmod() on a unix socket prior
to binding it to the filesystem namespace, so that the mode is set
atomically. Without this, one has to call chmod() after bind(), leaving
a window where threads can connect to the socket with the default mode.
After bind(), fchmod() reverts to failing with EINVAL.

This interface is copied from Linux.

The behaviour of fstat() is unmodified, i.e., it continues to return the
mode as set by soo_stat().

PR: 282393
Reviewed by: kib
MFC after: 1 month
Differential Revision: https://reviews.freebsd.org/D47361

(cherry picked from commit bfd03046d18776ea70785ca1ef36dfc60822de3b)

Details

Provenance
markjAuthored on Nov 3 2024, 2:39 PM
Reviewer
kib
Differential Revision
D47361: unix: Add support for atomically setting the socket mode
Parents
rGfd3139245639: kevent: Use designated array indices to initialize the sysfilt_ops table
Branches
Unknown
Tags
Unknown