History log of /freebsd-head/sys/sys/errno.h
Revision Date Author Comments
72a21ba0f62da5e86a1c0b462aeb3f5ff849a1b7 17-Jan-2019 mckusick <mckusick@FreeBSD.org> Create new EINTEGRITY error with message "Integrity check failed".

An integrity check such as a check-hash or a cross-correlation failed.
The integrity error falls between EINVAL that identifies errors in
parameters to a system call and EIO that identifies errors with the
underlying storage media. EINTEGRITY is typically raised by intermediate
kernel layers such as a filesystem or an in-kernel GEOM subsystem when
they detect inconsistencies. Uses include allowing the mount(8) command
to return a different exit value to automate the running of fsck(8)
during a system boot.

These changes make no use of the new error, they just add it. Later
commits will be made for the use of the new error number and it will
be added to additional manual pages as appropriate.

Reviewed by: gnn, dim, brueffer, imp
Discussed with: kib, cem, emaste, ed, jilles
Differential Revision: https://reviews.freebsd.org/D18765
ff37b2b45813d69d9fbc54a1012cf20130b974a0 02-Dec-2017 imp <imp@FreeBSD.org> We don't need both _STAND and _STANDALONE. There's more places that
use _STANDALONE, so change the former to the latter.

Sponsored by: Netflix
4736ccfd9c3411d50371d7f21f9450a47c19047e 20-Nov-2017 pfg <pfg@FreeBSD.org> sys: further adoption of SPDX licensing ID tags.

Mainly focus on files that use BSD 3-Clause license.

The Software Package Data Exchange (SPDX) group provides a specification
to make it easier for automated tools to detect and summarize well known
opensource licenses. We are gradually adopting the specification, noting
that the tags are considered only advisory and do not, in any way,
superceed or replace the license texts.

Special thanks to Wind River for providing access to "The Duke of
Highlander" tool: an older (2014) run over FreeBSD tree was useful as a
starting point.
dfc27b0755d0e1fe9bd4b6a459f30e819f24baa4 22-Oct-2017 imp <imp@FreeBSD.org> When building standalone, don't define errno. Let the definition from
stand.h override. This is similar to what we do in the kernel.

Sponsored by: Netflix
f6b29b342593e2102e1fc016aa5e097aa1ac55bc 30-Mar-2017 kib <kib@FreeBSD.org> Only activate __EXT1_VISIBLE block when using sys/errno.h in userspace.

The prerequisite for '#if __EXT1_VISIBLE' functionality is the
inclusion of sys/cdefs.h. errno.h only auto-includes the header for
non-kernel environment, and EXT1 block only useful for non-kernel as

Reported by: lwhsu
Sponsored by: The FreeBSD Foundation
MFC after: 3 weeks
4774ca6be082ef7b8f2c2cc8f97f8fbf6bd6f315 30-Mar-2017 kib <kib@FreeBSD.org> Implement the memset_s(3) function as specified by the C11 ISO/IEC
9899:2011 Appendix K

Other needed supporting types, defines and constraint_handler
infrastructure is added as specified in the C11 spec.

Submitted by: Tom Rix <trix@juniper.net>
Sponsored by: Juniper Networks
Discussed with: ed
MFC after: 3 weeks
Differential revision: https://reviews.freebsd.org/D9903
Differential revision: https://reviews.freebsd.org/D10161
7e6cabd06e6caa6a02eeb86308dc0cb3f27e10da 28-Feb-2017 imp <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 too pedantic, so give up on that point.

Submitted by: Jan Schaumann <jschauma@stevens.edu>
Pull Request: https://github.com/freebsd/freebsd/pull/96
1c4c9a5bb854f0465672fec41d10fb8810e72c09 01-Oct-2016 jhb <jhb@FreeBSD.org> Expose kernel-only errno values if _WANT_KERNEL_ERRNO is defined.

