linux_dsm_epyc7002/drivers/net/can
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
..
c_can can: c_can_pci: make c_can_pci_data const 2017-12-01 09:14:22 +01:00
cc770 drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
ifi_canfd can: ifi: Repair the error handling 2018-03-12 09:55:12 +01:00
m_can can: m_can: select pinctrl state in each suspend/resume function 2018-03-12 10:38:20 +01:00
mscan treewide: replace dev->trans_start update with helper 2016-05-04 14:16:49 -04:00
peak_canfd treewide: Use struct_size() for devm_kmalloc() and friends 2018-06-06 11:15:43 -07:00
rcar scripts/spelling.txt: add regsiter -> register spelling mistake 2017-05-08 17:15:13 -07:00
sja1000 drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
softing drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
spi drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
usb drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
at91_can.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
dev.c can: migrate documentation to restructured text 2018-01-26 10:46:44 +01:00
flexcan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
grcan.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
janz-ican3.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
Kconfig can: remove bfin_can driver 2018-03-26 15:57:02 +02:00
led.c can: add combined rx/tx LED trigger support 2015-03-22 23:50:11 +01:00
Makefile can: remove bfin_can driver 2018-03-26 15:57:02 +02:00
pch_can.c can: fix assignment of error location in CAN error messages 2015-11-23 09:37:34 +01:00
rx-offload.c can: rx-offload: can_rx_offload_add_timestamp: remove duplicate semicolon at return statement 2018-01-05 11:12:08 +01:00
slcan.c can: slcan: slc_alloc(): remove unused parameter "dev_t line" 2018-01-05 11:12:08 +01:00
sun4i_can.c can: sun4i: handle overrun in RX FIFO 2017-11-10 09:15:28 +01:00
ti_hecc.c can: ti_hecc: Fix napi poll return value for repoll 2017-12-01 11:20:52 +01:00
vcan.c drivers/net: Use octal not symbolic permissions 2018-03-26 12:07:49 -04:00
vxcan.c Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net 2018-01-09 10:37:00 -05:00
xilinx_can.c drivers: net: generalize napi_complete_done() 2017-01-30 15:10:42 -05:00