|
NAME | LIBRARY | SYNOPSIS | DESCRIPTION | RETURN VALUE | ERRORS | STANDARDS | HISTORY | SEE ALSO | COLOPHON |
|
|
|
PR_SET_SPECULATION_CTRL(2const) PR_SET_SPECULATION_CTRL(2const)
PR_SET_SPECULATION_CTRL - set the state of a speculation
misfeature for the calling thread
Standard C library (libc, -lc)
#include <linux/prctl.h> /* Definition of PR_* constants */
#include <sys/prctl.h>
int prctl(PR_SET_SPECULATION_CTRL, long misfeature, long val, 0L, 0L);
Sets the state of the speculation misfeature specified in
misfeature. The speculation-misfeature settings are per-thread
attributes.
Currently, misfeature must be one of:
PR_SPEC_STORE_BYPASS
Set the state of the speculative store bypass misfeature.
PR_SPEC_INDIRECT_BRANCH (since Linux 4.20)
Set the state of the indirect branch speculation
misfeature.
The val argument is used to hand in the control value, which is
one of the following:
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). Currently only supported for
PR_SPEC_STORE_BYPASS.
The speculation feature can also be controlled by the
spec_store_bypass_disable boot parameter. This parameter may
enforce a read-only policy which will result in the prctl() call
failing with the error ENXIO. For further details, see the kernel
source file Documentation/admin-guide/kernel-parameters.txt.
On success, 0 is returned. On error, -1 is returned, and errno is
set to indicate the error.
ENODEV The kernel or CPU does not support the requested
speculation misfeature.
ENXIO The control of the selected speculation misfeature is not
possible. See PR_GET_SPECULATION_CTRL for the bit fields
to determine which option is available.
EPERM The speculation was disabled with PR_SPEC_FORCE_DISABLE and
caller tried to enable it again.
ERANGE misfeature is not a valid value.
Linux.
Linux 4.17.
prctl(2), PR_GET_SPECULATION_CTRL(2const)
This page is part of the man-pages (Linux kernel and C library
user-space interface documentation) project. Information about
the project can be found at
⟨https://www.kernel.org/doc/man-pages/⟩. If you have a bug report
for this manual page, see
⟨https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/tree/CONTRIBUTING⟩.
This page was obtained from the tarball man-pages-6.15.tar.gz
fetched from
⟨https://mirrors.edge.kernel.org/pub/linux/docs/man-pages/⟩ on
2025-08-11. 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
Linux man-pages 6.15 2025-05-17PR_SET_SPECULATION_CTRL(2const)
Pages that refer to this page: prctl(2), PR_GET_SPECULATION_CTRL(2const)