[DISCUSSION] kstack offset randomization: bugs and performance
Kees Cook
kees at kernel.org
Mon Nov 24 09:11:23 PST 2025
On November 24, 2025 6:36:25 AM PST, Will Deacon <will at kernel.org> wrote:
>On Mon, Nov 17, 2025 at 11:31:22AM +0000, Ryan Roberts wrote:
>> On 17/11/2025 11:30, Ryan Roberts wrote:
>> > Could this give us a middle ground between strong-crng and
>> > weak-timestamp-counter? Perhaps the main issue is that we need to store the
>> > secret key for a long period?
>> >
>> >
>> > Anyway, I plan to work up a series with the bugfixes and performance
>> > improvements. I'll add the siphash approach as an experimental addition and get
>> > some more detailed numbers for all the options. But wanted to raise it all here
>> > first to get any early feedback.
>
>FWIW, I share Mark's concerns about using a counter for this. Given that
>the feature currently appears to be both slow _and_ broken I'd vote for
>either removing it or switching over to per-thread offsets as a first
>step.
That it has potential weaknesses doesn't mean it should be entirely removed.
> We already have a per-task stack canary with
>CONFIG_STACKPROTECTOR_PER_TASK so I don't understand the reluctance to
>do something similar here.
That's not a reasonable comparison: the stack canary cannot change arbitrarily for a task or it would immediately crash on a function return. :)
>Speeding up the crypto feels like something that could happen separately.
Sure. But let's see what Ryan's patches look like. The suggested changes sound good to me.
-Kees
--
Kees Cook
More information about the linux-arm-kernel
mailing list