From patchwork Wed Jun 14 21:15:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Arnd Bergmann X-Patchwork-Id: 105588 Delivered-To: patch@linaro.org Received: by 10.140.91.77 with SMTP id y71csp489377qgd; Wed, 14 Jun 2017 14:19:32 -0700 (PDT) X-Received: by 10.101.89.2 with SMTP id f2mr1902822pgu.237.1497475172878; Wed, 14 Jun 2017 14:19:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1497475172; cv=none; d=google.com; s=arc-20160816; b=ER3rtovXa5GYdq3JGs7R3PHpYp5ybYKGVsW6FkaJlVdq3HfAQJsQFkGeMx+ezG+Rt8 m5tMtyiNgdcwvcJpkAYOto8l11lAcDu5r+tIJlxjwJY+6Z7lNb/JeZGgwdtRQl10qv/8 v0T8j+igyBx2bWOMF6z1XgzNAkYwuaow89TQ0uDAYq2Z9nOAiXtZX/lJM7FlhejESBIj Wx+ss/SR7yGgH9jgV8Ke5GSGzZaJUztO5gvSbDCQb74zwo72pbidr1f5Vr2XUegSpvn3 nbTm5OYj9iY7/hMzZCJ+og7NCyDmRSFtUJQmc07CiHcxb2KewIdz5YLkP+1/UuENbuRV 23uA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:arc-authentication-results; bh=AQGiwZmMI40LJIyL+0wOUaWvktGACzMo7rVbHmaXNaA=; b=Y4PDDfSP4hEPuR+6OrIdUxYtlz8Fge+o8lB1XovjSZokrVFOwFy25+gW5QerIoSvOs Y/4roznERh/4BMam0z+s15dt/Qm3SGKVur06HEawf80bVCb6wKYgNeSSPzrdhfQ1/EDO 6BKUAtcnu8LXsd3BfFh5vmhJfuleN8wn3AlD+rnULNSPVp/KEQQWWv/Gm5Ndywv1R+rZ +/eFZCZChwpr4Fazh/tTdGMF8x3Slb5DDXAFBdEwEdHZ8jZxNy3wP2esONQerq6AvqR/ 8QL7IqOc/JYCBESJeieqG0ir4UVM05A2vbh1a8mwBaYJ8fIoyiK12D5b6ls5fJNvItCf iWBQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id 203si692589pfc.406.2017.06.14.14.19.32; Wed, 14 Jun 2017 14:19:32 -0700 (PDT) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752557AbdFNVTb (ORCPT + 25 others); Wed, 14 Jun 2017 17:19:31 -0400 Received: from mout.kundenserver.de ([212.227.126.131]:57813 "EHLO mout.kundenserver.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752080AbdFNVT3 (ORCPT ); Wed, 14 Jun 2017 17:19:29 -0400 Received: from wuerfel.lan ([78.42.17.5]) by mrelayeu.kundenserver.de (mreue001 [212.227.15.129]) with ESMTPA (Nemesis) id 0MbGQ7-1d6Bw42MCR-00KihD; Wed, 14 Jun 2017 23:18:15 +0200 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 , Greg Kroah-Hartman , Jiri Slaby , Samuel Thibault , Dmitry Torokhov Subject: [PATCH v2 03/11] tty: kbd: reduce stack size with KASAN Date: Wed, 14 Jun 2017 23:15:38 +0200 Message-Id: <20170614211556.2062728-4-arnd@arndb.de> X-Mailer: git-send-email 2.9.0 In-Reply-To: <20170614211556.2062728-1-arnd@arndb.de> References: <20170614211556.2062728-1-arnd@arndb.de> X-Provags-ID: V03:K0:obbGuMO3DfZICmHs6PMFQe5qb/AC5L2+g3P1WTGL1QfU8Rem7/A 6L7YNT4foR6C7EfAA51tIoQLuOvRx3160f3QqzWjWyNd0JvGA1lAjVk7dBCA7XkFq8JpBa5 4nfgGTD6uw8PhJPjfcfNflkS7QUUSgvdVCtIgvV7Fg3ew5HKc+RIr+aZM2rqrrqdwJxbEKY 93C2HEv311Fbt/G0Quc8Q== X-UI-Out-Filterresults: notjunk:1; V01:K0:ExKX8DQOxWI=:7X19Lo/0InpzIz1yu/QY+5 GSF721TJm1FFg+al+cbotBUrj+c2FoVVBy+7TrUQBUTQPDOSe/Ctpim6qkN3D1xcnv8HOgDfd oiHVrLg2whgLQqH1M2Qi5GGFbbFsAsBWwii/bksnnYuWXu7zwtQsrhCxiPkshGBq7Sfv7KWRJ X4fQstEbrii7AtgpG6/FWZbBqPg8VV4KCogna4BuHU6h7Spl8FWMkBQ3w0seQXFBEpklXcIp3 U6LiLjl39zqNyZndzic0go17ATKkph2yspsttSCREcJoibnuPI9AlsxYjv3Lb0koaqnfvcFqv 1+D/zZXfBYI5P5sWdBUG+ZL0BP5W8RgjncqDqatHlAncI/geF4Xoo8wnwif9QXvWbApph6aRk QPlmrBET+aKZPuC6ifhnB5DN86grGJdFCdi73VNiZ4OkLOEhTH4q+YDfK6LwtF8z6+/8+IwnX L8iV4mB3QvREAY11FCM0JyYnm7cjlIaed+3rMKvgIb1is6g57BlFonZFyAbC3MhBw0I+augjv sW6b3WQhKWPlD3U/lpdehWAc85+/JaN/XvHcZRxBBTkDYfY5L2rX+kt1cKHfDB/36nZKf0pTF cslrmE0OW7M2vtQfm5kOkd4KYRwyPD6ww+drgNaVLSt6hYFLSndDhRePtCrAc+2NvIfYJRSBb 55Q9lWtwa+ssSjIs01+0Qty4B3ms6Vlqs9NPbuvhnm5x4KHRnVYgn9gX82501Ealluzw= Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org As reported by kernelci, some functions in the VT code use significant amounts of kernel stack when local variables get inlined into the caller multiple times: drivers/tty/vt/keyboard.c: In function 'kbd_keycode': drivers/tty/vt/keyboard.c:1452:1: error: the frame size of 2240 bytes is larger than 2048 bytes [-Werror=frame-larger-than=] Annotating those functions as noinline_if_stackbloat prevents the inlining and reduces the overall stack usage in this driver. Signed-off-by: Arnd Bergmann --- drivers/tty/vt/keyboard.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.9.0 diff --git a/drivers/tty/vt/keyboard.c b/drivers/tty/vt/keyboard.c index f4166263bb3a..c0d111444a0e 100644 --- a/drivers/tty/vt/keyboard.c +++ b/drivers/tty/vt/keyboard.c @@ -301,13 +301,13 @@ int kbd_rate(struct kbd_repeat *rpt) /* * Helper Functions. */ -static void put_queue(struct vc_data *vc, int ch) +static noinline_if_stackbloat void put_queue(struct vc_data *vc, int ch) { tty_insert_flip_char(&vc->port, ch, 0); tty_schedule_flip(&vc->port); } -static void puts_queue(struct vc_data *vc, char *cp) +static noinline_if_stackbloat void puts_queue(struct vc_data *vc, char *cp) { while (*cp) { tty_insert_flip_char(&vc->port, *cp, 0); @@ -555,7 +555,7 @@ static void fn_inc_console(struct vc_data *vc) set_console(i); } -static void fn_send_intr(struct vc_data *vc) +static noinline_if_stackbloat void fn_send_intr(struct vc_data *vc) { tty_insert_flip_char(&vc->port, 0, TTY_BREAK); tty_schedule_flip(&vc->port);