From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Ahern Subject: Re: may I ignore "net/core/rtnetlink.c:3156:1: warning: the frame size of 1280 bytes ..."? Date: Mon, 5 Nov 2018 12:57:21 -0700 Message-ID: References: <0cfb892c-b358-4bd6-f7c9-071a0039bc71@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Cc: Linux Kernel To: =?UTF-8?Q?Toralf_F=c3=b6rster?= , netdev@vger.kernel.org Return-path: In-Reply-To: <0cfb892c-b358-4bd6-f7c9-071a0039bc71@gmx.de> Content-Language: en-US Sender: linux-kernel-owner@vger.kernel.org List-Id: netdev.vger.kernel.org On 11/4/18 9:14 AM, Toralf Förster wrote: > compiling recent kernel (4.18.x, 4.19.1) at my server I do still get : > > > net/core/rtnetlink.c: In function ‘rtnl_newlink’: > net/core/rtnetlink.c:3156:1: warning: the frame size of 1280 bytes is larger than 1024 bytes [-Wframe-larger-than=] > > > with "gcc version 7.3.0 (Gentoo Hardened 7.3.0-r3 p1.4) " and do wonder whether it is safe to ignore it? > > I believe the warning is coming from this part of rtnl_newlink(): if (1) { struct nlattr *attr[RTNL_MAX_TYPE + 1]; struct nlattr *slave_attr[RTNL_SLAVE_MAX_TYPE + 1]; struct nlattr **data = NULL; struct nlattr **slave_data = NULL; struct net *dest_net, *link_net = NULL; The heavy hitters are: #define RTNL_MAX_TYPE 49 #define RTNL_SLAVE_MAX_TYPE 36 attr and slave_attr would amount to 696 bytes of that 1280. The earlier defined: struct nlattr *tb[IFLA_MAX+1]; Would be another 416, so those 3 are 1112 bytes of the warning. I have been using CONFIG_FRAME_WARN=2048 for a while without a problem.