<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="/rss.xsl.xml"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
    <title>Changes in read.2</title>
    <description></description>
    <language>en</language>
    <copyright>Copyright 2015</copyright>
    <generator>Java</generator><item>
        <title>16b1438c - read.2: Describe debug.iosize_max_clamp</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#16b1438c</link>
        <description>read.2: Describe debug.iosize_max_clampPR:	276937(cherry picked from commit 3e9515846f8cbff0ecccaab65d9f70890d04429e)

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sat, 10 Feb 2024 09:40:07 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>b2c76c41 - Remove $FreeBSD$: one-line nroff pattern</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#b2c76c41</link>
        <description>Remove $FreeBSD$: one-line nroff patternRemove /^\.\\&quot;\s*\$FreeBSD\$$\n/

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Wed, 16 Aug 2023 17:55:15 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>44b0b943 - Revert &quot;Add extra EINVAL information about wrong block size to read(2)/write(2)&quot;</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#44b0b943</link>
        <description>Revert &quot;Add extra EINVAL information about wrong block size to read(2)/write(2)&quot;This reverts commit 1c2be25f6080ee63baeae55e45761e1310d1b756.kib@ pointed out that it is perfectly fine to write at arbitrary regularfile offsets. For example, in a 4K block size character device, geomdoesn&apos;t support writing / reading 515 byte blocks. The description isperhaps not applicable to all EINVALs returned.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sat, 08 Oct 2022 10:23:51 +0000</pubDate>
        <dc:creator>Benedict Reuschling &lt;bcr@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1c2be25f - Add extra EINVAL information about wrong block size to read(2)/write(2)</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#1c2be25f</link>
        <description>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 isnot a multiple of the block size. This also applies to write(2). Add anentry for EINVAL about this error to both man pages.PR:			91149Event:			Aberdeen Hackathon 2022Differential Revision:	https://reviews.freebsd.org/D24617

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Fri, 07 Oct 2022 11:32:37 +0000</pubDate>
        <dc:creator>Benedict Reuschling &lt;bcr@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>63619b6d - vfs: add restrictions to read(2) of a directory [2/2]</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#63619b6d</link>
        <description>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 onlyallow read(2) of a dirfd by the system root. Jailed root is not allowed, butjail policy and superuser policy will abstain from allowing/denying it sothat 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.gzIt is expected that the MAC module won&apos;t be needed by many, as most onlyneed to do such diagnostics that require this behavior as system rootanyways. Interested parties are welcome to grab the MAC module above andcreate a port or locally integrate it, and with enough support it could seeintroduction to base. As noted in mac_read_dir.c, it is released under theBSD 2 clause license and allows the restrictions to be lifted for onlyjailed root or for all unprivileged users.PR:		246412Reviewed by:	mckusick, kib, emaste, jilles, cy, phk, imp (all previous)Reviewed by:	rgrimes (latest version)Differential Revision:	https://reviews.freebsd.org/D24596

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Thu, 04 Jun 2020 18:17:25 +0000</pubDate>
        <dc:creator>Kyle Evans &lt;kevans@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>dcef4f65 - vfs: add restrictions to read(2) of a directory [1/2]</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#dcef4f65</link>
        <description>vfs: add restrictions to read(2) of a directory [1/2]Historically, we&apos;ve allowed read() of a directory and some filesystems willaccommodate (e.g. ufs/ffs, msdosfs). From the history department staffed byWarner: &lt;&lt;EOFpdp-7 unix seemed to allow reading directories, but they were weird, specialthings there so I&apos;m unsure (my pdp-7 assembler sucks).1st Edition&apos;s sources are lost, mostly. The kernel allows it. Thereconstructed sources from 2nd or 3rd edition read it though.V6 to V7 changed the filesystem format, and should have been a warning, butreading directories weren&apos;t materially changed.4.1b BSD introduced readdir because of UFS. UFS broke all directory readingprograms in 1983. ls, du, find, etc all had to be rewritten. readdir() andfriends were introduced here.SysVr3 picked up readdir() in 1987 for the AT&amp;T fork of Unix. SysVr4 updatedall the directory reading programs in 1988 because different filesystemtypes were introduced.In the 90s, these interfaces became completely ubiquitous as PDP-11s runningV7 faded from view and all the folks that initially started on V7 upgradedto SysV. Linux never supported this (though I&apos;ve not done the softwarearcheology to check) because it has always had a pathological diversity offilesystems.EOFDisallowing read(2) on a directory has the side-effect of maskingapplication bugs from relying on other implementation&apos;s behavior(e.g. Linux) of rejecting these with EISDIR across the board, but allowingit has been a vector for at least one stack disclosure bug in the past[0].By POSIX, this is implementation-defined whether read() handles directoriesor not. Popular implementations have chosen to reject them, and this seemssensible: the data you&apos;re reading from a directory is not structured in someunified way across filesystem implementations like with readdir(2), so it isimpossible for applications to portably rely on this.With this patch, we will reject most read(2) of a dirfd with EISDIR. Usersthat know what they&apos;re doing can conscientiously setbsd.security.allow_read_dir=1 to allow read(2) of directories, as it hasproven useful for debugging or recovery. A future commit will further limitthe sysctl to allow only the system root to read(2) directories, to make itat least relatively safe to leave on for longer periods of time.While we&apos;re adding logic pertaining to directory vnodes to vn_io_fault, anadditional assertion has also been added to ensure that we&apos;re not reachingvn_io_fault with any write request on a directory vnode. Such request wouldbe a logical error in the kernel, and must be debugged rather than allowingit to potentially silently error out.Commented out shell aliases have been placed in root&apos;s chsrc/shrc to promoteawareness that grep may become noisy after this change, depending on yourusage.A tentative MFC plan has been put together to try and make it as trivial aspossible to identify issues and collect reports; note that this will bestrongly re-evaluated. Tentatively, I will MFC this knob with the default asit is in HEAD to improve our odds of actually getting reports. The futurepriv(9) to further restrict the sysctl WILL NOT BE MERGED BACK, so the knobwill be a faithful reversion on stable/12. We will go into the mergeacknowledging that the sysctl default may be flipped back to restorehistorical behavior at *any* point if it&apos;s warranted.[0] https://www.freebsd.org/security/advisories/FreeBSD-SA-19:10.ufs.ascPR:		246412Reviewed 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 entryDifferential Revision:	https://reviews.freebsd.org/D24596

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Thu, 04 Jun 2020 18:09:55 +0000</pubDate>
        <dc:creator>Kyle Evans &lt;kevans@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e42b0964 - Document EINTEGRITY errors for many system calls.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#e42b0964</link>
        <description>Document EINTEGRITY errors for many system calls.EINTEGRITY was previously documented as a UFS-specific error formount(2).  This documents EINTEGRITY as a filesystem-independent errorthat may be reported by the backing store of a filesystem.While here, document EIO as a filesystem-independent error for bothmount(2) and posix_fadvise(2).  EIO was previously only documented forUFS for mount(2).Reviewed by:	mckusickSuggested by:	mckusickMFC after:	2 weeksSponsored by:	Chelsio CommunicationsDifferential Revision:	https://reviews.freebsd.org/D24168

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Mon, 30 Mar 2020 21:44:00 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>8c951814 - Document atomicity for read(2) and write(2).</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#8c951814</link>
        <description>Document atomicity for read(2) and write(2).Take part of the text from POSIX 2018 edition and describe theatomicity requirements for read and write syscalls.  See p1003.1-2018,Vol.2, 2.9.7 Threads interaction with Regular File Operations.Reviewed by:	asomersSponsored by:	The FreeBSD FoundationMFC after:	3 daysDifferential revision:	https://reviews.freebsd.org/D20867

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sat, 06 Jul 2019 20:31:37 +0000</pubDate>
        <dc:creator>Konstantin Belousov &lt;kib@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>aeb71118 - Mark all the system calls that were in 1st Edition Unix as such in the</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#aeb71118</link>
        <description>Mark all the system calls that were in 1st Edition Unix as such in theHISTORY section. Note: Any system calls that were added prior to v7,but after v1 weren&apos;t changed.Obtained from: http://www.tuhs.org/cgi-bin/utree.pl?file=V1/man/man2

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Fri, 01 Dec 2017 22:26:36 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>fbbd9655 - Renumber copyright clause 4</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#fbbd9655</link>
        <description>Renumber copyright clause 4Renumber cluase 4 to 3, per what everybody else did when BSD grantedthem permission to remove clause 3. My insistance on keeping the samenumbering for legal reasons is too pedantic, so give up on that point.Submitted by:	Jan Schaumann &lt;jschauma@stevens.edu&gt;Pull Request:	https://github.com/freebsd/freebsd/pull/96

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Tue, 28 Feb 2017 23:42:47 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>d0ec8fd0 - Remove sys/types.h due to STANDARDS and unistd.h also includes sys/types.h.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#d0ec8fd0</link>
        <description>Remove sys/types.h due to STANDARDS and unistd.h also includes sys/types.h.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Tue, 15 Dec 2015 15:19:06 +0000</pubDate>
        <dc:creator>Kevin Lo &lt;kevlo@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>c36029e6 - Consistently reference file descriptors as &quot;fd&quot;. 55 other manpages</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#c36029e6</link>
        <description>Consistently reference file descriptors as &quot;fd&quot;. 55 other manpagesused &quot;fd&quot;, while these used &quot;d&quot; and &quot;filedes&quot;.MFC after:	1 weekApproved by:	gjbApproved by:	re (delphij)

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Thu, 12 Sep 2013 00:53:38 +0000</pubDate>
        <dc:creator>Bryan Drewery &lt;bdrewery@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>74af13c6 - pread(2) might fail with EBUSY, so document it</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#74af13c6</link>
        <description>pread(2) might fail with EBUSY, so document itPR:		docs/167201Submitted by:	Kurt Jaeger &lt;fbsd-ports@opsec.eu&gt;Approved by:	cpercivaMFC after:	3 days

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sun, 29 Apr 2012 22:23:00 +0000</pubDate>
        <dc:creator>Eitan Adler &lt;eadler@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>e0c980d9 - The sys/uio.h header is needed only for readv(2), preadv(2), writev(2) and</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#e0c980d9</link>
        <description>The sys/uio.h header is needed only for readv(2), preadv(2), writev(2) andpwritev(2). Document it more precisely.Reviewed by:	jillesMFC after:	3 days

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sun, 22 Jan 2012 11:15:48 +0000</pubDate>
        <dc:creator>Pawel Jakub Dawidek &lt;pjd@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>c879ae35 - Per Regents of the University of Calfornia letter, remove advertising</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#c879ae35</link>
        <description>Per Regents of the University of Calfornia letter, remove advertisingclause.# If I&apos;ve done so improperly on a file, please let me know.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Tue, 09 Jan 2007 00:28:16 +0000</pubDate>
        <dc:creator>Warner Losh &lt;imp@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>2aeccd6e - Avoid a potential hard sentence break.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#2aeccd6e</link>
        <description>Avoid a potential hard sentence break.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Sat, 21 Oct 2006 18:03:53 +0000</pubDate>
        <dc:creator>Ruslan Ermilov &lt;ru@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>1be947e9 - o Follow the trend and try to explain what the slow device is.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#1be947e9</link>
        <description>o Follow the trend and try to explain what the slow device is.Not ideal but better than nothing.Obtained from:	OpenBSD, NetBSD

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Wed, 11 Oct 2006 13:33:02 +0000</pubDate>
        <dc:creator>Maxim Konovalov &lt;maxim@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>110e1704 - -mdoc sweep.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#110e1704</link>
        <description>-mdoc sweep.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Thu, 17 Nov 2005 13:00:00 +0000</pubDate>
        <dc:creator>Ruslan Ermilov &lt;ru@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>87a236ca - Document the ECONNRESET errno value.</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#87a236ca</link>
        <description>Document the ECONNRESET errno value.

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Fri, 29 Jul 2005 07:42:10 +0000</pubDate>
        <dc:creator>Diomidis Spinellis &lt;dds@FreeBSD.org&gt;</dc:creator>
    </item>
<item>
        <title>bcd9e0dd - - Add two new system calls: preadv() and pwritev() which are like readv()</title>
        <link>http://172.16.0.5:8080/history/freebsd-14.2/lib/libc/sys/read.2#bcd9e0dd</link>
        <description>- 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/80362Submitted by:	Marc Olzheim marcolz at stack dot nl (1)Approved by:	re (scottl)MFC after:	1 week

            List of files:
            /freebsd-14.2/lib/libc/sys/read.2</description>
        <pubDate>Thu, 07 Jul 2005 18:17:55 +0000</pubDate>
        <dc:creator>John Baldwin &lt;jhb@FreeBSD.org&gt;</dc:creator>
    </item>
</channel>
</rss>
