Skip to content

Commit

Permalink
net/switchdev: use struct_size over open coded arithmetic
Browse files Browse the repository at this point in the history
Replace zero-length array with flexible-array member and make use
of the struct_size() helper in kmalloc(). For example:

struct switchdev_deferred_item {
    ...
    unsigned long data[];
};

Make use of the struct_size() helper instead of an open-coded version
in order to avoid any potential type mistakes.

Reported-by: Zeal Robot <zealci@zte.com.cn>
Signed-off-by: Minghao Chi (CGEL ZTE) <chi.minghao@zte.com.cn>
Signed-off-by: David S. Miller <davem@davemloft.net>
  • Loading branch information
Minghao Chi (CGEL ZTE) authored and David S. Miller committed Feb 10, 2022
1 parent dc513a4 commit d8c2858
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion net/switchdev/switchdev.c
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ static int switchdev_deferred_enqueue(struct net_device *dev,
{
struct switchdev_deferred_item *dfitem;

dfitem = kmalloc(sizeof(*dfitem) + data_len, GFP_ATOMIC);
dfitem = kmalloc(struct_size(dfitem, data, data_len), GFP_ATOMIC);
if (!dfitem)
return -ENOMEM;
dfitem->dev = dev;
Expand Down

0 comments on commit d8c2858

Please sign in to comment.