Received: by 2002:ac0:a679:0:0:0:0:0 with SMTP id p54csp242427imp; Tue, 19 Feb 2019 22:44:52 -0800 (PST) X-Google-Smtp-Source: AHgI3IYwH2gN0KsilsNg7fpc3ZHizBSxLEFiqcDYCF9dWf/lxRmSQu1/DorpsUo0WX1LPjXnkCVI X-Received: by 2002:a63:4346:: with SMTP id q67mr26947241pga.92.1550645091975; Tue, 19 Feb 2019 22:44:51 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1550645091; cv=none; d=google.com; s=arc-20160816; b=IjJYIzhYKjGgdlv9eYj2jTPgnPSTvFmG5giD7vn1rPTvxa0TqOynjNNnWSj+sVDqvM o5ALBAqPOmxSttdqtsX7m8vKZLzKZFSY+3yqWH9GuCzEsH96cccxVCZUGowtlHZVr8uj 6b22Vnye4PAdb3ZAIYyPN7976R3vnvQQq33PLVhNCDuycbkIk9RnIAR06D2IpT9/gqY9 HMbs86G2m0RJ4GSyeb6UAwB0XHhAJ2rWZ2Zu6iuLhMpfhinK9/qnqNR9YCAt55NLa1Ah 0WQDu6UrAjza0hB5y34GhYtoZh2dISH7Pkk3IHh0lurSd2cGKz3Cp3u2a4R19EmLTT2i gT6Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=HLS63h4TrNfAqG+nGDB8waFurXViTBz03UP/mAXHk3A=; b=I3fmlEVOWFCavCL6967VQcnWES77D/MWIQvaIAceqRiKAx2XF+7+MKiMt+EQs7sUlW r7hrDd4wtQdqjGoqFY1d4bu48a/8CoYIezL2eASd5r5ulAhZ4FfspK992zynT0pYz4NB B9K3sK/GvylGD49smd/FCOLtcc4oxJDhVGDGokkSZNfB01BZzFvfMinn8RcHGbE3VQ8g SuFOxNOH1OjhA8rPdfcdzo1OzcLJghD4f63RHF2NHctuHZO8Rp+Qk6cYg5xNK38Htyak pS1LqrsHZB0XehJkeXsJ40c56Kd83LYTstIaOJy8ha6pMSS2TscK771PjKO9tEKzpihx qSfQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=LIIKbwrB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id d10si17757624pgh.591.2019.02.19.22.44.36; Tue, 19 Feb 2019 22:44:51 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=LIIKbwrB; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730274AbfBTGoQ (ORCPT + 99 others); Wed, 20 Feb 2019 01:44:16 -0500 Received: from mail-it1-f194.google.com ([209.85.166.194]:38372 "EHLO mail-it1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1725890AbfBTGoP (ORCPT ); Wed, 20 Feb 2019 01:44:15 -0500 Received: by mail-it1-f194.google.com with SMTP id l66so13015346itg.3 for ; Tue, 19 Feb 2019 22:44:14 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc:content-transfer-encoding; bh=HLS63h4TrNfAqG+nGDB8waFurXViTBz03UP/mAXHk3A=; b=LIIKbwrBukjgBVt3K8pRF01xjEzpmoi0tc+7Crv5egys0r39YW3i8Oy3bn32KKKh2Q LtSyrrsrg3CUdZcWdK3rpsAPYqGljti8Bxr9M1bnLYv4G6yOQz38MvYVHK5/2s1wIt4j y1HKQLmvf9PZfRT7+e8NZr8swMO16rt0XOOGGRR8kEGklixQMbiPrfMTHW2Zgqk6p51t GK48pRgfIMLg23RdWuJ1P6tLXLl2Z4VtwASjjFw7k3/zU2lAeHw6ZyHaPekqBc7afw6o lNv3JLZAZ+qTDN7n9rbJFpP8pbYIZu4tQItzMTqKn2WuouXqJtq+lZ+X8phqL5FSLW1l c7YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc:content-transfer-encoding; bh=HLS63h4TrNfAqG+nGDB8waFurXViTBz03UP/mAXHk3A=; b=nN+G85l6Tx02AmmNGqqJojBvfIbYmz8M8FR/aCgFF6Xx3semahiCc21Quz5NWYN3Ix lEjITBLwceGafSgC3oehFn1rRWXCfPEjvt6XqGMFNw+fLmKzNiSs3tr8NbJWdvRLAjT0 40vvQdYVKa9Pq6dcw0no6LJh0OYn+G1knSjfsxhYf1yJu1M8Pl+ZjoPN0ShwnidA+nhT Q/BTVZSKG3qULNBMTdaYiacvUD6tUhgoi262sIHNeYQZe/2LQGZyOptJIOAsELC9bF0r jB3GTaLSi9kzZh+H0bHpTpCqQdZv9mQFAWemNjM5/0VM/lJjiiMFS0byVZD4lds7axWa N4yw== X-Gm-Message-State: AHQUAuZw0TGzn5vMzVTbPle4fQChEzZ+PONFM/mVKsWQKGIHf6SA00Sb 43ao9acKP3bui8oahiBk8eye4FBVhLPaUQ+X0ZRA5Q== X-Received: by 2002:a6b:6b18:: with SMTP id g24mr16685706ioc.282.1550645054065; Tue, 19 Feb 2019 22:44:14 -0800 (PST) MIME-Version: 1.0 References: <20190219214940.391081-1-arnd@arndb.de> <1550614664.6911.45.camel@lca.pw> In-Reply-To: From: Dmitry Vyukov Date: Wed, 20 Feb 2019 07:44:02 +0100 Message-ID: Subject: Re: [PATCH] kasan: turn off asan-stack for clang-8 and earlier To: Kostya Serebryany Cc: Nick Desaulniers , Qian Cai , Arnd Bergmann , Andrey Ryabinin , Masahiro Yamada , Michal Marek , Andrew Morton , Mark Brown , Alexander Potapenko , Martin Schwidefsky , Christoph Lameter , Andrey Konovalov , LKML , Linux Kbuild mailing list , kasan-dev , Evgenii Stepanov Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 20, 2019 at 1:34 AM Kostya Serebryany wrote: > > On Tue, Feb 19, 2019 at 2:43 PM Nick Desaulniers > wrote: > > > > + Evgenii, Kostya for KASAN > > > > On Tue, Feb 19, 2019 at 2:17 PM Qian Cai wrote: > > > > > > On Tue, 2019-02-19 at 22:49 +0100, Arnd Bergmann wrote: > > > > Building an arm64 allmodconfig kernel with clang results in over 14= 0 warnings > > > > about overly large stack frames, the worst ones being: > > > > > > > > drivers/gpu/drm/panel/panel-sitronix-st7789v.c:196:12: error: stack= frame size > > > > of 20224 bytes in function 'st7789v_prepare' > > > > drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c:19= 6:12: > > > > error: stack frame size of 13120 bytes in function 'td028ttec1_pane= l_enable' > > > > drivers/usb/host/max3421-hcd.c:1395:1: error: stack frame size of 1= 0048 bytes > > > > in function 'max3421_spi_thread' > > > > drivers/net/wan/slic_ds26522.c:209:12: error: stack frame size of 9= 664 bytes > > > > in function 'slic_ds26522_probe' > > > > drivers/crypto/ccp/ccp-ops.c:2434:5: error: stack frame size of 883= 2 bytes in > > > > function 'ccp_run_cmd' > > > > drivers/media/dvb-frontends/stv0367.c:1005:12: error: stack frame s= ize of 7840 > > > > bytes in function 'stv0367ter_algo' > > > > > > > > None of these happen with gcc today, and almost all of these are th= e result > > > > of a single known bug in llvm. Hopefully it will eventually get fi= xed with > > > > the > > > > clang-9 release. > > I am not confident we can fix this in clang. > The difference between gcc and clang, AFAICT, is not in the asan > instrumentation, but in inining. > Looking at the reproducer from https://bugs.llvm.org/show_bug.cgi?id=3D38= 809#c4, > if I change ltv350qv_write_reg to always inline, gcc also produces a > huge 10K stack frame, > and making it noinline fixes the stack frame for both gcc and clang. Does your gcc have fix for https://gcc.gnu.org/bugzilla/show_bug.cgi?id=3D8= 1715 ? For me gcc rejects to inline it: gcc version 7.3.0 (Debian 7.3.0-5) $ gcc /tmp/test.c -Wframe-larger-than=3D128 -c -fsanitize=3Dkernel-address -O2 --param asan-stack=3D1 /tmp/test.c:23:13: warning: always_inline function might not be inlinable [-Wattributes] static void ltv350qv_write_reg(void) { ^~~~~~~~~~~~~~~~~~ /tmp/test.c: In function =E2=80=98ltv350qv_power_on=E2=80=99: /tmp/test.c:57:1: warning: the frame size of 416 bytes is larger than 128 bytes [-Wframe-larger-than=3D] } ^