mirror of
https://github.com/torvalds/linux.git
synced 2026-03-08 06:24:43 +01:00
The __stackleak_poison() inline assembly comes with a "count" operand where
the "d" constraint is used. "count" is used with the exrl instruction and
"d" means that the compiler may allocate any register from 0 to 15.
If the compiler would allocate register 0 then the exrl instruction would
not or the value of "count" into the executed instruction - resulting in a
stackframe which is only partially poisoned.
Use the correct "a" constraint, which excludes register 0 from register
allocation.
Fixes:
|
||
|---|---|---|
| .. | ||
| asm | ||
| uapi/asm | ||