Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752433AbdFNVQZ (ORCPT ); Wed, 14 Jun 2017 17:16:25 -0400 Received: from mout.kundenserver.de ([212.227.126.187]:49965 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751760AbdFNVQX (ORCPT ); Wed, 14 Jun 2017 17:16:23 -0400 From: Arnd Bergmann To: Andrew Morton Cc: kasan-dev@googlegroups.com, Dmitry Vyukov , Alexander Potapenko , Andrey Ryabinin , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, Arend van Spriel , Arnd Bergmann Subject: [PATCH v2 00/11] bring back stack frame warning with KASAN Date: Wed, 14 Jun 2017 23:15:35 +0200 Message-Id: <20170614211556.2062728-1-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 X-Provags-ID: V03:K0:VD+RCk7Ov9yUefv24oZpPfYVybQHUZOZ3MMbgtv7cgBHBxGKKFw kXfjCN15lbqyS2u/YJlANn4B21fU1TOcrGpD+sF0xoqiwJ9KnwiHA/k1kpHOwj78cdHqys+ 1wvTSiTUa4zQ7zXw5q++w5ZAiqTkfyMEWNTQQOI15mdL2qGoSF2QwpJ3wXcW3zXggocg0mY btOGC1jLifE54gQnX2LGw== X-UI-Out-Filterresults: notjunk:1;V01:K0:s0DTbRv4lVg=:BUAXCszI7qMyttDhXGfulo 2nYJc9YBNa3U80jo1IxwtqWIUXYPUBvBSPhgzXh72/LbcS0Jolb9rNR+AZm7kgPa2A6Mhzi19 iYHTnKeepGdGUUZ+rB8vGZ6OaMRKkmS4N8MA9px89N4ScZGCVyYGS/hlmqa1jOawAXTVm8ZQV KqDTs6WXiJ4E+VFKKbCmoYEueC7rX9+snDYqIT4nCI8V3q7bd5PeaJ8YMWOs5MPdb/84OQMZ8 +Jl61HMMbHcklebx7sxaf/afVQRZkxVlOJr7DiyDThMO2CS8riOhpJ5F0XZAkm7H4ly5GJRKN 3FPQNXvN4DKKyr+KDqImnfCf9yjKSIoou3PYrEJZAFISChrNJYIxgrVU9cUpKysyrXfb1byER oLGS5WUJi52IbY3XHp7F+L02e7ei0uuLvj9WVrHtlvCpmVU/hPxgXz8nqs43pO1n0J9f4KVM9 WiSF4g3LbLdCzOV8rjR91g22M+JWVwHfiRe59iCgfPIxwS/q7VyH0Ek9EXXZoe8zc96SSpNZw 2tHaCDTlvl1ABmRNuJzHs+MAj/yNwo7v+kl/owql93263yo1FUvIj/J25u07Vm1cfxC8NvUoZ S4r9z21eOyEZFx6g6B2mPjnOSeU6dFKHxiNAq50F2cAlO4fQ1i90GEGhE/o+uf+kspGpz11Ps 4O3AOSwfxjPNw2Ya3xHbAhbiTaPpAsDG+PK3r2v5ydIpcfRfIZ8U2j1fqcdRyHJhi5UM= Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 4677 Lines: 93 This is a new version of patches I originally submitted back in March [1], this time reducing the size of the series even further. This minimal set of patches only makes sure that we do get frame size warnings in allmodconfig for x86_64 and arm64 again, even with KASAN enabled. The changes this time are reduced to: - I'm introducing "noinline_if_stackbloat" and use it in a number of places that suffer from inline functions with local variables - netlink, as used in various parts of the kernel - a number of drivers/media drivers - a handful of wireless network drivers - a rework for the brcmsmac driver - -fsanitize-address-use-after-scope is moved to a separate CONFIG_KASAN_EXTRA option that increases the warning limit - CONFIG_KASAN_EXTRA is disabled with CONFIG_COMPILE_TEST, improving compile speed and disabling code that leads to valid warnings on gcc-7.0.1 - kmemcheck conflicts with CONFIG_KASAN_EXTRA Compared to the previous version, I no longer have patches to fix all the CONFIG_KASAN_EXTRA warnings: - READ_ONCE/WRITE_ONCE cause problems in lots of code - typecheck() causes huge problems in a few places - many more uses of noinline_if_stackbloat This series lets us add back a stack frame warning for the regular 2048 bytes without CONFIG_KASAN_EXTRA. I set the warning limit with KASAN_EXTRA to 3072, since I have an additional set of patches to address all files that surpass that limit. We can debate whether we want to apply those as a follow-up, or instead remove the option entirely. Another follow-up series I have reduces the warning limit with KASAN to 1536, and without KASAN to 1280 for 64-bit architectures. I hope that Andrew can pick up the entire series for mmotm, and we can eventually backport most of it to stable kernels and address the warnings that kernelci still reports for this problem [2]. Arnd [1] https://lkml.org/lkml/2017/3/2/508 [2] https://kernelci.org/build/id/593f89a659b51463306b958d/logs/ kasan: rework Kconfig settings brcmsmac: reindent split functions brcmsmac: split up wlc_phy_workarounds_nphy brcmsmac: make some local variables 'static const' to reduce stack size r820t: mark register functions as noinline_if_stackbloat dvb-frontends: reduce stack size in i2c access mtd: cfi: reduce stack size with KASAN rocker: mark rocker_tlv_put_* functions as noinline_if_stackbloat tty: kbd: reduce stack size with KASAN netlink: mark nla_put_{u8,u16,u32} noinline_if_stackbloat compiler: introduce noinline_if_stackbloat annotation Arnd Bergmann (11): drivers/media/dvb-frontends/ascot2e.c | 3 +- drivers/media/dvb-frontends/cxd2841er.c | 4 +- drivers/media/dvb-frontends/drx39xyj/drxj.c | 14 +- drivers/media/dvb-frontends/helene.c | 4 +- drivers/media/dvb-frontends/horus3a.c | 2 +- drivers/media/dvb-frontends/itd1000.c | 2 +- drivers/media/dvb-frontends/mt312.c | 2 +- drivers/media/dvb-frontends/si2165.c | 14 +- drivers/media/dvb-frontends/stb0899_drv.c | 2 +- drivers/media/dvb-frontends/stb6100.c | 2 +- drivers/media/dvb-frontends/stv0367.c | 2 +- drivers/media/dvb-frontends/stv090x.c | 2 +- drivers/media/dvb-frontends/stv6110.c | 2 +- drivers/media/dvb-frontends/stv6110x.c | 2 +- drivers/media/dvb-frontends/tda8083.c | 2 +- drivers/media/dvb-frontends/zl10039.c | 2 +- drivers/media/tuners/r820t.c | 4 +- drivers/mtd/chips/cfi_cmdset_0020.c | 8 +- drivers/net/ethernet/rocker/rocker_tlv.h | 24 +- drivers/net/wireless/broadcom/brcm80211/brcmsmac/phy/phy_n.c | 1856 +++++++++++++++++++++++------------------------- drivers/tty/vt/keyboard.c | 6 +- include/linux/compiler.h | 11 + include/linux/mtd/map.h | 8 +- include/net/netlink.h | 36 +- lib/Kconfig.debug | 4 +- lib/Kconfig.kasan | 11 +- lib/Kconfig.kmemcheck | 1 + scripts/Makefile.kasan | 3 + 28 files changed, 986 insertions(+), 1047 deletions(-) -- 2.9.0