https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81715

--- Comment #6 from Arnd Bergmann <arnd at linaro dot org> ---
(In reply to Martin Liška from comment #5)
> I can confirm that for the biggest function 'nl80211_send_wiphy', it really
> contains majority of stack variables which are 4B large. Having an adaptive
> redzone mechanism, one can effectively save half of stack. That will still
> not be enough for 1024B.

To clarify the limit: The test output was from a 64-bit build, which currently
has a 2048 byte limit in the kernel, while 32-bit targets use a 1024 byte
limit. 

My series that avoids the problem here and in other files by adding optional
'noinline' attributes has a follow-up series that lowers the 64-bit limit to
1536 bytes after addressing all the warnings, but that is not currently posted
for inclusion. If we can get gcc-8 to stay below 2048 bytes for all files
without the noinline annotation, we could still keep using that limit.

> Anyway, I there's another example where one needs to limit (or disable ASAN)
> in kernel: https://patchwork.kernel.org/patch/9653417/

If I remember correctly, that one only happens with 
-fsanitize-address-use-after-scope, and I had a workaround that avoids this by
changing the kernel code.

Reply via email to