forked from torvalds/linux
-
Notifications
You must be signed in to change notification settings - Fork 5
Closed
Labels
[Compiler-done] ClangAn issue in Clang itself has been finishedAn issue in Clang itself has been finished[Compiler-done] GCCAn issue in GCC itself has been finishedAn issue in GCC itself has been finished[Compiler] ClangAn issue in Clang itself needs to be addressedAn issue in Clang itself needs to be addressed[Defense] information exposureProvide a defense for an information exposureProvide a defense for an information exposure[Linux] v5.15Released in Linux kernel v5.15Released in Linux kernel v5.15enhancementNew feature or requestNew feature or request
Description
As a defense against stale register contents being used in ROP attacks or as a side-channel or speculation path, the compiler could zero all used caller-used general registers at function exit, with virtually no performance impact (i.e. XORing general registers is highly pipelined).
-fzero-call-used-regs=...
implementation:
- GCC: since v11, earlier development thread
- Clang: bug
- x86: since v15+
- arm64: since 6.1+
- Kernel: since v5.15
Metadata
Metadata
Assignees
Labels
[Compiler-done] ClangAn issue in Clang itself has been finishedAn issue in Clang itself has been finished[Compiler-done] GCCAn issue in GCC itself has been finishedAn issue in GCC itself has been finished[Compiler] ClangAn issue in Clang itself needs to be addressedAn issue in Clang itself needs to be addressed[Defense] information exposureProvide a defense for an information exposureProvide a defense for an information exposure[Linux] v5.15Released in Linux kernel v5.15Released in Linux kernel v5.15enhancementNew feature or requestNew feature or request