| #
beadbca6
|
| 02-Mar-2024 |
Warner Losh <imp@FreeBSD.org> |
read(2): Add write cross reference
Add a write cross reference in the SEE ALSO section.
Sponsored by: Netflix
|
| #
0d161f7b
|
| 02-Mar-2024 |
Christopher Davidson <christopher.davidson@gmail.com> |
read.2: Use .Fn markup instead of .Xr for read/write calls
Udpate both write / read references from .Xr to .Fn to eliminate self-reference cross reference.
Reviewed by: imp Pull Request: https://gi
read.2: Use .Fn markup instead of .Xr for read/write calls
Udpate both write / read references from .Xr to .Fn to eliminate self-reference cross reference.
Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1128
show more ...
|
| #
3e951584
|
| 10-Feb-2024 |
Konstantin Belousov <kib@FreeBSD.org> |
read.2: Describe debug.iosize_max_clamp
same as it is done for write.2.
PR: 276937 Reported by: bugs.freebsd.org@masklinn.net Sponsored by: The FreeBSD Foundation MFC after: 1 week
|
| #
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/
|
| #
44b0b943
|
| 08-Oct-2022 |
Benedict Reuschling <bcr@FreeBSD.org> |
Revert "Add extra EINVAL information about wrong block size to read(2)/write(2)"
This reverts commit 1c2be25f6080ee63baeae55e45761e1310d1b756.
kib@ pointed out that it is perfectly fine to write at
Revert "Add extra EINVAL information about wrong block size to read(2)/write(2)"
This reverts commit 1c2be25f6080ee63baeae55e45761e1310d1b756.
kib@ pointed out that it is perfectly fine to write at arbitrary regular file offsets. For example, in a 4K block size character device, geom doesn't support writing / reading 515 byte blocks. The description is perhaps not applicable to all EINVALs returned.
show more ...
|
| #
1c2be25f
|
| 07-Oct-2022 |
Benedict Reuschling <bcr@FreeBSD.org> |
Add extra EINVAL information about wrong block size to read(2)/write(2)
The read system call will return EINVAL if the current file offset is not a multiple of the block size. This also applies to w
Add extra EINVAL information about wrong block size to read(2)/write(2)
The read system call will return EINVAL if the current file offset is not a multiple of the block size. This also applies to write(2). Add an entry for EINVAL about this error to both man pages.
PR: 91149 Event: Aberdeen Hackathon 2022 Differential Revision: https://reviews.freebsd.org/D24617
show more ...
|
| #
63619b6d
|
| 04-Jun-2020 |
Kyle Evans <kevans@FreeBSD.org> |
vfs: add restrictions to read(2) of a directory [2/2]
This commit adds the priv(9) that waters down the sysctl to make it only allow read(2) of a dirfd by the system root. Jailed root is not allowed
vfs: add restrictions to read(2) of a directory [2/2]
This commit adds the priv(9) that waters down the sysctl to make it only allow read(2) of a dirfd by the system root. Jailed root is not allowed, but jail policy and superuser policy will abstain from allowing/denying it so that a MAC module can fully control the policy.
Such a MAC module has been written, and can be found at: https://people.freebsd.org/~kevans/mac_read_dir-0.1.0.tar.gz
It is expected that the MAC module won't be needed by many, as most only need to do such diagnostics that require this behavior as system root anyways. Interested parties are welcome to grab the MAC module above and create a port or locally integrate it, and with enough support it could see introduction to base. As noted in mac_read_dir.c, it is released under the BSD 2 clause license and allows the restrictions to be lifted for only jailed root or for all unprivileged users.
PR: 246412 Reviewed by: mckusick, kib, emaste, jilles, cy, phk, imp (all previous) Reviewed by: rgrimes (latest version) Differential Revision: https://reviews.freebsd.org/D24596
show more ...
|
| #
dcef4f65
|
| 04-Jun-2020 |
Kyle Evans <kevans@FreeBSD.org> |
vfs: add restrictions to read(2) of a directory [1/2]
Historically, we've allowed read() of a directory and some filesystems will accommodate (e.g. ufs/ffs, msdosfs). From the history department sta
vfs: add restrictions to read(2) of a directory [1/2]
Historically, we've allowed read() of a directory and some filesystems will accommodate (e.g. ufs/ffs, msdosfs). From the history department staffed by Warner: <<EOF
pdp-7 unix seemed to allow reading directories, but they were weird, special things there so I'm unsure (my pdp-7 assembler sucks).
1st Edition's sources are lost, mostly. The kernel allows it. The reconstructed sources from 2nd or 3rd edition read it though.
V6 to V7 changed the filesystem format, and should have been a warning, but reading directories weren't materially changed.
4.1b BSD introduced readdir because of UFS. UFS broke all directory reading programs in 1983. ls, du, find, etc all had to be rewritten. readdir() and friends were introduced here.
SysVr3 picked up readdir() in 1987 for the AT&T fork of Unix. SysVr4 updated all the directory reading programs in 1988 because different filesystem types were introduced.
In the 90s, these interfaces became completely ubiquitous as PDP-11s running V7 faded from view and all the folks that initially started on V7 upgraded to SysV. Linux never supported this (though I've not done the software archeology to check) because it has always had a pathological diversity of filesystems. EOF
Disallowing read(2) on a directory has the side-effect of masking application bugs from relying on other implementation's behavior (e.g. Linux) of rejecting these with EISDIR across the board, but allowing it has been a vector for at least one stack disclosure bug in the past[0].
By POSIX, this is implementation-defined whether read() handles directories or not. Popular implementations have chosen to reject them, and this seems sensible: the data you're reading from a directory is not structured in some unified way across filesystem implementations like with readdir(2), so it is impossible for applications to portably rely on this.
With this patch, we will reject most read(2) of a dirfd with EISDIR. Users that know what they're doing can conscientiously set bsd.security.allow_read_dir=1 to allow read(2) of directories, as it has proven useful for debugging or recovery. A future commit will further limit the sysctl to allow only the system root to read(2) directories, to make it at least relatively safe to leave on for longer periods of time.
While we're adding logic pertaining to directory vnodes to vn_io_fault, an additional assertion has also been added to ensure that we're not reaching vn_io_fault with any write request on a directory vnode. Such request would be a logical error in the kernel, and must be debugged rather than allowing it to potentially silently error out.
Commented out shell aliases have been placed in root's chsrc/shrc to promote awareness that grep may become noisy after this change, depending on your usage.
A tentative MFC plan has been put together to try and make it as trivial as possible to identify issues and collect reports; note that this will be strongly re-evaluated. Tentatively, I will MFC this knob with the default as it is in HEAD to improve our odds of actually getting reports. The future priv(9) to further restrict the sysctl WILL NOT BE MERGED BACK, so the knob will be a faithful reversion on stable/12. We will go into the merge acknowledging that the sysctl default may be flipped back to restore historical behavior at *any* point if it's warranted.
[0] https://www.freebsd.org/security/advisories/FreeBSD-SA-19:10.ufs.asc
PR: 246412 Reviewed by: mckusick, kib, emaste, jilles, cy, phk, imp (all previous) Reviewed by: rgrimes (latest version) MFC after: 1 month (note the MFC plan mentioned above) Relnotes: absolutely, but will amend previous RELNOTES entry Differential Revision: https://reviews.freebsd.org/D24596
show more ...
|
| #
e42b0964
|
| 30-Mar-2020 |
John Baldwin <jhb@FreeBSD.org> |
Document EINTEGRITY errors for many system calls.
EINTEGRITY was previously documented as a UFS-specific error for mount(2). This documents EINTEGRITY as a filesystem-independent error that may be
Document EINTEGRITY errors for many system calls.
EINTEGRITY was previously documented as a UFS-specific error for mount(2). This documents EINTEGRITY as a filesystem-independent error that may be reported by the backing store of a filesystem.
While here, document EIO as a filesystem-independent error for both mount(2) and posix_fadvise(2). EIO was previously only documented for UFS for mount(2).
Reviewed by: mckusick Suggested by: mckusick MFC after: 2 weeks Sponsored by: Chelsio Communications Differential Revision: https://reviews.freebsd.org/D24168
show more ...
|
| #
8c951814
|
| 06-Jul-2019 |
Konstantin Belousov <kib@FreeBSD.org> |
Document atomicity for read(2) and write(2).
Take part of the text from POSIX 2018 edition and describe the atomicity requirements for read and write syscalls. See p1003.1-2018, Vol.2, 2.9.7 Thread
Document atomicity for read(2) and write(2).
Take part of the text from POSIX 2018 edition and describe the atomicity requirements for read and write syscalls. See p1003.1-2018, Vol.2, 2.9.7 Threads interaction with Regular File Operations.
Reviewed by: asomers Sponsored by: The FreeBSD Foundation MFC after: 3 days Differential revision: https://reviews.freebsd.org/D20867
show more ...
|
| #
aeb71118
|
| 01-Dec-2017 |
Warner Losh <imp@FreeBSD.org> |
Mark all the system calls that were in 1st Edition Unix as such in the HISTORY section. Note: Any system calls that were added prior to v7, but after v1 weren't changed.
Obtained from: http://www.tu
Mark all the system calls that were in 1st Edition Unix as such in the HISTORY section. Note: Any system calls that were added prior to v7, but after v1 weren't changed.
Obtained from: http://www.tuhs.org/cgi-bin/utree.pl?file=V1/man/man2
show more ...
|
| #
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 ...
|
| #
d0ec8fd0
|
| 15-Dec-2015 |
Kevin Lo <kevlo@FreeBSD.org> |
Remove sys/types.h due to STANDARDS and unistd.h also includes sys/types.h.
|
| #
c36029e6
|
| 12-Sep-2013 |
Bryan Drewery <bdrewery@FreeBSD.org> |
Consistently reference file descriptors as "fd". 55 other manpages used "fd", while these used "d" and "filedes".
MFC after: 1 week Approved by: gjb Approved by: re (delphij)
|
| #
74af13c6
|
| 29-Apr-2012 |
Eitan Adler <eadler@FreeBSD.org> |
pread(2) might fail with EBUSY, so document it
PR: docs/167201 Submitted by: Kurt Jaeger <fbsd-ports@opsec.eu> Approved by: cperciva MFC after: 3 days
|
| #
e0c980d9
|
| 22-Jan-2012 |
Pawel Jakub Dawidek <pjd@FreeBSD.org> |
The sys/uio.h header is needed only for readv(2), preadv(2), writev(2) and pwritev(2). Document it more precisely.
Reviewed by: jilles MFC after: 3 days
|
| #
c879ae35
|
| 09-Jan-2007 |
Warner Losh <imp@FreeBSD.org> |
Per Regents of the University of Calfornia letter, remove advertising clause.
# If I've done so improperly on a file, please let me know.
|
| #
2aeccd6e
|
| 21-Oct-2006 |
Ruslan Ermilov <ru@FreeBSD.org> |
Avoid a potential hard sentence break.
|
| #
1be947e9
|
| 11-Oct-2006 |
Maxim Konovalov <maxim@FreeBSD.org> |
o Follow the trend and try to explain what the slow device is. Not ideal but better than nothing.
Obtained from: OpenBSD, NetBSD
|
| #
110e1704
|
| 17-Nov-2005 |
Ruslan Ermilov <ru@FreeBSD.org> |
-mdoc sweep.
|
| #
87a236ca
|
| 29-Jul-2005 |
Diomidis Spinellis <dds@FreeBSD.org> |
Document the ECONNRESET errno value.
|
| #
bcd9e0dd
|
| 07-Jul-2005 |
John Baldwin <jhb@FreeBSD.org> |
- Add two new system calls: preadv() and pwritev() which are like readv() and writev() except that they take an additional offset argument and do not change the current file position. In SAT spe
- Add two new system calls: preadv() and pwritev() which are like readv() and writev() except that they take an additional offset argument and do not change the current file position. In SAT speak: preadv:readv::pread:read and pwritev:writev::pwrite:write. - Try to reduce code duplication some by merging most of the old kern_foov() and dofilefoo() functions into new dofilefoo() functions that are called by kern_foov() and kern_pfoov(). The non-v functions now all generate a simple uio on the stack from the passed in arguments and then call kern_foov(). For example, read() now just builds a uio and calls kern_readv() and pwrite() just builds a uio and calls kern_pwritev().
PR: kern/80362 Submitted by: Marc Olzheim marcolz at stack dot nl (1) Approved by: re (scottl) MFC after: 1 week
show more ...
|
| #
75fa96cc
|
| 10-Feb-2005 |
Colin Percival <cperciva@FreeBSD.org> |
read(), pread(), write(), and pwrite() return EINVAL if they are asked for more than INT_MAX bytes.
|