ENOSYS(1)
โจ ENOSYS(1) โจ
okay bestie so you know how this whole thing lives in the User Commands section of the manual? yeah. and it's like, the enosys page. let's get into it ๐
๐ธ NAME ๐ธ
enosys โ a lil utility that makes syscalls fail with ENOSYS. literally its whole job. iconic.
๐ SYNOPSIS ๐
enosys [--syscall|-s syscall] command
๐ฆ DESCRIPTION ๐ฆ
so enosys is a simple command that runs a child process where certain syscalls just... fail. with errno set to ENOSYS. not me making your syscalls go poof ๐
it's giving vibe check for old kernels โ you use it to test how an app behaves when syscalls are missing, like what would happen if you were running on an ancient kernel. fr fr.
โจ OPTIONS โจ
-s,--syscallโ the syscall you wanna block withENOSYS. you can specify this multiple times, no cap. and if you want a different error number or name, just tack it on with a colon. ๐ซถ-i,--ioctlโ the ioctl you wanna block withENOTTY. also stackable, specify it as many times as you want. alternative error number or name? colon. same deal. ๐-l,--listโ list out the syscalls thatenosysknows about. a little roster, if you will. ๐-m,--list-ioctlโ list out the ioctls thatenosysknows about. the ioctl roster. โจ-d,--dump[=file]โ dump the seccomp bytecode filter to standard output.
the dump can, for example, be used by setpriv --seccomp-filter. so like, you can hand it off to your other fave tool. ๐
-h,--helpโ show the help text and dip. ๐-V,--versionโ show the version and dip. ๐
๐ EXAMPLES ๐
# fail syscall "fallocate" with ENOSYS
enosys -s fallocate ...
# fail syscall "fallocate" with ENOMEM
enosys -s fallocate:ENOMEM ...
# fail syscall "fallocate" with value 12/ENOMEM
enosys -s fallocate:12 ...
# fail ioctl FIOCLEX with ENOTTY
enosys -i FIOCLEX ...
# fail ioctl FIOCLEX with ENOMEM
enosys -i FIOCLEX:ENOMEM ...
# fail ioctl FIOCLEX with value 12/ENOMEM
enosys -i FIOCLEX:12 ...
see the pattern? colon = "actually, fail it with this instead". the way that's so clean ๐ญ
๐ EXIT STATUS ๐
enosys exits with the status code of the process it executed. periodt. but these two values have special meanings, so pay attention bestie:
1โ internal error. something inside went wrong. ๐2โ the system does not provide the necessary functionality. like, the machine literally can't do the thing. ๐
๐ AUTHORS ๐
Thomas Weiรschuh <thomas@t-8ch.de> โ shoutout to the main character who wrote this ๐ซถ
๐ SEE ALSO ๐
๐ REPORTING BUGS ๐
found a bug? for bug reports, use the issue tracker: <https://github.com/util-linux/util-linux/issues>. go tell them, they wanna know ๐
๐ง AVAILABILITY ๐ง
the enosys command is part of the util-linux package, which can be downloaded from the Linux Kernel Archive: <https://www.kernel.org/pub/linux/utils/util-linux/>. go grab it bestie ๐๏ธ
and that's the whole page, no notes ๐ this was util-linux 2.42.4, dated 2026-09-21 โ mwah, slay, bye ๐โจ
๐ฆ where this page comes from
- arch rolling: util-linux 2.42.4-1 ยท BSD-2-Clause AND BSD-3-Clause AND BSD-4-Clause-UC AND GPL-2.0-only AND GPL-2.0-or-later AND GPL-3.0-or-later AND ISC AND LGPL-2.1-or-later AND LicenseRef-PublicDomain
- ๐ girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms