Return-path: Received: from mail-db5eur01on0135.outbound.protection.outlook.com ([104.47.2.135]:63952 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1752132AbdCCPVB (ORCPT ); Fri, 3 Mar 2017 10:21:01 -0500 Subject: Re: [PATCH 25/26] isdn: eicon: mark divascapi incompatible with kasan To: Arnd Bergmann References: <20170302163834.2273519-1-arnd@arndb.de> <20170302163834.2273519-26-arnd@arndb.de> <6ada42bd-4cc7-4985-3e3b-705cba6e157d@virtuozzo.com> CC: kasan-dev , Alexander Potapenko , Dmitry Vyukov , Networking , Linux Kernel Mailing List , , linux-wireless , , "David S . Miller" From: Andrey Ryabinin Message-ID: (sfid-20170303_162145_672775_EC9123CE) Date: Fri, 3 Mar 2017 18:22:03 +0300 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset="utf-8" Sender: linux-wireless-owner@vger.kernel.org List-ID: On 03/03/2017 05:54 PM, Arnd Bergmann wrote: > On Fri, Mar 3, 2017 at 3:20 PM, Andrey Ryabinin wrote: >> >> >> On 03/02/2017 07:38 PM, Arnd Bergmann wrote: >>> When CONFIG_KASAN is enabled, we have several functions that use rather >>> large kernel stacks, e.g. >>> >>> drivers/isdn/hardware/eicon/message.c: In function 'group_optimization': >>> drivers/isdn/hardware/eicon/message.c:14841:1: warning: the frame size of 864 bytes is larger than 500 bytes [-Wframe-larger-than=] >>> drivers/isdn/hardware/eicon/message.c: In function 'add_b1': >>> drivers/isdn/hardware/eicon/message.c:7925:1: warning: the frame size of 1008 bytes is larger than 500 bytes [-Wframe-larger-than=] >>> drivers/isdn/hardware/eicon/message.c: In function 'add_b23': >>> drivers/isdn/hardware/eicon/message.c:8551:1: warning: the frame size of 928 bytes is larger than 500 bytes [-Wframe-larger-than=] >>> drivers/isdn/hardware/eicon/message.c: In function 'sig_ind': >>> drivers/isdn/hardware/eicon/message.c:6113:1: warning: the frame size of 2112 bytes is larger than 500 bytes [-Wframe-larger-than=] >>> >>> To be on the safe side, and to enable a lower frame size warning limit, let's >>> just mark this driver as broken when KASAN is in use. I have tried to reduce >>> the stack size as I did with dozens of other drivers, but failed to come up >>> with a good solution for this one. >>> >> >> This is kinda radical solution. >> Wouldn't be better to just increase -Wframe-larger-than for this driver through Makefile? > > I thought about it too, and decided for disabling the driver entirely > since I suspected that > not only the per-function stack frame is overly large here but also > depth of the call chain, > which would then lead us to hiding an actual stack overflow. > No one complained so far ;) Disabling the driver like you did will throw it out from allmodconfig so it will receive less compile-testing. > Note that this driver is almost certainly broken, it hasn't seen any > updates other than > style and compile-warning fixes in 10 years and doesn't support any of > the hardware > introduced since 2002 (the company still makes PCIe ISDN adapters, but > the driver > only supports legacy PCI versions and older buses). Which means that it's unlikely that someone will run this driver with KASAN and trigger stack overflow (if it's really possible).