KASAN issues with idle / hotplug area

Lorenzo Pieralisi lorenzo.pieralisi at arm.com
Thu Feb 18 01:39:38 PST 2016


On Thu, Feb 18, 2016 at 11:22:24AM +0300, Andrey Ryabinin wrote:

[...]

> > I also tried using __attribute__((no_sanitize_address)) directly, in
> > case there was some header issue, but that doesn't seem to be the case.
> > 
> > I'm using the Linaro 15.08 AArch64 GCC 5.1. Is anyone else able to
> > confirm whether they see the same? Does the same happen for x86?
> > 
> 
> Confirming, this happens on every GCC I have (including x86).
> It seems that 'no_sanitize_address' in gcc removes only memory access checks
> but it doesn't remove stack redzones.
> I think this is wrong, e.g. clang removes instrumentation completely. I'll submit a bug.
> 
> But we need fix this in kernel.
> I see two options here:
>  * completely disable instrumentation for drivers/firmware/psci.c

We have to have a way to disable instrumentation for functions that
are used to call into FW and return via different code paths.

>  * get back to assembly implementation

No, we are certainly not reverting the SMCCC work because Kasan adds
instrumentation to C functions, that's not even an option.

Is it possible at all to implement a function to remove instrumentation
for a chunk of memory (ie resetting the shadow memory to a clean slate
for a range of stack addresses) ?

Thanks,
Lorenzo



More information about the linux-arm-kernel mailing list