[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20161208.213110.1398471429588400159.davem@davemloft.net>
Date: Thu, 08 Dec 2016 21:31:10 -0500 (EST)
From: David Miller <davem@...emloft.net>
To: arnd@...db.de
Cc: isubramanian@....com, kchudgar@....com, kdinh@....com,
qnguyen@....com, tinamdar@....com, netdev@...r.kernel.org,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next 2/3] net: xgene: move xgene_cle_ptree_ewdn
data off stack
From: Arnd Bergmann <arnd@...db.de>
Date: Thu, 8 Dec 2016 22:57:04 +0100
> The array for initializing the cle is set up on the stack with
> almost entirely constant data and then passed to a function that
> converts it into HW specific bit patterns. With the latest
> addition, the size of this array has grown to the point that
> we get a warning about potential stack overflow in allmodconfig
> builds:
>
> xgene_enet_cle.c: In function ‘xgene_enet_cle_init’:
> xgene_enet_cle.c:836:1: error: the frame size of 1032 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
>
> Looking a bit deeper at the usage, I noticed that the only modification
> of the data is in dead code, as we don't even use the cle module
> for phy_mode other than PHY_INTERFACE_MODE_XGMII. This means we
> can simply mark the structure constant and access it directly rather
> than passing the pointer down through another structure, making
> the code more efficient at the same time as avoiding the
> warning.
>
> Fixes: a809701fed15 ("drivers: net: xgene: fix: RSS for non-TCP/UDP")
> Signed-off-by: Arnd Bergmann <arnd@...db.de>
Applied.
Powered by blists - more mailing lists