1
0
Fork 0
alistair23-linux/drivers/clk/bcm
Kees Cook 0ed2dd03b9 treewide: Use struct_size() for devm_kmalloc() and friends
Replaces open-coded struct size calculations with struct_size() for
devm_*, f2fs_*, and sock_* allocations. Automatically generated (and
manually adjusted) from the following Coccinelle script:

// Direct reference to struct field.
@@
identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
expression HANDLE;
expression GFP;
identifier VAR, ELEMENT;
expression COUNT;
@@

- alloc(HANDLE, sizeof(*VAR) + COUNT * sizeof(*VAR->ELEMENT), GFP)
+ alloc(HANDLE, struct_size(VAR, ELEMENT, COUNT), GFP)

// mr = kzalloc(sizeof(*mr) + m * sizeof(mr->map[0]), GFP_KERNEL);
@@
identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
expression HANDLE;
expression GFP;
identifier VAR, ELEMENT;
expression COUNT;
@@

- alloc(HANDLE, sizeof(*VAR) + COUNT * sizeof(VAR->ELEMENT[0]), GFP)
+ alloc(HANDLE, struct_size(VAR, ELEMENT, COUNT), GFP)

// Same pattern, but can't trivially locate the trailing element name,
// or variable name.
@@
identifier alloc =~ "devm_kmalloc|devm_kzalloc|sock_kmalloc|f2fs_kmalloc|f2fs_kzalloc";
expression HANDLE;
expression GFP;
expression SOMETHING, COUNT, ELEMENT;
@@

- alloc(HANDLE, sizeof(SOMETHING) + COUNT * sizeof(ELEMENT), GFP)
+ alloc(HANDLE, CHECKME_struct_size(&SOMETHING, ELEMENT, COUNT), GFP)

Signed-off-by: Kees Cook <keescook@chromium.org>
2018-06-06 11:15:43 -07:00
..
Kconfig clk: bcm: Add Broadcom Hurricane 2 clock support 2017-10-12 11:31:46 -07:00
Makefile ARM: SoC driver updates for v4.15 2017-11-16 16:05:01 -08:00
clk-bcm63xx.c clk: bcm: Add BCM63138 clock support 2015-11-20 15:46:27 -08:00
clk-bcm281xx.c clk: bcm281xx: move compatible string definitions 2014-04-30 11:51:39 -07:00
clk-bcm2835-aux.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
clk-bcm2835.c treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
clk-bcm21664.c clk: bcm21664: use common clock framework 2014-04-30 11:51:44 -07:00
clk-bcm53573-ilp.c clk: bcm: Add driver for BCM53573 ILP clock 2016-09-16 16:31:29 -07:00
clk-cygnus.c clk: iproc: Allow iproc pll to runtime calculate vco parameters 2017-12-28 14:53:33 -08:00
clk-hr2.c clk: bcm: Add Broadcom Hurricane 2 clock support 2017-10-12 11:31:46 -07:00
clk-iproc-armpll.c clk: bcm: iproc: Migrate to clk_hw based registration and OF APIs 2016-06-30 12:26:45 -07:00
clk-iproc-asiu.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-iproc-pll.c treewide: Use struct_size() for kmalloc()-family 2018-06-06 11:15:43 -07:00
clk-iproc.h clk: iproc: Allow iproc pll to runtime calculate vco parameters 2017-12-28 14:53:33 -08:00
clk-kona-setup.c clk: kona-setup: Delete error messages for failed memory allocations 2017-11-13 17:44:42 -08:00
clk-kona.c clk: bcm: kona: Migrate to clk_hw based registration and OF APIs 2016-08-24 16:06:18 -07:00
clk-kona.h clk: bcm: kona: Migrate to clk_hw based registration and OF APIs 2016-08-24 16:06:18 -07:00
clk-ns2.c clk: ns2: Correct SDIO bits 2017-04-19 09:50:39 -07:00
clk-nsp.c clk: iproc: Split off dig_filter 2015-10-21 17:02:57 -07:00
clk-sr.c clk: bcm: Add clocks for Stingray SOC 2017-06-19 19:02:45 -07:00