rocker: replace fixed stack allocation with dynamic allocation
Subsystems (3)
PATCH 1/1 rocker: replace fixed stack allocation with dynamic allocation
From: Scott Feldman <[email protected]>
In hast to fix some sparse warning, I hard-coded a fix-sized array on the stack which is probably too big for kernel standards. Fix this by converting array to dynamic allocation.
--- drivers/net/ethernet/rocker/rocker.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
drivers/net/ethernet/rocker/rocker.c +10 -3
@@ -2955,11 +2955,16 @@ static int rocker_port_vlan_flood_group(struct rocker_port *rocker_port,struct rocker_port *p;struct rocker *rocker = rocker_port->rocker;u32 group_id =ROCKER_GROUP_L2_FLOOD (vlan_id,0 ); -u32 group_ids[ROCKER_FP_PORTS_MAX ]; +u32 *group_ids;u8 group_count =0 ; -int err; +int err =0 ;int i; + group_ids =kcalloc (rocker->port_count,sizeof (u32), +rocker_op_flags_gfp (flags)); +if (!group_ids) +return -ENOMEM ; +/* Adjust the flood group for this VLAN. The flood group * references an L2 interface group for each port in this * VLAN.
@@ -2977,7 +2982,7 @@ static int rocker_port_vlan_flood_group(struct rocker_port *rocker_port,/* If there are no bridged ports in this VLAN, we're done */ if (group_count ==0 ) -return 0 ; + goto no_ports_in_vlan; err = rocker_group_l2_flood(rocker_port, flags, vlan_id, group_count, group_ids,
@@ -2986,6 +2991,8 @@ static int rocker_port_vlan_flood_group(struct rocker_port *rocker_port,netdev_err (rocker_port->dev,"Error (%d) port VLAN l2 flood group\n" , err); +no_ports_in_vlan: +kfree (group_ids);return err; }
Signature · 1 line
1.7.10.4
Quoted 7 lines · Mon, Mar 16, 2015 at 07:04:46AM CET, [email protected] wrote:
From: Scott Feldman <[email protected]>
In hast to fix some sparse warning, I hard-coded a fix-sized array on the stack which is probably too big for kernel standards. Fix this by converting array to dynamic allocation.
Signed-off-by Scott Feldman <[email protected]>
From: [email protected]
Date: Sun, 15 Mar 2015 23:04:46 -0700
Quoted 7 lines
From: Scott Feldman <[email protected]>
In hast to fix some sparse warning, I hard-coded a fix-sized array on the stack which is probably too big for kernel standards. Fix this by converting array to dynamic allocation.
Signed-off-by Scott Feldman <[email protected]>
Applied, thanks.