mirror of
https://github.com/freebsd/freebsd-src.git
synced 2026-11-07 04:36:52 -10:00
exterror: advertise error strings via kern.features.exterr_strings
Allow userland, in particular test cases for EXTERROR conversions, to detect at run time whether extended errors include the descriptive message strings, which depends on the EXTERR_STRINGS kernel option and cannot be probed in any other way. Reviewed by: kib MFC after: 1 week Assisted-by: Claude Code (Fable 5) Differential Revision: https://reviews.freebsd.org/D58321
This commit is contained in:
2 files changed
+16
-1
No files matched your search
@@ -6,7 +6,7 @@
|
||||
.\" Konstantin Belousov <[email protected]> under sponsorship
|
||||
.\" from the FreeBSD Foundation.
|
||||
.\"
|
||||
.Dd November 5, 2025
|
||||
.Dd July 21, 2026
|
||||
.Dt EXTERROR 9
|
||||
.Os
|
||||
.Sh NAME
|
||||
@@ -171,6 +171,17 @@ were modified to print the extended information if it is available
|
||||
in addition to the usual
|
||||
.Va errno
|
||||
decoding.
|
||||
.Pp
|
||||
Kernels built with the
|
||||
.Cd option EXTERR_STRINGS
|
||||
advertise the
|
||||
.Va kern.features.exterr_strings
|
||||
.Xr sysctl 8
|
||||
variable, see
|
||||
.Xr feature_present 3 ,
|
||||
indicating that the reported errors include the descriptive message strings.
|
||||
Without it, only the numeric information (error code, category,
|
||||
source line number and parameters) is available.
|
||||
.Sh ASYNCHRONOUS INPUT/OUTPUT
|
||||
Due to the nature of the
|
||||
.Fx
|
||||
|
||||
@@ -112,6 +112,10 @@ static MALLOC_DEFINE(M_IOCTLOPS, "ioctlops", "ioctl data buffer");
|
||||
static MALLOC_DEFINE(M_SELECT, "select", "select() buffer");
|
||||
MALLOC_DEFINE(M_IOV, "iov", "large iov's");
|
||||
|
||||
#ifdef EXTERR_STRINGS
|
||||
FEATURE(exterr_strings, "Extended error reporting includes message strings");
|
||||
#endif
|
||||
|
||||
static int pollout(struct thread *, struct pollfd *, struct pollfd *,
|
||||
u_int);
|
||||
static int pollscan(struct thread *, struct pollfd *, u_int);
|
||||
|
||||
Reference in new issue
Block a user