PR_GET_SPECULATION_CTRL(2const) PR_GET_SPECULATION_CTRL(2const) NAME PR_GET_SPECULATION_CTRL - get the state of a speculation misfeature for the calling thread LIBRARY Standard C library (libc, -lc) SYNOPSIS #include /* Definition of PR_* constants */ #include 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) Linux man-pages 6.19 2026-02-08 PR_GET_SPECULATION_CTRL(2const)