net/mlx5e: avoid stack overflow in mlx5e_open_channels
authorArnd Bergmann <arnd@arndb.de>
Tue, 26 Apr 2016 15:52:33 +0000 (17:52 +0200)
committerDavid S. Miller <davem@davemloft.net>
Thu, 28 Apr 2016 20:46:59 +0000 (16:46 -0400)
commit6b87663fbe4a366e558d6566b3e6b6bc227da5a1
tree3a2e668fd6cb784974ae78dc353843c2f0fe6969
parent3df97ba83019d524c012fd43d3216d4cc3005955
net/mlx5e: avoid stack overflow in mlx5e_open_channels

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")
Acked-by: Saeed Mahameed <saeedm@mellanox.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/mellanox/mlx5/core/en_main.c