# enosys

## NAME



           enosys - utility to make syscalls fail with ENOSYS
    


## SYNOPSIS



           **enosys**[**--syscall** |**-s** _syscall_] command
    


## DESCRIPTION



           **enosys** is a simple command to execute a child process for which
           certain syscalls fail with errno ENOSYS.
    
           It can be used to test the behavior of applications in the face of
           missing syscalls as would happen when running on old kernels.
    


## OPTIONS



           **-s** , **--syscall**
               Syscall to block with **ENOSYS**. Can be specified multiple times.
               An alternative error number or name can be specified with a
               colon.
    
           **-i** , **--ioctl**
               Ioctl to block with **ENOTTY**. Can be specified multiple times.
               An alternative error number or name can be specified with a
               colon.
    
           **-l** , **--list**
               List syscalls known to **enosys**.
    
           **-m** , **--list-ioctl**
               List ioctls known to **enosys**.
    
           **-d** , **--dump**[**=**_file_]
               Dump seccomp bytecode filter to standard output.
    
               The dump can for example be used by **setpriv --seccomp-filter**.
    
           **-h** , **--help**
               Display help text and exit.
    
           **-V** , **--version**
               Display version and exit.
    


## 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 ...
    


## EXIT STATUS



           **enosys** exits with the status code of the executed process. The
           following values have special meanings:
    
           **1**
               internal error
    
           **2**
               system does not provide the necessary functionality
    


## AVAILABILITY



           The **enosys** command is part of the util-linux package which can be
           downloaded from Linux Kernel Archive
           <https://www.kernel.org/pub/linux/utils/util-linux/>. This page is
           part of the _util-linux_ (a random collection of Linux utilities)
           project. Information about the project can be found at 
           ⟨https://www.kernel.org/pub/linux/utils/util-linux/⟩. If you have a
           bug report for this manual page, send it to
           util-linux@vger.kernel.org. This page was obtained from the
           project's upstream Git repository
           ⟨git://git.kernel.org/pub/scm/utils/util-linux/util-linux.git⟩ on
           2025-08-11. (At that time, the date of the most recent commit that
           was found in the repository was 2025-08-05.) If you discover any
           rendering problems in this HTML version of the page, or you
           believe there is a better or more up-to-date source for the page,
           or you have corrections or improvements to the information in this
           COLOPHON (which is _not_ part of the original manual page), send a
           mail to man-pages@man7.org
    
    util-linux 2.42-start-521-ec46  2025-08-09                      _ENOSYS_(1)
    


* * *