Page MenuHomeFreeBSD

D18765.diff
No OneTemporary

D18765.diff

Index: head/cddl/lib/libdtrace/errno.d
===================================================================
--- head/cddl/lib/libdtrace/errno.d
+++ head/cddl/lib/libdtrace/errno.d
@@ -225,7 +225,9 @@
#pragma D binding "1.13" ENOTRECOVERABLE
inline int EOWNERDEAD = 96;
#pragma D binding "1.13" EOWNERDEAD
-inline int ELAST = 96;
+inline int EINTEGRITY = 96;
+#pragma D binding "1.13" EINTEGRITY
+inline int ELAST = 97;
#pragma D binding "1.0" ELAST
inline int ERESTART = -1;
#pragma D binding "1.0" ERESTART
@@ -340,6 +342,7 @@
errno == ECAPMODE ? "Not permitted in capability mode" :
errno == ENOTRECOVERABLE ? "State not recoverable" :
errno == EOWNERDEAD ? "Previous owner died" :
+ errno == EINTEGRITY ? "Integrity check failed" :
errno == ERESTART ? "restart syscall" :
errno == EJUSTRETURN ? "don't modify regs, just return" :
errno == ENOIOCTL ? "ioctl not handled by this layer" :
Index: head/contrib/libc++/include/__errc
===================================================================
--- head/contrib/libc++/include/__errc
+++ head/contrib/libc++/include/__errc
@@ -46,6 +46,7 @@
identifier_removed, // EIDRM
illegal_byte_sequence, // EILSEQ
inappropriate_io_control_operation, // ENOTTY
+ integrity_check_failed, // EINTEGRITY
interrupted, // EINTR
invalid_argument, // EINVAL
invalid_seek, // ESPIPE
@@ -143,6 +144,7 @@
identifier_removed = EIDRM,
illegal_byte_sequence = EILSEQ,
inappropriate_io_control_operation = ENOTTY,
+ integrity_check_failed = EINTEGRITY,
interrupted = EINTR,
invalid_argument = EINVAL,
invalid_seek = ESPIPE,
Index: head/contrib/libc++/include/errno.h
===================================================================
--- head/contrib/libc++/include/errno.h
+++ head/contrib/libc++/include/errno.h
@@ -33,49 +33,72 @@
#ifdef __cplusplus
-#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
+#if !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE) || !defined(EINTEGRITY)
#ifdef ELAST
static const int __elast1 = ELAST+1;
static const int __elast2 = ELAST+2;
+static const int __elast2 = ELAST+3;
#else
static const int __elast1 = 104;
static const int __elast2 = 105;
+static const int __elast2 = 106;
#endif
-#ifdef ENOTRECOVERABLE
+#if !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY)
+#define ENOTRECOVERABLE __elast1
+#define EOWNERDEAD __elast2
+#define EINTEGRITY __elast3
+#ifdef ELAST
+#undef ELAST
+#define ELAST EINTEGRITY
+#elif !defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && defined(EINTEGRITY)
+#define ENOTRECOVERABLE __elast1
+#define EOWNERDEAD __elast2
+#ifdef ELAST
+#undef ELAST
+#define ELAST EOWNERDEAD
+
+#elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && !defined(EINTEGRITY)
#define EOWNERDEAD __elast1
+#define EINTEGRITY __elast2
+#ifdef ELAST
+#undef ELAST
+#define ELAST EINTEGRITY
+#elif !defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && defined(EINTEGRITY)
+#define EOWNERDEAD __elast1
#ifdef ELAST
#undef ELAST
#define ELAST EOWNERDEAD
-#endif
-#elif defined(EOWNERDEAD)
+#elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && !defined(EINTEGRITY)
+#define ENOTRECOVERABLE __elast1
+#define EINTEGRITY __elast2
+#ifdef ELAST
+#undef ELAST
+#define ELAST EINTEGRITY
+#elif defined(EOWNERDEAD) && !defined(ENOTRECOVERABLE) && defined(EINTEGRITY)
#define ENOTRECOVERABLE __elast1
#ifdef ELAST
#undef ELAST
#define ELAST ENOTRECOVERABLE
-#endif
-#else // defined(EOWNERDEAD)
-
-#define EOWNERDEAD __elast1
-#define ENOTRECOVERABLE __elast2
+#elif defined(EOWNERDEAD) && defined(ENOTRECOVERABLE) && !defined(EINTEGRITY)
+#define EINTEGRITY __elast1
#ifdef ELAST
#undef ELAST
-#define ELAST ENOTRECOVERABLE
-#endif
+#define ELAST EINTEGRITY
-#endif // defined(EOWNERDEAD)
+#endif // !defined(OWNERDEAD) && !defined(NOTRECOVERABLE) && !defined(INTEGRITY)
-#endif // !defined(EOWNERDEAD) || !defined(ENOTRECOVERABLE)
+#endif // !defined(OWNERDEAD) || !defined(NOTRECOVERABLE) || !defined(INTEGRITY)
// supply errno values likely to be missing, particularly on Windows
@@ -391,6 +414,10 @@
#ifndef EMLINK
#define EMLINK 9979
+#endif
+
+#ifndef EINTEGRITY
+#define EINTEGRITY 9980
#endif
#endif // __cplusplus
Index: head/contrib/libxo/tests/gettext/po/pig_latin/strerror.po
===================================================================
--- head/contrib/libxo/tests/gettext/po/pig_latin/strerror.po
+++ head/contrib/libxo/tests/gettext/po/pig_latin/strerror.po
@@ -457,3 +457,7 @@
# 96 - EOWNERDEAD
msgid "Previous owner died"
msgstr "Eviouspray ownerway iedday"
+
+# 97 - EINTEGRITY
+msgid "Integrity check failed"
+msgstr "integrityyay eckchay ailedfay"
Index: head/contrib/libxo/tests/gettext/strerror.pot
===================================================================
--- head/contrib/libxo/tests/gettext/strerror.pot
+++ head/contrib/libxo/tests/gettext/strerror.pot
@@ -466,3 +466,7 @@
# 96 - EOWNERDEAD
msgid "Previous owner died"
msgstr ""
+
+# 97 - EINTEGRITY
+msgid "Integrity check failed"
+msgstr ""
Index: head/contrib/openbsm/libbsm/bsm_errno.c
===================================================================
--- head/contrib/openbsm/libbsm/bsm_errno.c
+++ head/contrib/openbsm/libbsm/bsm_errno.c
@@ -239,6 +239,13 @@
ERRNO_NO_LOCAL_MAPPING,
#endif
ES("Process died with the lock") },
+ { BSM_ERRNO_EINTEGRITY,
+#ifdef EINTEGRITY
+ EINTEGRITY,
+#else
+ ERRNO_NO_LOCAL_MAPPING,
+#endif
+ ES("Integrity check failed") },
{ BSM_ERRNO_ENOTRECOVERABLE,
#ifdef ENOTRECOVERABLE
ENOTRECOVERABLE,
Index: head/contrib/openbsm/sys/bsm/audit_errno.h
===================================================================
--- head/contrib/openbsm/sys/bsm/audit_errno.h
+++ head/contrib/openbsm/sys/bsm/audit_errno.h
@@ -204,6 +204,7 @@
#define BSM_ERRNO_EKEYREJECTED 222 /* Linux-specific. */
#define BSM_ERRNO_ENOTCAPABLE 223 /* FreeBSD-specific. */
#define BSM_ERRNO_ECAPMODE 224 /* FreeBSD-specific. */
+#define BSM_ERRNO_EINTEGRITY 225 /* FreeBSD-specific. */
/*
* In the event that OpenBSM doesn't have a file representation of a local
Index: head/lib/libc/gen/errlst.c
===================================================================
--- head/lib/libc/gen/errlst.c
+++ head/lib/libc/gen/errlst.c
@@ -158,12 +158,12 @@
"Not permitted in capability mode", /* 94 - ECAPMODE */
"State not recoverable", /* 95 - ENOTRECOVERABLE */
"Previous owner died", /* 96 - EOWNERDEAD */
+ "Integrity check failed", /* 97 - EINTEGRITY */
/*
* Reserved space in sys_errlist, take the next slot for a next error code.
* Reserve prevents the array size from changing for some time.
*/
- __uprefix, /* 97 */
__uprefix, /* 98 */
__uprefix, /* 99 */
__uprefix, /* 100 */
Index: head/lib/libc/nls/C.msg
===================================================================
--- head/lib/libc/nls/C.msg
+++ head/lib/libc/nls/C.msg
@@ -197,6 +197,8 @@
95 State not recoverable
$ EOWNERDEAD
96 Previous owner died
+$ EINTEGRITY
+97 Integrity check failed
$
$ strsignal() support catalog
$
Index: head/lib/libc/sys/intro.2
===================================================================
--- head/lib/libc/sys/intro.2
+++ head/lib/libc/sys/intro.2
@@ -472,6 +472,20 @@
The state protected by a robust mutex is not recoverable.
.It Er 96 EOWNERDEAD Em "Previous owner died" .
The owner of a robust mutex terminated while holding the mutex lock.
+.It Er 97 EINTEGRITY Em "Integrity check failed" .
+An integrity check such as a check-hash or a cross-correlation failed.
+The integrity error falls between
+.Er EINVAL
+that identifies errors in parameters to a system call and
+.Er EIO
+that identifies errors with the underlying storage media.
+It 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
+.Xr mount 8
+command to return a different exit value to automate the running of
+.Xr fsck 8
+during a system boot.
.El
.Sh DEFINITIONS
.Bl -tag -width Ds
Index: head/stand/liblua/lerrno.c
===================================================================
--- head/stand/liblua/lerrno.c
+++ head/stand/liblua/lerrno.c
@@ -146,6 +146,7 @@
ENTRY(ECAPMODE),
ENTRY(ENOTRECOVERABLE),
ENTRY(EOWNERDEAD),
+ ENTRY(EINTEGRITY),
ENTRY(ELAST),
ENTRY(ERESTART),
ENTRY(EJUSTRETURN),
Index: head/sys/bsm/audit_errno.h
===================================================================
--- head/sys/bsm/audit_errno.h
+++ head/sys/bsm/audit_errno.h
@@ -208,6 +208,7 @@
#define BSM_ERRNO_EKEYREJECTED 222 /* Linux-specific. */
#define BSM_ERRNO_ENOTCAPABLE 223 /* FreeBSD-specific. */
#define BSM_ERRNO_ECAPMODE 224 /* FreeBSD-specific. */
+#define BSM_ERRNO_EINTEGRITY 225 /* FreeBSD-specific. */
/*
* In the event that OpenBSM doesn't have a file representation of a local
Index: head/sys/compat/cloudabi/cloudabi_errno.c
===================================================================
--- head/sys/compat/cloudabi/cloudabi_errno.c
+++ head/sys/compat/cloudabi/cloudabi_errno.c
@@ -63,6 +63,7 @@
[EIDRM] = CLOUDABI_EIDRM,
[EILSEQ] = CLOUDABI_EILSEQ,
[EINPROGRESS] = CLOUDABI_EINPROGRESS,
+ [EINTEGRITY] = CLOUDABI_EINVAL,
[EINTR] = CLOUDABI_EINTR,
[EINVAL] = CLOUDABI_EINVAL,
[EIO] = CLOUDABI_EIO,
Index: head/sys/compat/linux/linux_errno.inc
===================================================================
--- head/sys/compat/linux/linux_errno.inc
+++ head/sys/compat/linux/linux_errno.inc
@@ -142,7 +142,8 @@
-1, /* ECAPMODE -> EPERM */
-131, /* ENOTRECOVERABLE */
-130, /* EOWNERDEAD */
+ -22, /* EINTEGRITY -> EINVAL */
};
-_Static_assert(ELAST == 96,
+_Static_assert(ELAST == 97,
"missing errno entries in linux_errtbl");
Index: head/sys/security/audit/bsm_errno.c
===================================================================
--- head/sys/security/audit/bsm_errno.c
+++ head/sys/security/audit/bsm_errno.c
@@ -243,6 +243,13 @@
ERRNO_NO_LOCAL_MAPPING,
#endif
ES("Process died with the lock") },
+ { BSM_ERRNO_EINTEGRITY,
+#ifdef EINTEGRITY
+ EINTEGRITY,
+#else
+ ERRNO_NO_LOCAL_MAPPING,
+#endif
+ ES("Integrity check failed") },
{ BSM_ERRNO_ENOTRECOVERABLE,
#ifdef ENOTRECOVERABLE
ENOTRECOVERABLE,
Index: head/sys/sys/errno.h
===================================================================
--- head/sys/sys/errno.h
+++ head/sys/sys/errno.h
@@ -180,10 +180,11 @@
#define ECAPMODE 94 /* Not permitted in capability mode */
#define ENOTRECOVERABLE 95 /* State not recoverable */
#define EOWNERDEAD 96 /* Previous owner died */
+#define EINTEGRITY 97 /* Integrity check failed */
#endif /* _POSIX_SOURCE */
#ifndef _POSIX_SOURCE
-#define ELAST 96 /* Must be equal largest errno */
+#define ELAST 97 /* Must be equal largest errno */
#endif /* _POSIX_SOURCE */
#if defined(_KERNEL) || defined(_WANT_KERNEL_ERRNO)

File Metadata

Mime Type
text/plain
Expires
Wed, Oct 2, 1:34 PM (22 h, 4 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
13212623
Default Alt Text
D18765.diff (10 KB)

Event Timeline