Commit 69050f8
committed
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from
scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to
avoid scalar types (which need careful case-by-case checking), and
instead replace kmalloc-family calls that allocate struct or union
object instances:
Single allocations: kmalloc(sizeof(TYPE), ...)
are replaced with: kmalloc_obj(TYPE, ...)
Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...)
are replaced with: kmalloc_objs(TYPE, COUNT, ...)
Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...)
are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...)
(where TYPE may also be *VAR)
The resulting allocations no longer return "void *", instead returning
"TYPE *".
Signed-off-by: Kees Cook <kees@kernel.org>1 parent d39a1d7 commit 69050f8
8,016 files changed
Lines changed: 20055 additions & 20913 deletions
File tree
- arch
- alpha/kernel
- arc
- kernel
- net
- arm64
- kernel
- kvm
- vgic
- net
- arm
- common
- kernel
- mach-footbridge
- mach-imx
- mach-mvebu
- mach-mxs
- mach-omap1
- mach-omap2
- mach-orion5x
- mach-rpc
- mach-sa1100
- mach-shmobile
- mach-versatile
- mach-zynq
- mm
- probes/kprobes
- xen
- csky/kernel
- loongarch
- kernel
- kvm
- intc
- net
- pci
- m68k
- amiga
- atari
- emu
- mm
- mips
- alchemy
- common
- devboards
- bcm47xx
- cavium-octeon
- kernel
- lantiq
- falcon
- xway
- loongson64
- pci
- ralink
- sgi-ip22
- sgi-ip27
- sgi-ip30
- txx9/generic
- nios2/platform
- parisc
- kernel
- net
- powerpc
- kernel
- kvm
- lib
- mm
- book3s64
- net
- perf
- platforms
- 44x
- 83xx
- book3s
- cell
- spufs
- pasemi
- powermac
- powernv
- ps3
- pseries
- sysdev
- xics
- xive
- riscv
- kernel
- tests/kprobes
- kvm
- net
- s390
- appldata
- hypfs
- include/asm
- kernel
- kvm
- mm
- net
- pci
- sh
- drivers
- dma
- pci
- kernel
- cpu/sh4
- sparc
- kernel
- mm
- net
- vdso
- um
- drivers
- kernel
- x86
- coco/sev
- events
- amd
- intel
- hyperv
- kernel
- apic
- cpu
- mce
- microcode
- mtrr
- sgx
- kvm
- mmu
- svm
- vmx
- mm
- pat
- net
- pci
- platform
- efi
- geode
- power
- virt
- svm
- vmx/tdx
- xen
- xtensa
- kernel
- platforms/iss
- block
- partitions
- certs
- crypto
- asymmetric_keys
- drivers
- accel
- amdxdna
- ethosu
- habanalabs
- common
- mmu
- gaudi2
- gaudi
- goya
- ivpu
- qaic
- rocket
- accessibility/speakup
- acpi
- apei
- arm64
- nfit
- numa
- riscv
- x86
- amba
- android
- binder
- ata
- pata_parport
- atm
- auxdisplay
- base
- firmware_loader
- power
- regmap
- bcma
- block
- aoe
- drbd
- null_blk
- rnbd
- xen-blkback
- zram
- bluetooth
- bus
- fsl-mc
- mhi
- ep
- host
- cdrom
- cdx
- controller
- char
- agp
- hw_random
- ipmi
- tpm
- xillybus
- clk
- aspeed
- at91
- axis
- axs10x
- baikal-t1
- bcm
- berlin
- davinci
- hisilicon
- imgtec
- imx
- ingenic
- keystone
- mediatek
- meson
- mmp
- mvebu
- mxs
- nxp
- pistachio
- pxa
- qcom
- ralink
- renesas
- rockchip
- samsung
- socfpga
- spacemit
- spear
- sprd
- starfive
- stm32
- st
- sunxi-ng
- sunxi
- tegra
- ti
- ux500
- versatile
- visconti
- zynqmp
- zynq
- clocksource
- comedi
- drivers
- connector
- counter
- cpufreq
- cpuidle
- crypto
- amcc
- bcm
- caam
- cavium
- cpt
- nitrox
- ccp
- ccree
- chelsio
- hisilicon
- sec2
- sec
- zip
- inside-secure
- eip93
- intel
- iaa
- keembay
- qat/qat_common
- marvell
- octeontx2
- octeontx
- nx
- qce
- stm32
- tegra
- virtio
- cxl
- core
- dax
- dca
- devfreq
- dibs
- dio
- dma-buf
- heaps
- dma
- amd/qdma
- bestcomm
- dw-axi-dmac
- dw-edma
- dw
- fsl-dpaa2-qdma
- hsu
- idxd
- ioat
- lgm
- mediatek
- ppc4xx
- qcom
- sf-pdma
- sh
- stm32
- ti
- xilinx
- dpll
- zl3073x
- edac
- eisa
- extcon
- firewire
- firmware
- arm_ffa
- arm_scmi
- cirrus
- efi
- test
- google
- microchip
- psci
- qcom
- smccc
- xilinx
- fpga
- fsi
- fwctl
- mlx5
- pds
- gnss
- gpib
- agilent_82350b
- agilent_82357a
- cb7210
- cec
- common
- eastwood
- fmh_gpib
- gpio
- hp_82335
- hp_82341
- ines
- lpvo_usb_gpib
- ni_usb
- pc2
- tnt4882
- gpio
- gpu
- drm
- amd
- amdgpu
- amdkfd
- display
- amdgpu_dm
- dc
- basics
- bios
- clk_mgr
- dcn30
- dcn32
- dcn401
- core
- dccg
- dcn201
- dcn20
- dcn21
- dcn301
- dcn30
- dcn314
- dcn31
- dcn32
- dcn35
- dcn401
- dce110
- dce112
- dce
- dio/virtual
- dwb/dcn30
- gpio
- hwss/dcn10
- irq
- dce110
- dce120
- dce60
- dce80
- dcn10
- dcn201
- dcn20
- dcn21
- dcn302
- dcn303
- dcn30
- dcn314
- dcn315
- dcn31
- dcn32
- dcn351
- dcn35
- dcn36
- dcn401
- link
- protocols
- pg/dcn35
- resource
- dce100
- dce110
- dce112
- dce120
- dce60
- dce80
- dcn10
- dcn201
- dcn20
- dcn21
- dcn301
- dcn302
- dcn303
- dcn30
- dcn314
- dcn315
- dcn316
- dcn31
- dcn321
- dcn32
- dcn351
- dcn35
- dcn36
- dcn401
- soc_and_ip_translator
- modules
- color
- freesync
- vmid
- pm
- legacy-dpm
- powerplay
- hwmgr
- smumgr
- swsmu
- smu11
- smu12
- smu13
- smu14
- smu15
- ras
- ras_mgr
- rascore
- armada
- arm
- display/komeda
- ast
- atmel-hlcdc
- bridge
- cadence
- imx
- synopsys
- clients
- display
- exynos
- fsl-dcu
- gma500
- gud
- i915
- display
- gem
- selftests
- gt
- uc
- gvt
- pxp
- selftests
- imagination
- imx
- dcss
- ipuv3
- ingenic
- kmb
- lima
- loongson
- mediatek
- mgag200
- msm
- adreno
- disp
- dpu1
- mdp5
- dp
- hdmi
- mxsfb
- nouveau
- dispnv04
- i2c
- dispnv50
- nvif
- nvkm
- core
- engine
- device
- disp
- dma
- fifo
- gr
- mpeg
- nvdec
- nvenc
- sec2
- sw
- falcon
- subdev
- acr
- bar
- bios
- bus
- clk
- devinit
- fault
- fb
- fsp
- fuse
- gpio
- gsp
- rm
- r535
- i2c
- iccsense
- instmem
- ltc
- mc
- mmu
- mxm
- pci
- pmu
- therm
- timer
- top
- vfn
- volt
- omapdrm
- dss
- panfrost
- panthor
- qxl
- radeon
- renesas
- rcar-du
- rz-du
- shmobile
- rockchip
- scheduler
- sitronix
- solomon
- sti
- sun4i
- sysfb
- tegra
- tests
- tidss
- tilcdc
- tiny
- ttm
- tests
- udl
- v3d
- vboxvideo
- vc4
- vgem
- virtio
- vkms
- vmwgfx
- xen
- xe
- display
- tests
- xlnx
- host1x
- ipu-v3
- vga
- greybus
- hid
- amd-sfh-hid
- bpf
- intel-ish-hid
- ishtp
- usbhid
- hsi
- clients
- hte
- hv
- hwmon
- hwtracing
- coresight
- intel_th
- ptt
- stm
- i2c
- busses
- i3c
- master
- mipi-i3c-hci
- iio
- adc
- buffer
- common/ssp_sensors
- dac
- dummy
- imu
- trigger
- infiniband
- core
- hw
- bng_re
- bnxt_re
- cxgb4
- efa
- erdma
- hfi1
- hns
- ionic
- irdma
- mana
- mlx4
- mlx5
- mthca
- ocrdma
- qedr
- usnic
- vmw_pvrdma
- sw
- rdmavt
- rxe
- siw
- ulp
- ipoib
- isert
- iser
- opa_vnic
- rtrs
- srpt
- srp
- input
- gameport
- joystick
- iforce
- keyboard
- misc
- mouse
- rmi4
- serio
- tablet
- touchscreen
- interconnect
- qcom
- iommu
- amd
- arm
- arm-smmu-v3
- arm-smmu
- intel
- iommufd
- riscv
- ipack
- carriers
- devices
- irqchip
Some content is hidden
Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
861 | 861 | | |
862 | 862 | | |
863 | 863 | | |
864 | | - | |
| 864 | + | |
865 | 865 | | |
866 | 866 | | |
867 | 867 | | |
| |||
1059 | 1059 | | |
1060 | 1060 | | |
1061 | 1061 | | |
1062 | | - | |
| 1062 | + | |
1063 | 1063 | | |
1064 | 1064 | | |
1065 | 1065 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
594 | 594 | | |
595 | 595 | | |
596 | 596 | | |
597 | | - | |
| 597 | + | |
598 | 598 | | |
599 | 599 | | |
600 | 600 | | |
| |||
760 | 760 | | |
761 | 761 | | |
762 | 762 | | |
763 | | - | |
| 763 | + | |
764 | 764 | | |
765 | 765 | | |
766 | 766 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
49 | | - | |
| 49 | + | |
50 | 50 | | |
51 | 51 | | |
52 | 52 | | |
| |||
93 | 93 | | |
94 | 94 | | |
95 | 95 | | |
96 | | - | |
| 96 | + | |
97 | 97 | | |
98 | 98 | | |
99 | 99 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
220 | 220 | | |
221 | 221 | | |
222 | 222 | | |
223 | | - | |
| 223 | + | |
224 | 224 | | |
225 | 225 | | |
226 | 226 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
392 | 392 | | |
393 | 393 | | |
394 | 394 | | |
395 | | - | |
| 395 | + | |
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
366 | 366 | | |
367 | 367 | | |
368 | 368 | | |
369 | | - | |
| 369 | + | |
370 | 370 | | |
371 | 371 | | |
372 | 372 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1140 | 1140 | | |
1141 | 1141 | | |
1142 | 1142 | | |
1143 | | - | |
| 1143 | + | |
1144 | 1144 | | |
1145 | 1145 | | |
1146 | 1146 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
222 | 222 | | |
223 | 223 | | |
224 | 224 | | |
225 | | - | |
| 225 | + | |
226 | 226 | | |
227 | 227 | | |
228 | 228 | | |
| |||
277 | 277 | | |
278 | 278 | | |
279 | 279 | | |
280 | | - | |
| 280 | + | |
281 | 281 | | |
282 | 282 | | |
283 | 283 | | |
| |||
360 | 360 | | |
361 | 361 | | |
362 | 362 | | |
363 | | - | |
| 363 | + | |
364 | 364 | | |
365 | 365 | | |
366 | 366 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
737 | 737 | | |
738 | 738 | | |
739 | 739 | | |
740 | | - | |
| 740 | + | |
741 | 741 | | |
742 | 742 | | |
743 | 743 | | |
| |||
969 | 969 | | |
970 | 970 | | |
971 | 971 | | |
972 | | - | |
| 972 | + | |
973 | 973 | | |
974 | 974 | | |
975 | 975 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
185 | 185 | | |
186 | 186 | | |
187 | 187 | | |
188 | | - | |
| 188 | + | |
189 | 189 | | |
190 | 190 | | |
191 | 191 | | |
| |||
0 commit comments