RFC arm64/kernel: get rid of GCC large model code
Get series with b4
b4 am [email protected]Versions newest first
- v3 RFC Latest3 patches 0 repliesNew
Patches in v3 No applies recorded yet
| # | Subject and files | Size | Replies | Applied |
|---|---|---|---|---|
| 2/3 | arm64/kernel: don't ban ADRP to work around Cortex-A53 erratum #843419 | +0 | 1 reply | |
| 2/3 | arm64/kernel: don't ban ADRP to work around Cortex-A53 erratum #843419 | +0 | 1 reply | |
| 2/3 | arm64/kernel: don't ban ADRP to work around Cortex-A53 erratum #843419 | +0 | 0 replies | |
| 3/3 | arm64/kernel: enable A53 erratum #8434319 handling at runtime | +0 | 1 reply | |
| 3/3 | arm64/kernel: enable A53 erratum #8434319 handling at runtime | +0 | 1 reply | |
| 3/3 | arm64/kernel: enable A53 erratum #8434319 handling at runtime | +0 | 0 replies |
Reviews trailers per patch
No Reviewed-by, Acked-by or Tested-by trailers for v3 yet.
Cover letter [RFC PATCH v3 0/3] arm64/kernel: get rid of GCC large model code
Quoted 11 lines · Ard Biesheuvel
I am resending this as an RFC, because I'd like to understand whether anyone else shares my concern, or whether I am being overly paranoid.
v2 blurb:
GCC's large model uses literal pools to emit cross object symbol references rather than movz/movk sequences, resulting in data items mixed in the with executable code in modules' .text segments, reducing cache utilization, but also potentially resulting in the creation of code gadgets that are exploitable under speculative execution.
Quoted 7 lines
We are using GCC's large model for two separate reasons, both of which can be worked around rather easily:
- KASLR uses it to move modules and the kernel very far apart, which is not really needed,
- the Cortex-A53 erratum code uses it to avoid ADRP instruction altogether, which can be replaced by selective patching of only the ADRP instructions that are affected by the erratum
I think this is a sensible thing to do, cheers.
Will