diff options
author | Minghao Chi (CGEL ZTE) <chi.minghao@zte.com.cn> | 2022-02-10 06:10:08 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2022-02-10 15:37:47 +0000 |
commit | d8c2858181ccf0ca506b75ffe1ffab25a090d0e4 (patch) | |
tree | ff6478c9f953cdd891dd8d8dc0fea097560e8957 /net/switchdev | |
parent | dc513a405cade3e47bcda8de27c7a7bf6eeddd18 (diff) | |
download | linux-d8c2858181ccf0ca506b75ffe1ffab25a090d0e4.tar.gz linux-d8c2858181ccf0ca506b75ffe1ffab25a090d0e4.tar.bz2 linux-d8c2858181ccf0ca506b75ffe1ffab25a090d0e4.zip |
net/switchdev: use struct_size over open coded arithmetic
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>
Diffstat (limited to 'net/switchdev')
-rw-r--r-- | net/switchdev/switchdev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/switchdev/switchdev.c b/net/switchdev/switchdev.c index b62565278fac..12e6b4146bfb 100644 --- a/net/switchdev/switchdev.c +++ b/net/switchdev/switchdev.c @@ -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; |