Re: [PATCH v2] net/mlx5e: avoid stack overflow in mlx5e_open_channels
From: David Miller <davem@davemloft.net>
Date: 2016-04-28 20:47:45
Also in:
linux-rdma, lkml
From: David Miller <davem@davemloft.net>
Date: 2016-04-28 20:47:45
Also in:
linux-rdma, lkml
From: Arnd Bergmann <arnd@arndb.de> Date: Tue, 26 Apr 2016 17:52:33 +0200
struct mlx5e_channel_param is a large structure that is allocated
on the stack of mlx5e_open_channels, and with a recent change
it has grown beyond the warning size for the maximum stack
that a single function should use:
mellanox/mlx5/core/en_main.c: In function 'mlx5e_open_channels':
mellanox/mlx5/core/en_main.c:1325:1: error: the frame size of 1072 bytes is larger than 1024 bytes [-Werror=frame-larger-than=]
The function is already using dynamic allocation and is not in
a fast path, so the easiest workaround is to use another kzalloc
for allocating the channel parameters.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Fixes: d3c9bc2743dc ("net/mlx5e: Added ICO SQs")
---
v2: move allocation back into caller, as suggested by Saeed MahameedApplied, thanks Arnd.