Provided by: manpages-dev_6.9.1-1_all bug

NAME

       PR_GET_SPECULATION_CTRL - get the state of a speculation misfeature for the calling thread

LIBRARY

       Standard C library (libc, -lc)

SYNOPSIS

       #include <linux/prctl.h>  /* Definition of PR_* constants */
       #include <sys/prctl.h>

       int prctl(PR_GET_SPECULATION_CTRL, long misfeature, 0L, 0L, 0L);

DESCRIPTION

       Return the state of the speculation misfeature specified in misfeature.

       Currently, misfeature must be one of:

       PR_SPEC_STORE_BYPASS
              Get the state of the speculative store bypass misfeature.

       PR_SPEC_INDIRECT_BRANCH (since Linux 4.20)
              Get the state of the indirect branch speculation misfeature.

       The return value uses bits 0-4 with the following meaning:

       PR_SPEC_PRCTL
              Mitigation can be controlled per thread by PR_SET_SPECULATION_CTRL(2const).

       PR_SPEC_ENABLE
              The speculation feature is enabled, mitigation is disabled.

       PR_SPEC_DISABLE
              The speculation feature is disabled, mitigation is enabled.

       PR_SPEC_FORCE_DISABLE
              Same as PR_SPEC_DISABLE but cannot be undone.

       PR_SPEC_DISABLE_NOEXEC (since Linux 5.1)
              Same as PR_SPEC_DISABLE, but the state will be cleared on execve(2).

       If all bits are 0, then the CPU is not affected by the speculation misfeature.

       If  PR_SPEC_PRCTL  is set, then per-thread control of the mitigation is available.  If not
       set, PR_SET_SPECULATION_CTRL(2const) for the speculation misfeature will fail.

RETURN VALUE

       On success, PR_GET_SPECULATION_CTRL returns the nonnegative  value  described  above.   On
       error, -1 is returned, and errno is set to indicate the error.

ERRORS

       ENODEV The kernel or CPU does not support the requested speculation misfeature.

STANDARDS

       Linux.

HISTORY

       Linux 4.17.

SEE ALSO

       prctl(2), PR_SET_SPECULATION_CTRL(2const)