| #
8cc93cd6
|
| 08-Jul-2025 |
Konstantin Belousov <kib@FreeBSD.org> |
fcntl.2: fix description of F_GETFD return value
Now we have three flags provided.
Sponsored by: The FreeBSD Foundation
|
| #
efadb5c2
|
| 17-May-2025 |
Ricardo Branco <rbranco@suse.de> |
Add manpages for O_CLOFORK flag and others
Reviewed by: kib MFC after: 1 month Pull Request: https://github.com/freebsd/freebsd-src/pull/1698
|
| #
f35525ff
|
| 24-Jun-2025 |
Mark Johnston <markj@FreeBSD.org> |
file: Add a fd flag with O_RESOLVE_BENEATH semantics
The O_RESOLVE_BENEATH openat(2) flag restricts name lookups such that they remain under the directory referenced by the dirfd. This commit intro
file: Add a fd flag with O_RESOLVE_BENEATH semantics
The O_RESOLVE_BENEATH openat(2) flag restricts name lookups such that they remain under the directory referenced by the dirfd. This commit introduces an implicit version of the flag, FD_RESOLVE_BENEATH, stored in the file descriptor entry. When the flag is set, any lookup relative to that fd automatically has O_RESOLVE_BENEATH semantics. Furthermore, the flag is sticky, meaning that it cannot be cleared, and it is copied by dup() and openat().
File descriptors with FD_RESOLVE_BENEATH set may not be passed to fchdir(2) or fchroot(2). Various fd lookup routines are modified to return fd flags to the caller.
This flag will be used to address a case where jails with different root directories and the ability to pass SCM_RIGHTS messages across the jail boundary can transfer directory fds in such as way as to allow a filesystem escape.
PR: 262180 Reviewed by: kib MFC after: 3 weeks Differential Revision: https://reviews.freebsd.org/D50371
show more ...
|
| #
8269e767
|
| 14-Nov-2023 |
Brooks Davis <brooks@FreeBSD.org> |
libsys: relocate implementations and manpages
Remove core system call implementations and documentation to lib/libsys and lib/libsys/<arch> from lib/libc/sys and lib/libc/<arch>/<sys>. Update paths
libsys: relocate implementations and manpages
Remove core system call implementations and documentation to lib/libsys and lib/libsys/<arch> from lib/libc/sys and lib/libc/<arch>/<sys>. Update paths to allow libc to find them in their new home.
Reviewed by: kib, emaste, imp Pull Request: https://github.com/freebsd/freebsd-src/pull/908
show more ...
|
| #
dc36d6f9
|
| 23-Nov-2023 |
Warner Losh <imp@FreeBSD.org> |
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl s
lib: Remove ancient SCCS tags.
Remove ancient SCCS tags from the tree, automated scripting, with two minor fixup to keep things compiling. All the common forms in the tree were removed with a perl script.
Sponsored by: Netflix
show more ...
|
| #
b2c76c41
|
| 16-Aug-2023 |
Warner Losh <imp@FreeBSD.org> |
Remove $FreeBSD$: one-line nroff pattern
Remove /^\.\\"\s*\$FreeBSD\$$\n/
|
| #
97722455
|
| 06-Dec-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
fcntl(2): be more precise about third arg type
Also use the term operation consistently, over the command.
Reviewed by: emaste, jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Dif
fcntl(2): be more precise about third arg type
Also use the term operation consistently, over the command.
Reviewed by: emaste, jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33277
show more ...
|
| #
794d3e8e
|
| 05-Dec-2021 |
Konstantin Belousov <kib@FreeBSD.org> |
fcntl(2): add F_KINFO operation
that returns struct kinfo_file for the given file descriptor. Among other data, it also returns kf_path, if file op was able to restore file path.
Reviewed by: jhb,
fcntl(2): add F_KINFO operation
that returns struct kinfo_file for the given file descriptor. Among other data, it also returns kf_path, if file op was able to restore file path.
Reviewed by: jhb, markj Sponsored by: The FreeBSD Foundation MFC after: 1 week Differential revision: https://reviews.freebsd.org/D33277
show more ...
|
| #
a5e28403
|
| 07-Jan-2021 |
Thomas Munro <tmunro@FreeBSD.org> |
open(2): Add O_DSYNC flag.
POSIX O_DSYNC means that writes include an implicit fdatasync(2), just as O_SYNC implies fsync(2).
VOP_WRITE() functions that understand the new IO_DATASYNC flag can act
open(2): Add O_DSYNC flag.
POSIX O_DSYNC means that writes include an implicit fdatasync(2), just as O_SYNC implies fsync(2).
VOP_WRITE() functions that understand the new IO_DATASYNC flag can act accordingly, but we'll still pass down IO_SYNC so that file systems that don't understand it will continue to provide the stronger O_SYNC behaviour.
Flag also applies to fcntl(2).
Reviewed by: kib, delphij Differential Revision: https://reviews.freebsd.org/D25090
show more ...
|
| #
d3cc5354
|
| 17-Jan-2020 |
Mateusz Guzik <mjg@FreeBSD.org> |
vfs: provide F_ISUNIONSTACK as a kludge for libc
Prior to introduction of this op libc's readdir would call fstatfs(2), in effect unnecessarily copying kilobytes of data just to check fs name and a
vfs: provide F_ISUNIONSTACK as a kludge for libc
Prior to introduction of this op libc's readdir would call fstatfs(2), in effect unnecessarily copying kilobytes of data just to check fs name and a mount flag.
Reviewed by: kib (previous version) Differential Revision: https://reviews.freebsd.org/D23162
show more ...
|
| #
f17221ee
|
| 25-Sep-2019 |
Kyle Evans <kevans@FreeBSD.org> |
Update fcntl(2) after r352695
|
| #
a14a34ef
|
| 15-Nov-2018 |
Alan Somers <asomers@FreeBSD.org> |
fcntl.2: document an additional error condition
MFC after: 2 weeks
|
| #
19212520
|
| 03-May-2018 |
Kyle Evans <kevans@FreeBSD.org> |
fcntl(2): Vaguely document that ENOTTY is possible, with light examples
Reported by: vs (2006, FreeBSD 6.1-BETA3) Reported by: me (2018, angry debugging session) MFC after: 1 month
|
| #
fbbd9655
|
| 28-Feb-2017 |
Warner Losh <imp@FreeBSD.org> |
Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is
Renumber copyright clause 4
Renumber cluase 4 to 3, per what everybody else did when BSD granted them permission to remove clause 3. My insistance on keeping the same numbering for legal reasons is too pedantic, so give up on that point.
Submitted by: Jan Schaumann <jschauma@stevens.edu> Pull Request: https://github.com/freebsd/freebsd/pull/96
show more ...
|
| #
2740b654
|
| 07-Jul-2016 |
Jilles Tjoelker <jilles@FreeBSD.org> |
fcntl(2): Document interrupt/restart for file locks.
Since r302216, thread suspension causes advisory file locks to restart (instead of continuing to wait) and for a long time SA_RESTART has affecte
fcntl(2): Document interrupt/restart for file locks.
Since r302216, thread suspension causes advisory file locks to restart (instead of continuing to wait) and for a long time SA_RESTART has affected advisory file locks. These are both not compliant to POSIX.1.
To clarify that restarting means something, add a paragraph about fair queuing. Note that the network lock manager does not implement fair queuing.
Reviewed by: kib (previous version) Approved by: re (gjb)
show more ...
|
| #
74938cbb
|
| 13-Feb-2013 |
Ian Lepore <ian@FreeBSD.org> |
Make the F_READAHEAD option to fcntl(2) work as documented: a value of zero now disables read-ahead. It used to effectively restore the system default readahead hueristic if it had been changed; a
Make the F_READAHEAD option to fcntl(2) work as documented: a value of zero now disables read-ahead. It used to effectively restore the system default readahead hueristic if it had been changed; a negative value now restores the default.
Reviewed by: kib
show more ...
|
| #
252462b3
|
| 01-Nov-2012 |
Jilles Tjoelker <jilles@FreeBSD.org> |
fcntl(2): Fix typos in name of constant "F_DUP2FD_CLOEXEC".
MFC after: 1 week
|
| #
d5a53d99
|
| 27-Jul-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Document F_DUP2FD_CLOEXEC.
MFC after: 1 week
|
| #
39c5964c
|
| 19-Jul-2012 |
Konstantin Belousov <kib@FreeBSD.org> |
Document F_DUPFD_CLOEXEC. Also provide some wording changes for F_DUPFD to make it less confusing, at least for me.
MFC after: 1 week
|
| #
847d0034
|
| 11-Apr-2012 |
Eitan Adler <eadler@FreeBSD.org> |
Return EBADF instead of EMFILE from dup2 when the second argument is outside the range of valid file descriptors
PR: kern/164970 Submitted by: Peter Jeremy <peterjeremy@acm.org> Reviewed by: jilles
Return EBADF instead of EMFILE from dup2 when the second argument is outside the range of valid file descriptors
PR: kern/164970 Submitted by: Peter Jeremy <peterjeremy@acm.org> Reviewed by: jilles Approved by: cperciva MFC after: 1 week
show more ...
|
| #
2cb08f8d
|
| 28-Jan-2012 |
Tijl Coosemans <tijl@FreeBSD.org> |
Move descriptions of file caching commands out of the file locking section.
Approved by: kib (mentor)
|
| #
c84cab56
|
| 06-May-2010 |
Jilles Tjoelker <jilles@FreeBSD.org> |
Update xrefs from 4.3BSD to modern signal functions in various man pages.
sigvec(2) references have been updated to sigaction(2), sigsetmask(2) and sigblock(2) to sigprocmask(2), sigpause(2) to sigs
Update xrefs from 4.3BSD to modern signal functions in various man pages.
sigvec(2) references have been updated to sigaction(2), sigsetmask(2) and sigblock(2) to sigprocmask(2), sigpause(2) to sigsuspend(2).
Some legacy man pages still refer to them, that is OK.
show more ...
|
| #
82aebf69
|
| 28-Sep-2009 |
Xin LI <delphij@FreeBSD.org> |
Add two new fcntls to enable/disable read-ahead:
- F_READAHEAD: specify the amount for sequential access. The amount is specified in bytes and is rounded up to nearest block size. - F_RDAHEAD:
Add two new fcntls to enable/disable read-ahead:
- F_READAHEAD: specify the amount for sequential access. The amount is specified in bytes and is rounded up to nearest block size. - F_RDAHEAD: Darwin compatible version that use 128KB as the sequential access size.
A third argument of zero disables the read-ahead behavior.
Please note that the read-ahead amount is also constrainted by sysctl variable, vfs.read_max, which may need to be raised in order to better utilize this feature.
Thanks Igor Sysoev for proposing the feature and submitting the original version, and kib@ for his valuable comments.
Submitted by: Igor Sysoev <is rambler-co ru> Reviewed by: kib@ MFC after: 1 month
show more ...
|
| #
dfdcada3
|
| 26-Mar-2008 |
Doug Rabson <dfr@FreeBSD.org> |
Add the new kernel-mode NFS Lock Manager. To use it instead of the user-mode lock manager, build a kernel with the NFSLOCKD option and add '-k' to 'rpc_lockd_flags' in rc.conf.
Highlights include:
Add the new kernel-mode NFS Lock Manager. To use it instead of the user-mode lock manager, build a kernel with the NFSLOCKD option and add '-k' to 'rpc_lockd_flags' in rc.conf.
Highlights include:
* Thread-safe kernel RPC client - many threads can use the same RPC client handle safely with replies being de-multiplexed at the socket upcall (typically driven directly by the NIC interrupt) and handed off to whichever thread matches the reply. For UDP sockets, many RPC clients can share the same socket. This allows the use of a single privileged UDP port number to talk to an arbitrary number of remote hosts.
* Single-threaded kernel RPC server. Adding support for multi-threaded server would be relatively straightforward and would follow approximately the Solaris KPI. A single thread should be sufficient for the NLM since it should rarely block in normal operation.
* Kernel mode NLM server supporting cancel requests and granted callbacks. I've tested the NLM server reasonably extensively - it passes both my own tests and the NFS Connectathon locking tests running on Solaris, Mac OS X and Ubuntu Linux.
* Userland NLM client supported. While the NLM server doesn't have support for the local NFS client's locking needs, it does have to field async replies and granted callbacks from remote NLMs that the local client has contacted. We relay these replies to the userland rpc.lockd over a local domain RPC socket.
* Robust deadlock detection for the local lock manager. In particular it will detect deadlocks caused by a lock request that covers more than one blocking request. As required by the NLM protocol, all deadlock detection happens synchronously - a user is guaranteed that if a lock request isn't rejected immediately, the lock will eventually be granted. The old system allowed for a 'deferred deadlock' condition where a blocked lock request could wake up and find that some other deadlock-causing lock owner had beaten them to the lock.
* Since both local and remote locks are managed by the same kernel locking code, local and remote processes can safely use file locks for mutual exclusion. Local processes have no fairness advantage compared to remote processes when contending to lock a region that has just been unlocked - the local lock manager enforces a strict first-come first-served model for both local and remote lockers.
Sponsored by: Isilon Systems PR: 95247 107555 115524 116679 MFC after: 2 weeks
show more ...
|
| #
e3ad7f66
|
| 08-Mar-2008 |
Antoine Brodin <antoine@FreeBSD.org> |
Introduce a new F_DUP2FD command to fcntl(2), for compatibility with Solaris and AIX. fcntl(fd, F_DUP2FD, arg) and dup2(fd, arg) are functionnaly equivalent. Document it. Add some regression tests (i
Introduce a new F_DUP2FD command to fcntl(2), for compatibility with Solaris and AIX. fcntl(fd, F_DUP2FD, arg) and dup2(fd, arg) are functionnaly equivalent. Document it. Add some regression tests (identical to the dup2(2) regression tests).
PR: 120233 Submitted by: Jukka Ukkonen Approved by: rwaston (mentor) MFC after: 1 month
show more ...
|