The kernel uses a few negative errno values for internal conditions
such as requesting a system call restart. Normally these errno values
are not exposed to userland. However, kdump needs access to these
values as some of then can be present in a ktrace system call return
record. Previously kdump was defining _KERNEL to gain access to ehse
values, but was then having to manually declare 'errno' (and doing it
incorrectly). Now, kdump uses _WANT_KERNEL_ERRNO instead of _KERNEL
and uses the system-provided declaration of errno.
00d578928eca75be320b36d37543a7e2a4f9fbdb 27-May-2016 grehan <grehan@FreeBSD.org> Create branch for bhyve graphics import.
faec271eeb32354a7197494b5b1b6ebf76fa9fe5 12-Mar-2016 trasz <trasz@FreeBSD.org> Fix autofs triggering problem. Assume you have an NFS server,, with share "share". This commit fixes a problem
where "mkdir /net/" would return spurious
error instead of creating the directory if the target filesystem
wasn't mounted yet; subsequent attempts would work correctly.

The failure scenario is kind of complicated to explain, but it all
boils down to calling VOP_MKDIR() for the target filesystem (NFS)
with wrong dvp - the autofs vnode instead of the filesystem root
mounted over it.

Reviewed by: kib@
MFC after: 1 month
Sponsored by: The FreeBSD Foundation
Differential Revision: https://reviews.freebsd.org/D5442
eb1a5f8de9f7ea602c373a710f531abbf81141c4 21-Feb-2014 gjb <gjb@FreeBSD.org> Move ^/user/gjb/hacking/release-embedded up one directory, and remove
^/user/gjb/hacking since this is likely to be merged to head/ soon.

Sponsored by: The FreeBSD Foundation
6b01bbf146ab195243a8e7d43bb11f8835c76af8 27-Dec-2013 gjb <gjb@FreeBSD.org> Copy head@r259933 -> user/gjb/hacking/release-embedded for initial
inclusion of (at least) arm builds with the release.

Sponsored by: The FreeBSD Foundation
bf7b6b6227253281ec4cfedd2f8c95e19532acb3 04-May-2013 pluknet <pluknet@FreeBSD.org> POSIX 1003.1-2008: add ENOTRECOVERABLE, EOWNERDEAD errnos.
b354a8c76b0f429e72e68e9afe23d289a7f316c7 04-Apr-2011 avg <avg@FreeBSD.org> errno.h: fix couple of whitespace nits

Submitted by: bde (a half of the changes)
MFC after: 1 week
0fbd4a42792bb396f7a17bd8ed9eea61339f2d5b 01-Mar-2011 rwatson <rwatson@FreeBSD.org> Add ECAPMODE, "Not permitted in capability mode", a new kernel errno
constant to indicate that a system call (or perhaps an operation requested
via a system call) is not permitted for a capability mode process.

Submitted by: anderson
Sponsored by: Google, Inc.
Obtained from: Capsicum Project
MFC after: 1 week
09f9c897d33c41618ada06fbbcf1a9b3812dee53 19-Oct-2010 jamie <jamie@FreeBSD.org> A new jail(8) with a configuration file, to replace the work currently done
by /etc/rc.d/jail.
f1216d1f0ade038907195fc114b7e630623b402c 19-Mar-2010 delphij <delphij@FreeBSD.org> Create a custom branch where I will be able to do the merge.
64dfd453c6caa9e0e21d382f621b8b6a17d25ae8 14-Dec-2009 rwatson <rwatson@FreeBSD.org> Merge r197841 from head to stable/8:

Add a new errno, ENOTCAPABLE, to be returned when a process requests an
operation on a file descriptor that is not authorized by the descriptor's
capability flags.

Sponsored by: Google
466473bd42ba80f3f034125e0ef293a188554e34 07-Oct-2009 rwatson <rwatson@FreeBSD.org> Add a new errno, ENOTCAPABLE, to be returned when a process requests an
operation on a file descriptor that is not authorized by the descriptor's
capability flags.

MFC after: 1 month
Sponsored by: Google
19b6af98ec71398e77874582eb84ec5310c7156f 22-Nov-2008 dfr <dfr@FreeBSD.org> Clone Kip's Xen on stable/6 tree so that I can work on improving FreeBSD/amd64
performance in Xen's HVM mode.
cf5320822f93810742e3d4a1ac8202db8482e633 19-Oct-2008 lulf <lulf@FreeBSD.org> - Import the HEAD csup code which is the basis for the cvsmode work.
1e73b68cbcff03471dc15e790109111a0e314c89 02-Apr-2005 das <das@FreeBSD.org> Add some missing errnos from POSIX. Nothing in FreeBSD generates
these at the moment, but applications that test for them will now
have a better chance of compiling.

