seccomp_syscall_priority(3) — Linux manual page

NAME | SYNOPSIS | DESCRIPTION | RETURN VALUE | EXAMPLES | NOTES | AUTHOR | SEE ALSO | COLOPHON

seccomp_...priority(3)  libseccomp Documentation  seccomp_...priority(3)

NAME         top

       seccomp_syscall_priority - Prioritize syscalls in the seccomp
       filter

SYNOPSIS         top

       #include <seccomp.h>

       typedef void * scmp_filter_ctx;

       int SCMP_SYS(syscall_name);

       int seccomp_syscall_priority(scmp_filter_ctx ctx,
                                    int syscall, uint8_t priority);

       Link with -lseccomp.

DESCRIPTION         top

       The seccomp_syscall_priority() function provides a priority hint
       to the seccomp filter generator in libseccomp such that higher
       priority syscalls are placed earlier in the seccomp filter code
       so that they incur less overhead at the expense of lower priority
       syscalls.  A syscall's priority can be set regardless of if any
       rules currently exist for that syscall; the library will remember
       the priority and it will be assigned to the syscall if and when a
       rule for that syscall is created.

       While it is possible to specify the syscall value directly using
       the standard __NR_syscall values, in order to ensure proper
       operation across multiple architectures it is highly recommended
       to use the SCMP_SYS() macro instead.  See the EXAMPLES section
       below.

       The priority parameter takes an 8-bit value ranging from 0 - 255;
       a higher value represents a higher priority.

       The filter context ctx is the value returned by the call to
       seccomp_init().

RETURN VALUE         top

       The SCMP_SYS() macro returns a value suitable for use as the
       syscall value in seccomp_syscall_priority().

       The seccomp_syscall_priority() function returns zero on success
       or one of the following error codes on failure:

       -EDOM  Architecture specific failure.

       -EFAULT
              Internal libseccomp failure.

       -EINVAL
              Invalid input, either the context or architecture token is
              invalid.

       -ENOMEM
              The library was unable to allocate enough memory.

EXAMPLES         top

       #include <seccomp.h>

       int main(int argc, char *argv[])
       {
            int rc = -1;
            scmp_filter_ctx ctx;

            ctx = seccomp_init(SCMP_ACT_KILL);
            if (ctx == NULL)
                 goto out;

            /* ... */

            rc = seccomp_syscall_priority(ctx, SCMP_SYS(read), 200);
            if (rc < 0)
                 goto out;

            /* ... */

       out:
            seccomp_release(ctx);
            return -rc;
       }

NOTES         top

       While the seccomp filter can be generated independent of the
       kernel, kernel support is required to load and enforce the
       seccomp filter generated by libseccomp.

       The libseccomp project site, with more information and the source
       code repository, can be found at
       https://github.com/seccomp/libseccomp.  This tool, as well as the
       libseccomp library, is currently under development, please report
       any bugs at the project site or directly to the author.

AUTHOR         top

       Paul Moore <paul@paul-moore.com>

SEE ALSO         top

       seccomp_rule_add(3), seccomp_rule_add_exact(3)

COLOPHON         top

       This page is part of the libseccomp (high-level API to the Linux
       Kernel's seccomp filter) project.  Information about the project
       can be found at ⟨https://github.com/seccomp/libseccomp⟩.  If you
       have a bug report for this manual page, see
       ⟨https://groups.google.com/d/forum/libseccomp⟩.  This page was
       obtained from the project's upstream Git repository
       ⟨https://github.com/seccomp/libseccomp⟩ on 2024-06-14.  (At that
       time, the date of the most recent commit that was found in the
       repository was 2024-04-18.)  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

paul@paul-moore.com            30 May 2020        seccomp_...priority(3)

Pages that refer to this page: seccomp_attr_set(3)seccomp_rule_add(3)