[PATCH] Disable -Wframe-larger-than warnings with KASAN=y

From: Andrey Ryabinin
Date: Fri Oct 16 2015 - 12:02:38 EST


When the kernel compiled with KASAN=y, GCC adds redzones
for each variable on stack. This enlarges function's stack
frame and causes:
'warning: the frame size of X bytes is larger than Y bytes'

The worst case I've seen for now is following:
../net/wireless/nl80211.c: In function ânl80211_send_wiphyâ:
../net/wireless/nl80211.c:1731:1: warning: the frame size of 5448 bytes is larger than 2048 bytes [-Wframe-larger-than=]
}
^
That kind of warning becomes useless with KASAN=y. It doesn't necessarily
indicate that there is some problem in the code, thus we should turn it off.

Reported-by: Fengguang Wu <fengguang.wu@xxxxxxxxx>
Signed-off-by: Andrey Ryabinin <aryabinin@xxxxxxxxxxxxx>
---
lib/Kconfig.debug | 1 +
1 file changed, 1 insertion(+)

diff --git a/lib/Kconfig.debug b/lib/Kconfig.debug
index ab76b99..1d1521c 100644
--- a/lib/Kconfig.debug
+++ b/lib/Kconfig.debug
@@ -197,6 +197,7 @@ config ENABLE_MUST_CHECK
config FRAME_WARN
int "Warn for stack frames larger than (needs gcc 4.4)"
range 0 8192
+ default 0 if KASAN
default 1024 if !64BIT
default 2048 if 64BIT
help
--
2.4.9

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/