1
0
Fork 0
mirror of synced 2025-03-06 20:59:54 +01:00
linux/drivers/net/ethernet/amd
Julia Lawall 906a76cc76 pds_core: use vmalloc_array and vcalloc
Use vmalloc_array and vcalloc to protect against
multiplication overflows.

The changes were done using the following Coccinelle
semantic patch:

// <smpl>
@initialize:ocaml@
@@

let rename alloc =
  match alloc with
    "vmalloc" -> "vmalloc_array"
  | "vzalloc" -> "vcalloc"
  | _ -> failwith "unknown"

@@
    size_t e1,e2;
    constant C1, C2;
    expression E1, E2, COUNT, x1, x2, x3;
    typedef u8;
    typedef __u8;
    type t = {u8,__u8,char,unsigned char};
    identifier alloc = {vmalloc,vzalloc};
    fresh identifier realloc = script:ocaml(alloc) { rename alloc };
@@

(
      alloc(x1*x2*x3)
|
      alloc(C1 * C2)
|
      alloc((sizeof(t)) * (COUNT), ...)
|
-     alloc((e1) * (e2))
+     realloc(e1, e2)
|
-     alloc((e1) * (COUNT))
+     realloc(COUNT, e1)
|
-     alloc((E1) * (E2))
+     realloc(E1, E2)
)
// </smpl>

Signed-off-by: Julia Lawall <Julia.Lawall@inria.fr>
Link: https://lore.kernel.org/r/20230627144339.144478-10-Julia.Lawall@inria.fr
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
2023-06-27 09:30:23 -07:00
..
pds_core pds_core: use vmalloc_array and vcalloc 2023-06-27 09:30:23 -07:00
xgbe amd-xgbe: extend 10Mbps support to MAC version 21H 2023-06-13 10:44:11 +01:00
7990.c mm: reorder includes after introduction of linux/pgtable.h 2020-06-09 09:39:13 -07:00
7990.h net: 7990: Fix use correct return type for ndo_start_xmit() 2020-05-06 14:26:14 -07:00
a2065.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00
a2065.h
amd8111e.c net: amd: Switch and case should be at the same indent 2022-09-16 10:27:47 +01:00
amd8111e.h net: amd: Correct spelling errors 2022-09-16 10:27:47 +01:00
ariadne.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00
ariadne.h
atarilance.c net: amd: lance: don't call dev_kfree_skb() under spin_lock_irqsave() 2022-12-12 09:56:17 +00:00
au1000_eth.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00
au1000_eth.h au1000_eth: stop using virt_to_bus() 2022-06-08 11:32:02 -07:00
declance.c amd: declance: use eth_hw_addr_set() 2022-01-25 09:00:53 -08:00
hplance.c amd: hplance: use eth_hw_addr_set() 2021-11-19 11:05:20 +00:00
hplance.h License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
Kconfig pds_core: add AUXILIARY_BUS and NET_DEVLINK to Kconfig 2023-05-03 09:16:53 +01:00
lance.c net: isa: include net/Space.h 2023-05-17 21:27:30 -07:00
Makefile pds_core: Kconfig and pds_core.rst 2023-04-21 08:29:14 +01:00
mvme147.c amd: mvme147: use eth_hw_addr_set() 2021-11-19 11:05:20 +00:00
nmclan_cs.c net: amd: Fix link leak when verifying config failed 2023-04-25 09:41:18 +01:00
pcnet32.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00
sun3lance.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00
sunlance.c net: amd: Unified the comparison between pointers and NULL to the same writing 2022-09-16 10:27:47 +01:00