On Thu, Oct 22, 2020 at 5:11 PM Linus Torvalds torvalds@linux-foundation.org wrote:
In particular, I wonder if it's that KASAN causes some reload pattern, and the whole
register __typeof__(*(ptr)) __val_pu asm("%"_ASM_AX);
.. asm volatile(.. "r" (__val_pu) ..)
thing causes problems.
That pattern isn't new (see the same pattern and the comment above get_user).
But our previous use of that pattern had it as an output of the asm, and the new use is as an input. That obviously shouldn't matter, but if it's some odd compiler code generation interaction, all bets are off..
Linus