I have intentionally omitted errnos that are only good for STREAMS,
since apps that use STREAMS won't compile anyway. The exception is
EPROTO, which was apparently intended for STREAMS, but worth having
anyway because Linux (mis)uses it for other things.
f0bf889d0d2ea7d83fd3b67266a98c89cdf14853 07-Jan-2005 imp <imp@FreeBSD.org> /* -> /*- for license, minor formatting changes
9e1925f5605eb84767aaedbc35ab643a8f9f90a5 07-Apr-2004 imp <imp@FreeBSD.org> Remove advertising clause from University of California Regent's license,
per letter dated July 22, 1999.

Approved by: core
05568a1e183e75bdc8edaa948f276ddd47ebc8cb 07-Oct-2002 phk <phk@FreeBSD.org> Copyin and copyout are only possible from a process-native thread,
and therefore we need a way for ioctl handlers to run in that thread
in GEOM. Rather than invent a complicated registration system to
recognize which ioctl handler to use for a given ioctl, we still
schedule all ioctls down the tree as bio transactions but add a
special return code that means "call me directly" and have the
geom_dev layer do that.

Use this for all ioctls that make it as far as a diskdriver to
avoid any backwards compatibility problems.

Requested by: scottl
Sponsored by: DARPA & NAI Labs
34ae8fe5374af25df8e04d804f045ed309399984 21-Aug-2002 phk <phk@FreeBSD.org> s/EDOFUS/EDOOFUS/

Persuaded by: Google
85c11dd7d2bb4d734a766a29c8759e5166865a8a 09-Aug-2002 phk <phk@FreeBSD.org> Update ELAST.
ade75a9d08449a597f9e70f161d9e40ed722d320 09-Aug-2002 phk <phk@FreeBSD.org> Introduce a new error return code:
#define EDOFUS 88 /* Programming error */
This can be used to signal error situations which indicate that the
program logic or assumptions is deficient.
28d42899b766c395e5a6476f5bfa88b1481a08c0 16-May-2002 trhodes <trhodes@FreeBSD.org> More s/file system/filesystem/g
3b2d03b60a11ce28e58a87212bcccedd306f2c81 19-Mar-2002 alfred <alfred@FreeBSD.org> Remove __P
965906f60d1c1157191c7fd0cae316cec334bfd2 07-Mar-2002 green <green@FreeBSD.org> Add new errno ``ENOATTR''.
c25aa481d19d8d3e821b8dc5bf40f976993793e8 22-Jan-2002 keramida <keramida@FreeBSD.org> Tiny style change. Whitespace only change.
Use tab after #define ENOTSUP.

Reviewed by: mike
ffef759ee10a7a47d821b7b265fce3210eb54aab 27-Aug-2001 ache <ache@FreeBSD.org> Back out prev. change. According to bde:
_POSIX_SOURCE means POSIX.1-1990, not the current version of POSIX.
809eb5e71c63203fe0f04a20bffdb6e4bbd9b97e 27-Aug-2001 ache <ache@FreeBSD.org> EOVERFLOW is POSIXed, so move it out #ifndef _POSIX_SOURCE section
7f69d42c1e1f556dd9f1a5fd3056c1f5d8aa8702 02-May-2000 jasone <jasone@FreeBSD.org> Add ENOTSUP, which is specified as an error return value for various
POSIX/SUSv2 functions.
b42951578188c5aab5c9f8cbcde4a743f8092cdc 02-Apr-2000 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'ALSA'.
15b9bcb121e1f3735a2c98a11afdb52a03301d7e 29-Dec-1999 peter <peter@FreeBSD.org> Change #ifdef KERNEL to #ifdef _KERNEL in the public headers. "KERNEL"
is an application space macro and the applications are supposed to be free
to use it as they please (but cannot). This is consistant with the other
BSD's who made this change quite some time ago. More commits to come.
3b842d34e82312a8004a7ecd65ccdb837ef72ac1 28-Aug-1999 peter <peter@FreeBSD.org> $Id$ -> $FreeBSD$
5bbdd11011dcb25bb1777c9b2c90f6247b8d958a 24-Apr-1999 phk <phk@FreeBSD.org> typo in comment

