0ed2dd03b9
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> |
||
---|---|---|
.. | ||
88pg86x.c | ||
88pm800.c | ||
88pm8607.c | ||
Kconfig | ||
Makefile | ||
aat2870-regulator.c | ||
ab3100.c | ||
ab8500-ext.c | ||
ab8500.c | ||
act8865-regulator.c | ||
act8945a-regulator.c | ||
ad5398.c | ||
anatop-regulator.c | ||
arizona-ldo1.c | ||
arizona-micsupp.c | ||
as3711-regulator.c | ||
as3722-regulator.c | ||
axp20x-regulator.c | ||
bcm590xx-regulator.c | ||
bd9571mwv-regulator.c | ||
core.c | ||
cpcap-regulator.c | ||
da903x.c | ||
da9052-regulator.c | ||
da9055-regulator.c | ||
da9062-regulator.c | ||
da9063-regulator.c | ||
da9210-regulator.c | ||
da9210-regulator.h | ||
da9211-regulator.c | ||
da9211-regulator.h | ||
db8500-prcmu.c | ||
dbx500-prcmu.c | ||
dbx500-prcmu.h | ||
devres.c | ||
dummy.c | ||
dummy.h | ||
fan53555.c | ||
fixed-helper.c | ||
fixed.c | ||
gpio-regulator.c | ||
helpers.c | ||
hi655x-regulator.c | ||
hi6421-regulator.c | ||
hi6421v530-regulator.c | ||
internal.h | ||
isl6271a-regulator.c | ||
isl9305.c | ||
lm363x-regulator.c | ||
lp872x.c | ||
lp873x-regulator.c | ||
lp3971.c | ||
lp3972.c | ||
lp8755.c | ||
lp8788-buck.c | ||
lp8788-ldo.c | ||
lp87565-regulator.c | ||
ltc3589.c | ||
ltc3676.c | ||
max1586.c | ||
max8649.c | ||
max8660.c | ||
max8907-regulator.c | ||
max8925-regulator.c | ||
max8952.c | ||
max8973-regulator.c | ||
max8997-regulator.c | ||
max8998.c | ||
max14577-regulator.c | ||
max77620-regulator.c | ||
max77686-regulator.c | ||
max77693-regulator.c | ||
max77802-regulator.c | ||
mc13xxx-regulator-core.c | ||
mc13xxx.h | ||
mc13783-regulator.c | ||
mc13892-regulator.c | ||
mt6311-regulator.c | ||
mt6311-regulator.h | ||
mt6323-regulator.c | ||
mt6380-regulator.c | ||
mt6397-regulator.c | ||
of_regulator.c | ||
palmas-regulator.c | ||
pbias-regulator.c | ||
pcap-regulator.c | ||
pcf50633-regulator.c | ||
pfuze100-regulator.c | ||
pv88060-regulator.c | ||
pv88060-regulator.h | ||
pv88080-regulator.c | ||
pv88080-regulator.h | ||
pv88090-regulator.c | ||
pv88090-regulator.h | ||
pwm-regulator.c | ||
qcom_rpm-regulator.c | ||
qcom_smd-regulator.c | ||
qcom_spmi-regulator.c | ||
rc5t583-regulator.c | ||
rk808-regulator.c | ||
rn5t618-regulator.c | ||
rt5033-regulator.c | ||
s2mpa01.c | ||
s2mps11.c | ||
s5m8767.c | ||
sc2731-regulator.c | ||
sky81452-regulator.c | ||
stm32-vrefbuf.c | ||
stw481x-vmmc.c | ||
ti-abb-regulator.c | ||
tps6105x-regulator.c | ||
tps6507x-regulator.c | ||
tps6524x-regulator.c | ||
tps6586x-regulator.c | ||
tps51632-regulator.c | ||
tps62360-regulator.c | ||
tps65023-regulator.c | ||
tps65086-regulator.c | ||
tps65090-regulator.c | ||
tps65132-regulator.c | ||
tps65217-regulator.c | ||
tps65218-regulator.c | ||
tps65910-regulator.c | ||
tps65912-regulator.c | ||
tps80031-regulator.c | ||
twl-regulator.c | ||
twl6030-regulator.c | ||
userspace-consumer.c | ||
vctrl-regulator.c | ||
vexpress-regulator.c | ||
virtual.c | ||
wm831x-dcdc.c | ||
wm831x-isink.c | ||
wm831x-ldo.c | ||
wm8350-regulator.c | ||
wm8400-regulator.c | ||
wm8994-regulator.c |