mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Per Linus' comments requesting the replacement of "INDIR_BR_LP" in the
indirect branch tracking prctl()s with something more readable, and
suggesting the use of the speculation control prctl()s as an exemplar,
reimplement the prctl()s and related constants that control per-task
forward-edge control flow integrity.
This primarily involves two changes. First, the prctls are
restructured to resemble the style of the speculative execution
workaround control prctls PR_{GET,SET}_SPECULATION_CTRL, to make them
easier to extend in the future. Second, the "indir_br_lp" abbrevation
is expanded to "branch_landing_pads" to be less telegraphic. The
kselftest and documentation is adjusted accordingly.
Link: https://lore.kernel.org/linux-riscv/CAHk-=whhSLGZAx3N5jJpb4GLFDqH_QvS07D+6BnkPWmCEzTAgw@mail.gmail.com/
Cc: Deepak Gupta <debug@rivosinc.com>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Cc: Mark Brown <broonie@kernel.org>
Signed-off-by: Paul Walmsley <pjw@kernel.org>
KSelfTest RISC-V
================
- These tests are riscv specific and so not built or run but just skipped
completely when env-variable ARCH is found to be different than 'riscv'.
- Holding true the above, RISC-V KSFT tests can be run within the
KSelfTest framework using standard Linux top-level-makefile targets:
$ make TARGETS=riscv kselftest-clean
$ make TARGETS=riscv kselftest
or
$ make -C tools/testing/selftests TARGETS=riscv \
INSTALL_PATH=<your-installation-path> install
or, alternatively, only specific riscv/ subtargets can be picked:
$ make -C tools/testing/selftests TARGETS=riscv RISCV_SUBTARGETS="mm vector" \
INSTALL_PATH=<your-installation-path> install
Further details on building and running KSFT can be found in:
Documentation/dev-tools/kselftest.rst