PR: 11285
Submitted by: Chris Costello <chris@calldei.com>
Reviewed by: phk
7212f6ac0c5a843969add5d458d6b7332c9617f3 14-Dec-1998 dt <dt@FreeBSD.org> Added 3 new errno values, requred by various standards: EOVERFLOW,

Fixed ibcs2 and especially linux EIDRM and ENOMSG errno mapping.
Reviewed by: Dan Nelson <dnelson@emsphone.com>
0e07a10674d32f8462443fd28f02ca71927dca4d 30-Apr-1998 jb <jb@FreeBSD.org> Make errno finally and permanently thread-aware so that it is no longer
necessary to compile with _THREAD_SAFE defined. This means that people
will get thread-aware code whether they like it or not. This change
is required to allow a process to link against libpthread and libc
to use kernel threads (and prevent each thread from clobbering another
thread's errno just be doing a syscall).

This is bound to break some ports, but it is strictly allowed by ANSI C,
so anything that breaks as a result was already broken anyway 8-).
3106e713d8b270ee6ce3d42a76e68ceb7265d7d2 13-Apr-1998 sos <sos@FreeBSD.org> Add EIDRM errno (PR 176), ENOMSG errno (myself) for prober sysv_ipc.
0506343883d62f6649f7bbaf1a436133cef6261d 11-Jan-1998 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'jb'.
7c6e96080c4fb49bf912942804477d202a53396c 10-Jan-1998 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'JB'.
1a4a2c1dd5e2c7ba97a31d9225a7c24275650402 06-Dec-1997 bde <bde@FreeBSD.org> Added a kernel-only error code ENOICTL. This will be returned from
low level ioctl routines instead of the magic number -1 so that
callers can distinguish it from ERESTART (which happens to be -1).
-1 meant that the ioctl was not handled at the called level.
ERESTART is normal when a sleeping ioctl is interrupted. ERESTART
got converted to ENOTTY instead of restarting the ioctl. Many
(most?) ioctls can not be restarted safely, but this is apparently
supposed to be handled by drivers converting ERESTART to EINTR.
I first saw this problem for TIOCDRAIN. Justin saw if for disk

Added missing parentheses.
94b6d727947e1242356988da003ea702d41a97de 22-Feb-1997 peter <peter@FreeBSD.org> Back out part 1 of the MCFH that changed $Id$ to $FreeBSD$. We are not
ready for it yet.
808a36ef658c1810327b5d329469bcf5dad24b28 14-Jan-1997 jkh <jkh@FreeBSD.org> Make the long-awaited change from $Id$ to $FreeBSD$

This will make a number of things easier in the future, as well as (finally!)
avoiding the Id-smashing problem which has plagued developers for so long.

Boy, I'm glad we're not using sup anymore. This update would have been
insane otherwise.
1c4eb4a8b6f21d50196415b0f9d2affb5c27dd73 18-Aug-1996 peter <peter@FreeBSD.org> make the declaration of the __error() function C++ safe. Otherwise,
the linker comes up with undefined variables because of the #define errno
when using _THREAD_SAFE.
619b731f5bb5e09dcf1eaf1fbd96383ca64398fd 22-Jan-1996 julian <julian@FreeBSD.org> Reviewed by: julian and (hsu?)
Submitted by: John Birrel(L?)

changes for threadsafe operations
86f1bc4514fdcfd255f37f3218fe234bdc3664fc 05-Nov-1995 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'LINUX'.
2e14d9ebc3d3592c67bdf625af9ebe0dfc386653 14-Mar-1995 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'MATT_THOMAS'.
34cd81d75f398ee455e61969b118639dacbfd7a6 23-Sep-1994 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'MACKERRAS'.
1f5dfa1be240017a7a4d938578b9a01ce1082391 21-Aug-1994 paul <paul@FreeBSD.org> Made them all idempotent.
Reviewed by:
Submitted by:
e16baf7a5fe7ac1453381d0017ed1dcdeefbc995 07-Aug-1994 cvs2svn <cvs2svn@FreeBSD.org> This commit was manufactured by cvs2svn to create branch 'SUNRPC'.
8d205697aac53476badf354623abd4e1c7bc5aff 02-Aug-1994 dg <dg@FreeBSD.org> Added $Id$
8fb65ce818b3e3c6f165b583b910af24000768a5 24-May-1994 rgrimes <rgrimes@FreeBSD.org> BSD 4.4 Lite Kernel Sources