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