summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorKees Cook <kees@kernel.org>2026-02-20 23:49:23 -0800
committerKees Cook <kees@kernel.org>2026-02-21 01:02:28 -0800
commit69050f8d6d075dc01af7a5f2f550a8067510366f (patch)
treebb265f94d9dfa7876c06a5d9f88673d496a15341 /arch
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
downloadlwn-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.gz
lwn-69050f8d6d075dc01af7a5f2f550a8067510366f.zip
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>
Diffstat (limited to 'arch')
-rw-r--r--arch/alpha/kernel/core_marvel.c4
-rw-r--r--arch/alpha/kernel/core_titan.c4
-rw-r--r--arch/alpha/kernel/module.c4
-rw-r--r--arch/alpha/kernel/pci.c2
-rw-r--r--arch/alpha/kernel/setup.c2
-rw-r--r--arch/arc/kernel/unwind.c2
-rw-r--r--arch/arc/net/bpf_jit_core.c2
-rw-r--r--arch/arm/common/locomo.c6
-rw-r--r--arch/arm/common/sa1111.c4
-rw-r--r--arch/arm/common/scoop.c2
-rw-r--r--arch/arm/kernel/atags_proc.c2
-rw-r--r--arch/arm/kernel/smp.c2
-rw-r--r--arch/arm/kernel/sys_oabi-compat.c2
-rw-r--r--arch/arm/kernel/unwind.c2
-rw-r--r--arch/arm/kernel/vdso.c3
-rw-r--r--arch/arm/mach-footbridge/dc21285.c2
-rw-r--r--arch/arm/mach-footbridge/ebsa285.c2
-rw-r--r--arch/arm/mach-footbridge/netwinder-hw.c2
-rw-r--r--arch/arm/mach-imx/mmdc.c2
-rw-r--r--arch/arm/mach-mvebu/board-v7.c2
-rw-r--r--arch/arm/mach-mvebu/coherency.c2
-rw-r--r--arch/arm/mach-mvebu/mvebu-soc-id.c2
-rw-r--r--arch/arm/mach-mxs/mach-mxs.c2
-rw-r--r--arch/arm/mach-omap1/dma.c2
-rw-r--r--arch/arm/mach-omap1/mcbsp.c4
-rw-r--r--arch/arm/mach-omap1/timer.c2
-rw-r--r--arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c2
-rw-r--r--arch/arm/mach-omap2/id.c2
-rw-r--r--arch/arm/mach-omap2/omap-iommu.c2
-rw-r--r--arch/arm/mach-omap2/omap_device.c4
-rw-r--r--arch/arm/mach-omap2/omap_hwmod.c8
-rw-r--r--arch/arm/mach-omap2/pm33xx-core.c2
-rw-r--r--arch/arm/mach-omap2/pm34xx.c2
-rw-r--r--arch/arm/mach-omap2/pm44xx.c2
-rw-r--r--arch/arm/mach-omap2/sr_device.c2
-rw-r--r--arch/arm/mach-orion5x/pci.c4
-rw-r--r--arch/arm/mach-rpc/ecard.c2
-rw-r--r--arch/arm/mach-sa1100/clock.c4
-rw-r--r--arch/arm/mach-sa1100/generic.c2
-rw-r--r--arch/arm/mach-sa1100/neponset.c2
-rw-r--r--arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c2
-rw-r--r--arch/arm/mach-versatile/spc.c6
-rw-r--r--arch/arm/mach-versatile/versatile.c2
-rw-r--r--arch/arm/mach-zynq/common.c2
-rw-r--r--arch/arm/mm/cache-l2x0-pmu.c2
-rw-r--r--arch/arm/mm/cache-uniphier.c2
-rw-r--r--arch/arm/mm/dma-mapping.c6
-rw-r--r--arch/arm/mm/pgd.c2
-rw-r--r--arch/arm/probes/kprobes/test-core.c5
-rw-r--r--arch/arm/xen/enlighten.c4
-rw-r--r--arch/arm/xen/p2m.c2
-rw-r--r--arch/arm64/kernel/machine_kexec_file.c2
-rw-r--r--arch/arm64/kernel/vdso.c5
-rw-r--r--arch/arm64/kvm/arm.c4
-rw-r--r--arch/arm64/kvm/mmu.c9
-rw-r--r--arch/arm64/kvm/nested.c8
-rw-r--r--arch/arm64/kvm/pmu-emul.c2
-rw-r--r--arch/arm64/kvm/ptdump.c2
-rw-r--r--arch/arm64/kvm/vgic/vgic-debug.c4
-rw-r--r--arch/arm64/kvm/vgic/vgic-init.c10
-rw-r--r--arch/arm64/kvm/vgic/vgic-irqfd.c2
-rw-r--r--arch/arm64/kvm/vgic/vgic-its.c10
-rw-r--r--arch/arm64/kvm/vgic/vgic-mmio-v3.c2
-rw-r--r--arch/arm64/kvm/vgic/vgic-v4.c4
-rw-r--r--arch/arm64/net/bpf_jit_comp.c4
-rw-r--r--arch/csky/kernel/vdso.c2
-rw-r--r--arch/loongarch/kernel/machine_kexec_file.c2
-rw-r--r--arch/loongarch/kernel/setup.c2
-rw-r--r--arch/loongarch/kernel/vdso.c3
-rw-r--r--arch/loongarch/kvm/intc/eiointc.c2
-rw-r--r--arch/loongarch/kvm/intc/ipi.c2
-rw-r--r--arch/loongarch/kvm/intc/pch_pic.c4
-rw-r--r--arch/loongarch/kvm/main.c2
-rw-r--r--arch/loongarch/kvm/vcpu.c2
-rw-r--r--arch/loongarch/kvm/vm.c3
-rw-r--r--arch/loongarch/net/bpf_jit.c2
-rw-r--r--arch/loongarch/pci/acpi.c6
-rw-r--r--arch/m68k/amiga/chipram.c2
-rw-r--r--arch/m68k/atari/stram.c2
-rw-r--r--arch/m68k/emu/nfblock.c2
-rw-r--r--arch/m68k/mm/kmap.c2
-rw-r--r--arch/mips/alchemy/common/clock.c8
-rw-r--r--arch/mips/alchemy/common/dbdma.c8
-rw-r--r--arch/mips/alchemy/common/platform.c4
-rw-r--r--arch/mips/alchemy/devboards/platform.c8
-rw-r--r--arch/mips/bcm47xx/setup.c2
-rw-r--r--arch/mips/cavium-octeon/octeon-irq.c10
-rw-r--r--arch/mips/kernel/module.c2
-rw-r--r--arch/mips/kernel/smp-cps.c14
-rw-r--r--arch/mips/kernel/vpe.c6
-rw-r--r--arch/mips/lantiq/falcon/sysctrl.c2
-rw-r--r--arch/mips/lantiq/xway/gptu.c2
-rw-r--r--arch/mips/lantiq/xway/sysctrl.c10
-rw-r--r--arch/mips/loongson64/init.c2
-rw-r--r--arch/mips/pci/pci-alchemy.c2
-rw-r--r--arch/mips/pci/pci-xtalk-bridge.c2
-rw-r--r--arch/mips/ralink/mt7620.c2
-rw-r--r--arch/mips/ralink/mt7621.c2
-rw-r--r--arch/mips/ralink/rt288x.c2
-rw-r--r--arch/mips/ralink/rt305x.c2
-rw-r--r--arch/mips/ralink/rt3883.c2
-rw-r--r--arch/mips/sgi-ip22/ip22-gio.c2
-rw-r--r--arch/mips/sgi-ip27/ip27-irq.c2
-rw-r--r--arch/mips/sgi-ip27/ip27-xtalk.c4
-rw-r--r--arch/mips/sgi-ip30/ip30-irq.c2
-rw-r--r--arch/mips/sgi-ip30/ip30-xtalk.c4
-rw-r--r--arch/mips/txx9/generic/pci.c2
-rw-r--r--arch/mips/txx9/generic/setup.c4
-rw-r--r--arch/nios2/platform/platform.c2
-rw-r--r--arch/parisc/kernel/drivers.c2
-rw-r--r--arch/parisc/kernel/inventory.c4
-rw-r--r--arch/parisc/kernel/processor.c2
-rw-r--r--arch/parisc/kernel/unwind.c4
-rw-r--r--arch/parisc/kernel/vdso.c2
-rw-r--r--arch/parisc/net/bpf_jit_core.c4
-rw-r--r--arch/powerpc/kernel/cacheinfo.c6
-rw-r--r--arch/powerpc/kernel/eeh_cache.c2
-rw-r--r--arch/powerpc/kernel/eeh_event.c2
-rw-r--r--arch/powerpc/kernel/nvram_64.c4
-rw-r--r--arch/powerpc/kernel/pci-common.c8
-rw-r--r--arch/powerpc/kernel/pci_dn.c6
-rw-r--r--arch/powerpc/kernel/secvar-sysfs.c2
-rw-r--r--arch/powerpc/kernel/smp-tbsync.c2
-rw-r--r--arch/powerpc/kernel/smp.c2
-rw-r--r--arch/powerpc/kernel/vdso.c2
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu_hv.c6
-rw-r--r--arch/powerpc/kvm/book3s_64_mmu_radix.c2
-rw-r--r--arch/powerpc/kvm/book3s_64_vio.c4
-rw-r--r--arch/powerpc/kvm/book3s_hv.c8
-rw-r--r--arch/powerpc/kvm/book3s_hv_nested.c4
-rw-r--r--arch/powerpc/kvm/book3s_hv_uvmem.c4
-rw-r--r--arch/powerpc/kvm/book3s_pr.c4
-rw-r--r--arch/powerpc/kvm/book3s_rtas.c2
-rw-r--r--arch/powerpc/kvm/book3s_xics.c6
-rw-r--r--arch/powerpc/kvm/book3s_xive.c6
-rw-r--r--arch/powerpc/kvm/book3s_xive_native.c2
-rw-r--r--arch/powerpc/kvm/e500.c2
-rw-r--r--arch/powerpc/kvm/e500_mmu.c25
-rw-r--r--arch/powerpc/kvm/guest-state-buffer.c4
-rw-r--r--arch/powerpc/kvm/mpic.c4
-rw-r--r--arch/powerpc/lib/rheap.c4
-rw-r--r--arch/powerpc/mm/book3s64/iommu_api.c2
-rw-r--r--arch/powerpc/mm/book3s64/mmu_context.c8
-rw-r--r--arch/powerpc/mm/book3s64/subpage_prot.c2
-rw-r--r--arch/powerpc/mm/drmem.c8
-rw-r--r--arch/powerpc/mm/mem.c2
-rw-r--r--arch/powerpc/net/bpf_jit_comp.c2
-rw-r--r--arch/powerpc/perf/hv-24x7.c13
-rw-r--r--arch/powerpc/perf/hv-gpci.c2
-rw-r--r--arch/powerpc/perf/imc-pmu.c30
-rw-r--r--arch/powerpc/perf/vpa-dtl.c2
-rw-r--r--arch/powerpc/platforms/44x/hsta_msi.c3
-rw-r--r--arch/powerpc/platforms/44x/pci.c3
-rw-r--r--arch/powerpc/platforms/44x/uic.c2
-rw-r--r--arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c2
-rw-r--r--arch/powerpc/platforms/book3s/vas-api.c2
-rw-r--r--arch/powerpc/platforms/cell/spu_base.c2
-rw-r--r--arch/powerpc/platforms/cell/spufs/context.c2
-rw-r--r--arch/powerpc/platforms/cell/spufs/file.c6
-rw-r--r--arch/powerpc/platforms/cell/spufs/gang.c2
-rw-r--r--arch/powerpc/platforms/cell/spufs/inode.c4
-rw-r--r--arch/powerpc/platforms/cell/spufs/sched.c2
-rw-r--r--arch/powerpc/platforms/pasemi/gpio_mdio.c2
-rw-r--r--arch/powerpc/platforms/powermac/low_i2c.c6
-rw-r--r--arch/powerpc/platforms/powermac/pfunc_core.c4
-rw-r--r--arch/powerpc/platforms/powernv/idle.c4
-rw-r--r--arch/powerpc/platforms/powernv/memtrace.c4
-rw-r--r--arch/powerpc/platforms/powernv/ocxl.c4
-rw-r--r--arch/powerpc/platforms/powernv/opal-async.c4
-rw-r--r--arch/powerpc/platforms/powernv/opal-core.c4
-rw-r--r--arch/powerpc/platforms/powernv/opal-dump.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-elog.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-hmi.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-imc.c6
-rw-r--r--arch/powerpc/platforms/powernv/opal-irqchip.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-lpc.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-memory-errors.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-powercap.c11
-rw-r--r--arch/powerpc/platforms/powernv/opal-psr.c4
-rw-r--r--arch/powerpc/platforms/powernv/opal-sensor-groups.c11
-rw-r--r--arch/powerpc/platforms/powernv/opal-sysparam.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal-xscom.c2
-rw-r--r--arch/powerpc/platforms/powernv/opal.c4
-rw-r--r--arch/powerpc/platforms/powernv/pci-ioda.c2
-rw-r--r--arch/powerpc/platforms/powernv/pci-sriov.c2
-rw-r--r--arch/powerpc/platforms/powernv/rng.c2
-rw-r--r--arch/powerpc/platforms/powernv/vas-window.c2
-rw-r--r--arch/powerpc/platforms/powernv/vas.c2
-rw-r--r--arch/powerpc/platforms/ps3/device-init.c18
-rw-r--r--arch/powerpc/platforms/ps3/mm.c4
-rw-r--r--arch/powerpc/platforms/ps3/spu.c3
-rw-r--r--arch/powerpc/platforms/pseries/dlpar.c6
-rw-r--r--arch/powerpc/platforms/pseries/hotplug-memory.c2
-rw-r--r--arch/powerpc/platforms/pseries/hvcserver.c4
-rw-r--r--arch/powerpc/platforms/pseries/iommu.c14
-rw-r--r--arch/powerpc/platforms/pseries/lparcfg.c2
-rw-r--r--arch/powerpc/platforms/pseries/mobility.c2
-rw-r--r--arch/powerpc/platforms/pseries/msi.c2
-rw-r--r--arch/powerpc/platforms/pseries/papr-hvpipe.c4
-rw-r--r--arch/powerpc/platforms/pseries/papr-phy-attest.c2
-rw-r--r--arch/powerpc/platforms/pseries/papr-platform-dump.c4
-rw-r--r--arch/powerpc/platforms/pseries/papr-rtas-common.c2
-rw-r--r--arch/powerpc/platforms/pseries/papr-sysparm.c2
-rw-r--r--arch/powerpc/platforms/pseries/papr_platform_attributes.c8
-rw-r--r--arch/powerpc/platforms/pseries/papr_scm.c4
-rw-r--r--arch/powerpc/platforms/pseries/pci.c4
-rw-r--r--arch/powerpc/platforms/pseries/reconfig.c4
-rw-r--r--arch/powerpc/platforms/pseries/vas-sysfs.c2
-rw-r--r--arch/powerpc/platforms/pseries/vas.c4
-rw-r--r--arch/powerpc/platforms/pseries/vio.c7
-rw-r--r--arch/powerpc/sysdev/ehv_pic.c2
-rw-r--r--arch/powerpc/sysdev/fsl_gtm.c2
-rw-r--r--arch/powerpc/sysdev/fsl_lbc.c4
-rw-r--r--arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c2
-rw-r--r--arch/powerpc/sysdev/fsl_msi.c4
-rw-r--r--arch/powerpc/sysdev/fsl_pci.c2
-rw-r--r--arch/powerpc/sysdev/fsl_rio.c10
-rw-r--r--arch/powerpc/sysdev/fsl_rmu.c2
-rw-r--r--arch/powerpc/sysdev/ipic.c2
-rw-r--r--arch/powerpc/sysdev/mpic.c9
-rw-r--r--arch/powerpc/sysdev/mpic_msgr.c6
-rw-r--r--arch/powerpc/sysdev/mpic_timer.c2
-rw-r--r--arch/powerpc/sysdev/of_rtc.c2
-rw-r--r--arch/powerpc/sysdev/xics/ics-native.c2
-rw-r--r--arch/powerpc/sysdev/xive/common.c5
-rw-r--r--arch/powerpc/sysdev/xive/spapr.c2
-rw-r--r--arch/riscv/kernel/hibernate.c2
-rw-r--r--arch/riscv/kernel/machine_kexec_file.c2
-rw-r--r--arch/riscv/kernel/module.c11
-rw-r--r--arch/riscv/kernel/tests/kprobes/test-kprobes.c2
-rw-r--r--arch/riscv/kernel/unaligned_access_speed.c2
-rw-r--r--arch/riscv/kernel/vdso.c5
-rw-r--r--arch/riscv/kvm/aia_aplic.c5
-rw-r--r--arch/riscv/kvm/aia_imsic.c2
-rw-r--r--arch/riscv/kvm/vcpu_sbi_fwft.c4
-rw-r--r--arch/riscv/kvm/vm.c2
-rw-r--r--arch/riscv/net/bpf_jit_comp64.c2
-rw-r--r--arch/riscv/net/bpf_jit_core.c4
-rw-r--r--arch/s390/appldata/appldata_base.c4
-rw-r--r--arch/s390/appldata/appldata_mem.c2
-rw-r--r--arch/s390/appldata/appldata_net_sum.c2
-rw-r--r--arch/s390/hypfs/hypfs_dbfs.c2
-rw-r--r--arch/s390/hypfs/hypfs_diag0c.c7
-rw-r--r--arch/s390/hypfs/hypfs_sprp.c2
-rw-r--r--arch/s390/hypfs/inode.c2
-rw-r--r--arch/s390/include/asm/idals.h6
-rw-r--r--arch/s390/kernel/cert_store.c2
-rw-r--r--arch/s390/kernel/debug.c15
-rw-r--r--arch/s390/kernel/guarded_storage.c4
-rw-r--r--arch/s390/kernel/irq.c2
-rw-r--r--arch/s390/kernel/os_info.c2
-rw-r--r--arch/s390/kernel/perf_cpum_cf.c4
-rw-r--r--arch/s390/kernel/perf_cpum_cf_events.c2
-rw-r--r--arch/s390/kernel/perf_cpum_sf.c2
-rw-r--r--arch/s390/kernel/perf_pai.c14
-rw-r--r--arch/s390/kernel/ptrace.c6
-rw-r--r--arch/s390/kernel/runtime_instr.c2
-rw-r--r--arch/s390/kernel/smp.c2
-rw-r--r--arch/s390/kernel/vdso.c2
-rw-r--r--arch/s390/kvm/dat.c2
-rw-r--r--arch/s390/kvm/dat.h4
-rw-r--r--arch/s390/kvm/gmap.c4
-rw-r--r--arch/s390/kvm/guestdbg.c8
-rw-r--r--arch/s390/kvm/interrupt.c8
-rw-r--r--arch/s390/kvm/kvm-s390.c6
-rw-r--r--arch/s390/kvm/pci.c10
-rw-r--r--arch/s390/kvm/pv.c2
-rw-r--r--arch/s390/mm/extmem.c8
-rw-r--r--arch/s390/net/bpf_jit_comp.c2
-rw-r--r--arch/s390/pci/pci.c8
-rw-r--r--arch/s390/pci/pci_bus.c2
-rw-r--r--arch/s390/pci/pci_irq.c5
-rw-r--r--arch/sh/drivers/dma/dmabrg.c3
-rw-r--r--arch/sh/drivers/heartbeat.c2
-rw-r--r--arch/sh/drivers/pci/pcie-sh7786.c4
-rw-r--r--arch/sh/drivers/push-switch.c2
-rw-r--r--arch/sh/kernel/cpu/sh4/sq.c2
-rw-r--r--arch/sh/kernel/dwarf.c4
-rw-r--r--arch/sparc/kernel/central.c4
-rw-r--r--arch/sparc/kernel/chmc.c4
-rw-r--r--arch/sparc/kernel/cpumap.c2
-rw-r--r--arch/sparc/kernel/ds.c2
-rw-r--r--arch/sparc/kernel/ioport.c2
-rw-r--r--arch/sparc/kernel/irq_64.c4
-rw-r--r--arch/sparc/kernel/ldc.c2
-rw-r--r--arch/sparc/kernel/leon_pci_grpci2.c2
-rw-r--r--arch/sparc/kernel/of_device_32.c2
-rw-r--r--arch/sparc/kernel/of_device_64.c2
-rw-r--r--arch/sparc/kernel/pci.c2
-rw-r--r--arch/sparc/kernel/pci_common.c2
-rw-r--r--arch/sparc/kernel/pci_fire.c4
-rw-r--r--arch/sparc/kernel/pci_psycho.c4
-rw-r--r--arch/sparc/kernel/pci_sabre.c4
-rw-r--r--arch/sparc/kernel/pci_schizo.c4
-rw-r--r--arch/sparc/kernel/pci_sun4v.c8
-rw-r--r--arch/sparc/kernel/pcic.c2
-rw-r--r--arch/sparc/kernel/sbus.c4
-rw-r--r--arch/sparc/kernel/setup_32.c2
-rw-r--r--arch/sparc/kernel/smp_64.c4
-rw-r--r--arch/sparc/kernel/starfire.c2
-rw-r--r--arch/sparc/kernel/sun4d_irq.c2
-rw-r--r--arch/sparc/kernel/sun4m_irq.c2
-rw-r--r--arch/sparc/kernel/sys_sparc_64.c9
-rw-r--r--arch/sparc/kernel/vio.c2
-rw-r--r--arch/sparc/mm/init_64.c2
-rw-r--r--arch/sparc/mm/io-unit.c2
-rw-r--r--arch/sparc/mm/iommu.c2
-rw-r--r--arch/sparc/net/bpf_jit_comp_64.c2
-rw-r--r--arch/sparc/vdso/vma.c4
-rw-r--r--arch/um/drivers/chan_kern.c2
-rw-r--r--arch/um/drivers/hostaudio_kern.c4
-rw-r--r--arch/um/drivers/line.c2
-rw-r--r--arch/um/drivers/mconsole_kern.c2
-rw-r--r--arch/um/drivers/port_kern.c6
-rw-r--r--arch/um/drivers/ubd_kern.c12
-rw-r--r--arch/um/drivers/vector_kern.c18
-rw-r--r--arch/um/drivers/vector_transports.c5
-rw-r--r--arch/um/drivers/vfio_kern.c9
-rw-r--r--arch/um/drivers/virtio_pcidev.c2
-rw-r--r--arch/um/drivers/virtio_uml.c4
-rw-r--r--arch/um/drivers/xterm_kern.c2
-rw-r--r--arch/um/kernel/irq.c2
-rw-r--r--arch/x86/coco/sev/core.c6
-rw-r--r--arch/x86/events/amd/iommu.c4
-rw-r--r--arch/x86/events/amd/uncore.c4
-rw-r--r--arch/x86/events/core.c2
-rw-r--r--arch/x86/events/intel/core.c5
-rw-r--r--arch/x86/events/intel/uncore.c7
-rw-r--r--arch/x86/events/intel/uncore_discovery.c11
-rw-r--r--arch/x86/events/intel/uncore_snbep.c13
-rw-r--r--arch/x86/events/rapl.c4
-rw-r--r--arch/x86/hyperv/hv_init.c5
-rw-r--r--arch/x86/hyperv/irqdomain.c2
-rw-r--r--arch/x86/hyperv/ivm.c4
-rw-r--r--arch/x86/kernel/alternative.c2
-rw-r--r--arch/x86/kernel/amd_nb.c3
-rw-r--r--arch/x86/kernel/amd_node.c2
-rw-r--r--arch/x86/kernel/apic/io_apic.c2
-rw-r--r--arch/x86/kernel/apm_32.c2
-rw-r--r--arch/x86/kernel/cpu/amd_cache_disable.c2
-rw-r--r--arch/x86/kernel/cpu/mce/amd.c6
-rw-r--r--arch/x86/kernel/cpu/mce/core.c2
-rw-r--r--arch/x86/kernel/cpu/mce/dev-mcelog.c2
-rw-r--r--arch/x86/kernel/cpu/microcode/amd.c2
-rw-r--r--arch/x86/kernel/cpu/mtrr/generic.c2
-rw-r--r--arch/x86/kernel/cpu/mtrr/legacy.c2
-rw-r--r--arch/x86/kernel/cpu/sgx/driver.c2
-rw-r--r--arch/x86/kernel/cpu/sgx/encl.c4
-rw-r--r--arch/x86/kernel/cpu/sgx/ioctl.c2
-rw-r--r--arch/x86/kernel/cpu/sgx/main.c3
-rw-r--r--arch/x86/kernel/cpu/sgx/virt.c2
-rw-r--r--arch/x86/kernel/hpet.c4
-rw-r--r--arch/x86/kernel/ioport.c2
-rw-r--r--arch/x86/kernel/kdebugfs.c2
-rw-r--r--arch/x86/kernel/kexec-bzimage64.c2
-rw-r--r--arch/x86/kernel/ksysfs.c2
-rw-r--r--arch/x86/kernel/kvm.c2
-rw-r--r--arch/x86/kernel/ldt.c2
-rw-r--r--arch/x86/kernel/uprobes.c2
-rw-r--r--arch/x86/kernel/vm86_32.c2
-rw-r--r--arch/x86/kvm/cpuid.c5
-rw-r--r--arch/x86/kvm/hyperv.c2
-rw-r--r--arch/x86/kvm/i8254.c2
-rw-r--r--arch/x86/kvm/i8259.c2
-rw-r--r--arch/x86/kvm/ioapic.c2
-rw-r--r--arch/x86/kvm/lapic.c2
-rw-r--r--arch/x86/kvm/mmu/mmu.c2
-rw-r--r--arch/x86/kvm/svm/nested.c2
-rw-r--r--arch/x86/kvm/svm/sev.c4
-rw-r--r--arch/x86/kvm/vmx/tdx.c10
-rw-r--r--arch/x86/kvm/x86.c10
-rw-r--r--arch/x86/kvm/xen.c7
-rw-r--r--arch/x86/mm/kmmio.c4
-rw-r--r--arch/x86/mm/mmio-mod.c2
-rw-r--r--arch/x86/mm/pat/memtype.c4
-rw-r--r--arch/x86/net/bpf_jit_comp.c4
-rw-r--r--arch/x86/net/bpf_jit_comp32.c2
-rw-r--r--arch/x86/pci/acpi.c2
-rw-r--r--arch/x86/pci/bus_numa.c4
-rw-r--r--arch/x86/pci/common.c2
-rw-r--r--arch/x86/pci/fixup.c2
-rw-r--r--arch/x86/pci/i386.c2
-rw-r--r--arch/x86/pci/mmconfig-shared.c2
-rw-r--r--arch/x86/pci/xen.c2
-rw-r--r--arch/x86/platform/efi/runtime-map.c4
-rw-r--r--arch/x86/platform/geode/geode-common.c4
-rw-r--r--arch/x86/power/cpu.c2
-rw-r--r--arch/x86/virt/svm/sev.c2
-rw-r--r--arch/x86/virt/vmx/tdx/tdx.c2
-rw-r--r--arch/x86/xen/grant-table.c2
-rw-r--r--arch/x86/xen/smp_pv.c2
-rw-r--r--arch/xtensa/kernel/ptrace.c4
-rw-r--r--arch/xtensa/platforms/iss/simdisk.c2
393 files changed, 721 insertions, 756 deletions
diff --git a/arch/alpha/kernel/core_marvel.c b/arch/alpha/kernel/core_marvel.c
index d38f4d6759e4..b5b547732398 100644
--- a/arch/alpha/kernel/core_marvel.c
+++ b/arch/alpha/kernel/core_marvel.c
@@ -861,7 +861,7 @@ marvel_agp_setup(alpha_agp_info *agp)
if (!alpha_agpgart_size)
return -ENOMEM;
- aper = kmalloc(sizeof(*aper), GFP_KERNEL);
+ aper = kmalloc_obj(*aper, GFP_KERNEL);
if (aper == NULL) return -ENOMEM;
aper->arena = agp->hose->sg_pci;
@@ -1059,7 +1059,7 @@ marvel_agp_info(void)
/*
* Allocate the info structure.
*/
- agp = kmalloc(sizeof(*agp), GFP_KERNEL);
+ agp = kmalloc_obj(*agp, GFP_KERNEL);
if (!agp)
return NULL;
diff --git a/arch/alpha/kernel/core_titan.c b/arch/alpha/kernel/core_titan.c
index 77f5d68ed04b..ddaef7b75ba7 100644
--- a/arch/alpha/kernel/core_titan.c
+++ b/arch/alpha/kernel/core_titan.c
@@ -594,7 +594,7 @@ titan_agp_setup(alpha_agp_info *agp)
if (!alpha_agpgart_size)
return -ENOMEM;
- aper = kmalloc(sizeof(struct titan_agp_aperture), GFP_KERNEL);
+ aper = kmalloc_obj(struct titan_agp_aperture, GFP_KERNEL);
if (aper == NULL)
return -ENOMEM;
@@ -760,7 +760,7 @@ titan_agp_info(void)
/*
* Allocate the info structure.
*/
- agp = kmalloc(sizeof(*agp), GFP_KERNEL);
+ agp = kmalloc_obj(*agp, GFP_KERNEL);
if (!agp)
return NULL;
diff --git a/arch/alpha/kernel/module.c b/arch/alpha/kernel/module.c
index cbefa5a77384..6fbc2d179e93 100644
--- a/arch/alpha/kernel/module.c
+++ b/arch/alpha/kernel/module.c
@@ -46,7 +46,7 @@ process_reloc_for_got(Elf64_Rela *rela,
goto found_entry;
}
- g = kmalloc (sizeof (*g), GFP_KERNEL);
+ g = kmalloc_obj(*g, GFP_KERNEL);
g->next = chains[r_sym].next;
g->r_addend = r_addend;
g->got_offset = *poffset;
@@ -93,7 +93,7 @@ module_frob_arch_sections(Elf64_Ehdr *hdr, Elf64_Shdr *sechdrs,
}
nsyms = symtab->sh_size / sizeof(Elf64_Sym);
- chains = kcalloc(nsyms, sizeof(struct got_entry), GFP_KERNEL);
+ chains = kzalloc_objs(struct got_entry, nsyms, GFP_KERNEL);
if (!chains) {
printk(KERN_ERR
"module %s: no memory for symbol chain buffer\n",
diff --git a/arch/alpha/kernel/pci.c b/arch/alpha/kernel/pci.c
index 8e9b4ac86b7e..93eb07018e6b 100644
--- a/arch/alpha/kernel/pci.c
+++ b/arch/alpha/kernel/pci.c
@@ -220,7 +220,7 @@ static void pdev_save_srm_config(struct pci_dev *dev)
printed = 1;
}
- tmp = kmalloc(sizeof(*tmp), GFP_KERNEL);
+ tmp = kmalloc_obj(*tmp, GFP_KERNEL);
if (!tmp) {
printk(KERN_ERR "%s: kmalloc() failed!\n", __func__);
return;
diff --git a/arch/alpha/kernel/setup.c b/arch/alpha/kernel/setup.c
index f0af444a69a4..ea4e7243c0e9 100644
--- a/arch/alpha/kernel/setup.c
+++ b/arch/alpha/kernel/setup.c
@@ -392,7 +392,7 @@ register_cpus(void)
int i;
for_each_possible_cpu(i) {
- struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
+ struct cpu *p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
register_cpu(p, i);
diff --git a/arch/arc/kernel/unwind.c b/arch/arc/kernel/unwind.c
index 789cfb9ea14e..dcdc8bd916db 100644
--- a/arch/arc/kernel/unwind.c
+++ b/arch/arc/kernel/unwind.c
@@ -366,7 +366,7 @@ void *unwind_add_table(struct module *module, const void *table_start,
if (table_size <= 0)
return NULL;
- table = kmalloc(sizeof(*table), GFP_KERNEL);
+ table = kmalloc_obj(*table, GFP_KERNEL);
if (!table)
return NULL;
diff --git a/arch/arc/net/bpf_jit_core.c b/arch/arc/net/bpf_jit_core.c
index e3628922c24a..5695da795536 100644
--- a/arch/arc/net/bpf_jit_core.c
+++ b/arch/arc/net/bpf_jit_core.c
@@ -1140,7 +1140,7 @@ static int jit_prepare_final_mem_alloc(struct jit_context *ctx)
}
if (ctx->need_extra_pass) {
- ctx->jit_data = kzalloc(sizeof(*ctx->jit_data), GFP_KERNEL);
+ ctx->jit_data = kzalloc_obj(*ctx->jit_data, GFP_KERNEL);
if (!ctx->jit_data)
return -ENOMEM;
}
diff --git a/arch/arm/common/locomo.c b/arch/arm/common/locomo.c
index cb6ef449b987..4820b1094dfa 100644
--- a/arch/arm/common/locomo.c
+++ b/arch/arm/common/locomo.c
@@ -222,7 +222,7 @@ locomo_init_one_child(struct locomo *lchip, struct locomo_dev_info *info)
struct locomo_dev *dev;
int ret;
- dev = kzalloc(sizeof(struct locomo_dev), GFP_KERNEL);
+ dev = kzalloc_obj(struct locomo_dev, GFP_KERNEL);
if (!dev) {
ret = -ENOMEM;
goto out;
@@ -277,7 +277,7 @@ static int locomo_suspend(struct platform_device *dev, pm_message_t state)
struct locomo_save_data *save;
unsigned long flags;
- save = kmalloc(sizeof(struct locomo_save_data), GFP_KERNEL);
+ save = kmalloc_obj(struct locomo_save_data, GFP_KERNEL);
if (!save)
return -ENOMEM;
@@ -360,7 +360,7 @@ __locomo_probe(struct device *me, struct resource *mem, int irq)
unsigned long r;
int i, ret = -ENODEV;
- lchip = kzalloc(sizeof(struct locomo), GFP_KERNEL);
+ lchip = kzalloc_obj(struct locomo, GFP_KERNEL);
if (!lchip)
return -ENOMEM;
diff --git a/arch/arm/common/sa1111.c b/arch/arm/common/sa1111.c
index 04ff75dcc20e..8bd217789439 100644
--- a/arch/arm/common/sa1111.c
+++ b/arch/arm/common/sa1111.c
@@ -737,7 +737,7 @@ sa1111_init_one_child(struct sa1111 *sachip, struct resource *parent,
unsigned i;
int ret;
- dev = kzalloc(sizeof(struct sa1111_dev), GFP_KERNEL);
+ dev = kzalloc_obj(struct sa1111_dev, GFP_KERNEL);
if (!dev) {
ret = -ENOMEM;
goto err_alloc;
@@ -969,7 +969,7 @@ static int sa1111_suspend_noirq(struct device *dev)
unsigned int val;
void __iomem *base;
- save = kmalloc(sizeof(struct sa1111_save_data), GFP_KERNEL);
+ save = kmalloc_obj(struct sa1111_save_data, GFP_KERNEL);
if (!save)
return -ENOMEM;
sachip->saved_state = save;
diff --git a/arch/arm/common/scoop.c b/arch/arm/common/scoop.c
index dddb73c96826..10e8e9716bd3 100644
--- a/arch/arm/common/scoop.c
+++ b/arch/arm/common/scoop.c
@@ -185,7 +185,7 @@ static int scoop_probe(struct platform_device *pdev)
if (!mem)
return -EINVAL;
- devptr = kzalloc(sizeof(struct scoop_dev), GFP_KERNEL);
+ devptr = kzalloc_obj(struct scoop_dev, GFP_KERNEL);
if (!devptr)
return -ENOMEM;
diff --git a/arch/arm/kernel/atags_proc.c b/arch/arm/kernel/atags_proc.c
index cd09f8ab93e3..6106385d25a0 100644
--- a/arch/arm/kernel/atags_proc.c
+++ b/arch/arm/kernel/atags_proc.c
@@ -54,7 +54,7 @@ static int __init init_atags_procfs(void)
WARN_ON(tag->hdr.tag != ATAG_NONE);
- b = kmalloc(struct_size(b, data, size), GFP_KERNEL);
+ b = kmalloc_flex(*b, data, size, GFP_KERNEL);
if (!b)
goto nomem;
diff --git a/arch/arm/kernel/smp.c b/arch/arm/kernel/smp.c
index 50999886a8b5..504f22b420a8 100644
--- a/arch/arm/kernel/smp.c
+++ b/arch/arm/kernel/smp.c
@@ -108,7 +108,7 @@ static unsigned long get_arch_pgd(pgd_t *pgd)
static int secondary_biglittle_prepare(unsigned int cpu)
{
if (!cpu_vtable[cpu])
- cpu_vtable[cpu] = kzalloc(sizeof(*cpu_vtable[cpu]), GFP_KERNEL);
+ cpu_vtable[cpu] = kzalloc_obj(*cpu_vtable[cpu], GFP_KERNEL);
return cpu_vtable[cpu] ? 0 : -ENOMEM;
}
diff --git a/arch/arm/kernel/sys_oabi-compat.c b/arch/arm/kernel/sys_oabi-compat.c
index 2944721e82a2..fe73d759d078 100644
--- a/arch/arm/kernel/sys_oabi-compat.c
+++ b/arch/arm/kernel/sys_oabi-compat.c
@@ -349,7 +349,7 @@ asmlinkage long sys_oabi_semtimedop(int semid,
return -E2BIG;
if (nsops < 1 || nsops > SEMOPM)
return -EINVAL;
- sops = kvmalloc_array(nsops, sizeof(*sops), GFP_KERNEL);
+ sops = kvmalloc_objs(*sops, nsops, GFP_KERNEL);
if (!sops)
return -ENOMEM;
err = 0;
diff --git a/arch/arm/kernel/unwind.c b/arch/arm/kernel/unwind.c
index f60547dadc93..2b40c22234a9 100644
--- a/arch/arm/kernel/unwind.c
+++ b/arch/arm/kernel/unwind.c
@@ -574,7 +574,7 @@ struct unwind_table *unwind_table_add(unsigned long start, unsigned long size,
unsigned long text_size)
{
unsigned long flags;
- struct unwind_table *tab = kmalloc(sizeof(*tab), GFP_KERNEL);
+ struct unwind_table *tab = kmalloc_obj(*tab, GFP_KERNEL);
pr_debug("%s(%08lx, %08lx, %08lx, %08lx)\n", __func__, start, size,
text_addr, text_size);
diff --git a/arch/arm/kernel/vdso.c b/arch/arm/kernel/vdso.c
index 0108f33d6bed..884f1899dfba 100644
--- a/arch/arm/kernel/vdso.c
+++ b/arch/arm/kernel/vdso.c
@@ -179,8 +179,7 @@ static int __init vdso_init(void)
text_pages = (vdso_end - vdso_start) >> PAGE_SHIFT;
/* Allocate the VDSO text pagelist */
- vdso_text_pagelist = kcalloc(text_pages, sizeof(struct page *),
- GFP_KERNEL);
+ vdso_text_pagelist = kzalloc_objs(struct page *, text_pages, GFP_KERNEL);
if (vdso_text_pagelist == NULL)
return -ENOMEM;
diff --git a/arch/arm/mach-footbridge/dc21285.c b/arch/arm/mach-footbridge/dc21285.c
index 6521ab3d24fa..765a97a30b8a 100644
--- a/arch/arm/mach-footbridge/dc21285.c
+++ b/arch/arm/mach-footbridge/dc21285.c
@@ -262,7 +262,7 @@ int __init dc21285_setup(int nr, struct pci_sys_data *sys)
{
struct resource *res;
- res = kcalloc(2, sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_objs(struct resource, 2, GFP_KERNEL);
if (!res) {
printk("out of memory for root bus resources");
return 0;
diff --git a/arch/arm/mach-footbridge/ebsa285.c b/arch/arm/mach-footbridge/ebsa285.c
index 21cf9a358b90..d75fc4b541f1 100644
--- a/arch/arm/mach-footbridge/ebsa285.c
+++ b/arch/arm/mach-footbridge/ebsa285.c
@@ -84,7 +84,7 @@ static int __init ebsa285_leds_init(void)
for (i = 0; i < ARRAY_SIZE(ebsa285_leds); i++) {
struct ebsa285_led *led;
- led = kzalloc(sizeof(*led), GFP_KERNEL);
+ led = kzalloc_obj(*led, GFP_KERNEL);
if (!led)
break;
diff --git a/arch/arm/mach-footbridge/netwinder-hw.c b/arch/arm/mach-footbridge/netwinder-hw.c
index 5f7265b1b34c..ae5cf7f1f74a 100644
--- a/arch/arm/mach-footbridge/netwinder-hw.c
+++ b/arch/arm/mach-footbridge/netwinder-hw.c
@@ -727,7 +727,7 @@ static int __init netwinder_leds_init(void)
for (i = 0; i < ARRAY_SIZE(netwinder_leds); i++) {
struct netwinder_led *led;
- led = kzalloc(sizeof(*led), GFP_KERNEL);
+ led = kzalloc_obj(*led, GFP_KERNEL);
if (!led)
break;
diff --git a/arch/arm/mach-imx/mmdc.c b/arch/arm/mach-imx/mmdc.c
index 94e4f4a2f73f..d1d1ef3aa927 100644
--- a/arch/arm/mach-imx/mmdc.c
+++ b/arch/arm/mach-imx/mmdc.c
@@ -477,7 +477,7 @@ static int imx_mmdc_perf_init(struct platform_device *pdev, void __iomem *mmdc_b
char *name;
int ret;
- pmu_mmdc = kzalloc(sizeof(*pmu_mmdc), GFP_KERNEL);
+ pmu_mmdc = kzalloc_obj(*pmu_mmdc, GFP_KERNEL);
if (!pmu_mmdc) {
pr_err("failed to allocate PMU device!\n");
return -ENOMEM;
diff --git a/arch/arm/mach-mvebu/board-v7.c b/arch/arm/mach-mvebu/board-v7.c
index 04ad651d13a0..f7f142d6e49e 100644
--- a/arch/arm/mach-mvebu/board-v7.c
+++ b/arch/arm/mach-mvebu/board-v7.c
@@ -127,7 +127,7 @@ static void __init i2c_quirk(void)
for_each_compatible_node(np, NULL, "marvell,mv78230-i2c") {
struct property *new_compat;
- new_compat = kzalloc(sizeof(*new_compat), GFP_KERNEL);
+ new_compat = kzalloc_obj(*new_compat, GFP_KERNEL);
new_compat->name = kstrdup("compatible", GFP_KERNEL);
new_compat->length = sizeof("marvell,mv78230-a0-i2c");
diff --git a/arch/arm/mach-mvebu/coherency.c b/arch/arm/mach-mvebu/coherency.c
index a6b621ff0b87..4af0df12f654 100644
--- a/arch/arm/mach-mvebu/coherency.c
+++ b/arch/arm/mach-mvebu/coherency.c
@@ -190,7 +190,7 @@ static void __init armada_375_380_coherency_init(struct device_node *np)
for_each_compatible_node(cache_dn, NULL, "arm,pl310-cache") {
struct property *p;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
p->name = kstrdup("arm,io-coherent", GFP_KERNEL);
of_add_property(cache_dn, p);
}
diff --git a/arch/arm/mach-mvebu/mvebu-soc-id.c b/arch/arm/mach-mvebu/mvebu-soc-id.c
index f436c7b8c7ae..ea4159a5b567 100644
--- a/arch/arm/mach-mvebu/mvebu-soc-id.c
+++ b/arch/arm/mach-mvebu/mvebu-soc-id.c
@@ -154,7 +154,7 @@ static int __init mvebu_soc_device(void)
if (!is_id_valid)
return 0;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
index 6e017fa306c8..24dd8a0c6567 100644
--- a/arch/arm/mach-mxs/mach-mxs.c
+++ b/arch/arm/mach-mxs/mach-mxs.c
@@ -387,7 +387,7 @@ static void __init mxs_machine_init(void)
const u32 *ocotp = mxs_get_ocotp();
int ret;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return;
diff --git a/arch/arm/mach-omap1/dma.c b/arch/arm/mach-omap1/dma.c
index 756966cb715f..491254010c0c 100644
--- a/arch/arm/mach-omap1/dma.c
+++ b/arch/arm/mach-omap1/dma.c
@@ -319,7 +319,7 @@ static int __init omap1_system_dma_init(void)
goto exit_iounmap;
}
- d = kzalloc(sizeof(*d), GFP_KERNEL);
+ d = kzalloc_obj(*d, GFP_KERNEL);
if (!d) {
ret = -ENOMEM;
goto exit_iounmap;
diff --git a/arch/arm/mach-omap1/mcbsp.c b/arch/arm/mach-omap1/mcbsp.c
index 37863bdce9ea..a4dae1baae99 100644
--- a/arch/arm/mach-omap1/mcbsp.c
+++ b/arch/arm/mach-omap1/mcbsp.c
@@ -294,8 +294,8 @@ static void omap_mcbsp_register_board_cfg(struct resource *res, int res_count,
{
int i;
- omap_mcbsp_devices = kcalloc(size, sizeof(struct platform_device *),
- GFP_KERNEL);
+ omap_mcbsp_devices = kzalloc_objs(struct platform_device *, size,
+ GFP_KERNEL);
if (!omap_mcbsp_devices) {
printk(KERN_ERR "Could not register McBSP devices\n");
return;
diff --git a/arch/arm/mach-omap1/timer.c b/arch/arm/mach-omap1/timer.c
index 81a912c1145a..09dab51d5728 100644
--- a/arch/arm/mach-omap1/timer.c
+++ b/arch/arm/mach-omap1/timer.c
@@ -125,7 +125,7 @@ static int __init omap1_dm_timer_init(void)
goto err_free_pdev;
}
- pdata = kzalloc(sizeof(*pdata), GFP_KERNEL);
+ pdata = kzalloc_obj(*pdata, GFP_KERNEL);
if (!pdata) {
ret = -ENOMEM;
goto err_free_pdata;
diff --git a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
index 96c5cdc718c8..0b9d4c7b6711 100644
--- a/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
+++ b/arch/arm/mach-omap2/clkt2xxx_virt_prcm_set.c
@@ -237,7 +237,7 @@ void omap2xxx_clkt_vps_init(void)
omap2xxx_clkt_vps_late_init();
omap2xxx_clkt_vps_check_bootloader_rates();
- hw = kzalloc(sizeof(*hw), GFP_KERNEL);
+ hw = kzalloc_obj(*hw, GFP_KERNEL);
if (!hw)
return;
init.name = "virt_prcm_set";
diff --git a/arch/arm/mach-omap2/id.c b/arch/arm/mach-omap2/id.c
index 7f387706368a..fd9e4146db35 100644
--- a/arch/arm/mach-omap2/id.c
+++ b/arch/arm/mach-omap2/id.c
@@ -787,7 +787,7 @@ void __init omap_soc_device_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return;
diff --git a/arch/arm/mach-omap2/omap-iommu.c b/arch/arm/mach-omap2/omap-iommu.c
index 9c8a85198e16..debc3f0d0184 100644
--- a/arch/arm/mach-omap2/omap-iommu.c
+++ b/arch/arm/mach-omap2/omap-iommu.c
@@ -99,7 +99,7 @@ static struct powerdomain *_get_pwrdm(struct device *dev)
return NULL;
}
- entry = kmalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kmalloc_obj(*entry, GFP_KERNEL);
if (entry) {
entry->dev = dev;
entry->pwrdm = pwrdm;
diff --git a/arch/arm/mach-omap2/omap_device.c b/arch/arm/mach-omap2/omap_device.c
index 800980057373..ab8adccbd7dd 100644
--- a/arch/arm/mach-omap2/omap_device.c
+++ b/arch/arm/mach-omap2/omap_device.c
@@ -156,7 +156,7 @@ static int omap_device_build_from_dt(struct platform_device *pdev)
!omap_hwmod_parse_module_range(NULL, node, &res))
return -ENODEV;
- hwmods = kcalloc(oh_cnt, sizeof(struct omap_hwmod *), GFP_KERNEL);
+ hwmods = kzalloc_objs(struct omap_hwmod *, oh_cnt, GFP_KERNEL);
if (!hwmods) {
ret = -ENOMEM;
goto odbfd_exit;
@@ -309,7 +309,7 @@ static struct omap_device *omap_device_alloc(struct platform_device *pdev,
int i;
struct omap_hwmod **hwmods;
- od = kzalloc(sizeof(struct omap_device), GFP_KERNEL);
+ od = kzalloc_obj(struct omap_device, GFP_KERNEL);
if (!od)
goto oda_exit1;
diff --git a/arch/arm/mach-omap2/omap_hwmod.c b/arch/arm/mach-omap2/omap_hwmod.c
index 111677878d9c..3591ca1f59c6 100644
--- a/arch/arm/mach-omap2/omap_hwmod.c
+++ b/arch/arm/mach-omap2/omap_hwmod.c
@@ -3392,7 +3392,7 @@ static int omap_hwmod_allocate_module(struct device *dev, struct omap_hwmod *oh,
void __iomem *regs = NULL;
unsigned long flags;
- sysc = kzalloc(sizeof(*sysc), GFP_KERNEL);
+ sysc = kzalloc_obj(*sysc, GFP_KERNEL);
if (!sysc)
return -ENOMEM;
@@ -3422,7 +3422,7 @@ static int omap_hwmod_allocate_module(struct device *dev, struct omap_hwmod *oh,
}
if (list_empty(&oh->slave_ports)) {
- oi = kzalloc(sizeof(*oi), GFP_KERNEL);
+ oi = kzalloc_obj(*oi, GFP_KERNEL);
if (!oi)
goto out_free_class;
@@ -3525,7 +3525,7 @@ int omap_hwmod_init_module(struct device *dev,
oh = _lookup(data->name);
if (!oh) {
- oh = kzalloc(sizeof(*oh), GFP_KERNEL);
+ oh = kzalloc_obj(*oh, GFP_KERNEL);
if (!oh)
return -ENOMEM;
@@ -3536,7 +3536,7 @@ int omap_hwmod_init_module(struct device *dev,
/* Unused, can be handled by PRM driver handling resets */
oh->prcm.omap4.flags = HWMOD_OMAP4_NO_CONTEXT_LOSS_BIT;
- oh->class = kzalloc(sizeof(*oh->class), GFP_KERNEL);
+ oh->class = kzalloc_obj(*oh->class, GFP_KERNEL);
if (!oh->class) {
kfree(oh);
return -ENOMEM;
diff --git a/arch/arm/mach-omap2/pm33xx-core.c b/arch/arm/mach-omap2/pm33xx-core.c
index 4abb86dc98fd..e3f47fb2d4ef 100644
--- a/arch/arm/mach-omap2/pm33xx-core.c
+++ b/arch/arm/mach-omap2/pm33xx-core.c
@@ -410,7 +410,7 @@ static int __init amx3_idle_init(struct device_node *cpu_node, int cpu)
state_count++;
}
- idle_states = kcalloc(state_count, sizeof(*idle_states), GFP_KERNEL);
+ idle_states = kzalloc_objs(*idle_states, state_count, GFP_KERNEL);
if (!idle_states)
return -ENOMEM;
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index 68975771e633..9992549c7336 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -410,7 +410,7 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
if (!pwrdm->pwrsts)
return 0;
- pwrst = kmalloc(sizeof(struct power_state), GFP_ATOMIC);
+ pwrst = kmalloc_obj(struct power_state, GFP_ATOMIC);
if (!pwrst)
return -ENOMEM;
pwrst->pwrdm = pwrdm;
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 37b168119fe4..554352e9e1c6 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -132,7 +132,7 @@ static int __init pwrdms_setup(struct powerdomain *pwrdm, void *unused)
!strncmp(pwrdm->name, "l4per", 5))
pwrdm_set_logic_retst(pwrdm, PWRDM_POWER_OFF);
- pwrst = kmalloc(sizeof(struct power_state), GFP_ATOMIC);
+ pwrst = kmalloc_obj(struct power_state, GFP_ATOMIC);
if (!pwrst)
return -ENOMEM;
diff --git a/arch/arm/mach-omap2/sr_device.c b/arch/arm/mach-omap2/sr_device.c
index d2133423b0c9..9d1a14771590 100644
--- a/arch/arm/mach-omap2/sr_device.c
+++ b/arch/arm/mach-omap2/sr_device.c
@@ -39,7 +39,7 @@ static void __init sr_set_nvalues(struct omap_volt_data *volt_data,
while (volt_data[count].volt_nominal)
count++;
- nvalue_table = kcalloc(count, sizeof(*nvalue_table), GFP_KERNEL);
+ nvalue_table = kzalloc_objs(*nvalue_table, count, GFP_KERNEL);
if (!nvalue_table)
return;
diff --git a/arch/arm/mach-orion5x/pci.c b/arch/arm/mach-orion5x/pci.c
index 3313bc5a63ea..2ee1ff7335db 100644
--- a/arch/arm/mach-orion5x/pci.c
+++ b/arch/arm/mach-orion5x/pci.c
@@ -169,7 +169,7 @@ static int __init pcie_setup(struct pci_sys_data *sys)
/*
* Request resources.
*/
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res)
panic("pcie_setup unable to alloc resources");
@@ -490,7 +490,7 @@ static int __init pci_setup(struct pci_sys_data *sys)
/*
* Request resources
*/
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res)
panic("pci_setup unable to alloc resources");
diff --git a/arch/arm/mach-rpc/ecard.c b/arch/arm/mach-rpc/ecard.c
index 2cde4c83b7f9..9f0edac1697c 100644
--- a/arch/arm/mach-rpc/ecard.c
+++ b/arch/arm/mach-rpc/ecard.c
@@ -692,7 +692,7 @@ static struct expansion_card *__init ecard_alloc_card(int type, int slot)
unsigned long base;
int i;
- ec = kzalloc(sizeof(ecard_t), GFP_KERNEL);
+ ec = kzalloc_obj(ecard_t, GFP_KERNEL);
if (!ec) {
ec = ERR_PTR(-ENOMEM);
goto nomem;
diff --git a/arch/arm/mach-sa1100/clock.c b/arch/arm/mach-sa1100/clock.c
index e8691921c69a..e4c7a0b78783 100644
--- a/arch/arm/mach-sa1100/clock.c
+++ b/arch/arm/mach-sa1100/clock.c
@@ -107,7 +107,7 @@ int __init sa11xx_clk_init(void)
clk_hw_register_clkdev(hw, "OSTIMER0", NULL);
- hw = kzalloc(sizeof(*hw), GFP_KERNEL);
+ hw = kzalloc_obj(*hw, GFP_KERNEL);
if (!hw)
return -ENOMEM;
hw->init = &clk_mpll_init_data;
@@ -129,7 +129,7 @@ int __init sa11xx_clk_init(void)
FAlnMsk(TUCR_TSEL), 0, &tucr_lock);
clk_set_rate(hw->clk, 3686400);
- hw = kzalloc(sizeof(*hw), GFP_KERNEL);
+ hw = kzalloc_obj(*hw, GFP_KERNEL);
if (!hw)
return -ENOMEM;
hw->init = &clk_gpio27_init_data;
diff --git a/arch/arm/mach-sa1100/generic.c b/arch/arm/mach-sa1100/generic.c
index 5383a26f5116..078667b52b8a 100644
--- a/arch/arm/mach-sa1100/generic.c
+++ b/arch/arm/mach-sa1100/generic.c
@@ -321,7 +321,7 @@ int __init sa11x0_register_fixed_regulator(int n,
{
struct regulator_init_data *id;
- cfg->init_data = id = kzalloc(sizeof(*cfg->init_data), GFP_KERNEL);
+ cfg->init_data = id = kzalloc_obj(*cfg->init_data, GFP_KERNEL);
if (!cfg->init_data)
return -ENOMEM;
diff --git a/arch/arm/mach-sa1100/neponset.c b/arch/arm/mach-sa1100/neponset.c
index 88fe79f0a4ed..f8960373fa06 100644
--- a/arch/arm/mach-sa1100/neponset.c
+++ b/arch/arm/mach-sa1100/neponset.c
@@ -276,7 +276,7 @@ static int neponset_probe(struct platform_device *dev)
goto err_alloc;
}
- d = kzalloc(sizeof(*d), GFP_KERNEL);
+ d = kzalloc_obj(*d, GFP_KERNEL);
if (!d) {
ret = -ENOMEM;
goto err_alloc;
diff --git a/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c b/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
index 117e7b07995b..c6659131f21b 100644
--- a/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
+++ b/arch/arm/mach-shmobile/regulator-quirk-rcar-gen2.c
@@ -164,7 +164,7 @@ static int __init rcar_gen2_regulator_quirk(void)
if (ret) /* Skip invalid entry and continue */
continue;
- quirk = kzalloc(sizeof(*quirk), GFP_KERNEL);
+ quirk = kzalloc_obj(*quirk, GFP_KERNEL);
if (!quirk) {
ret = -ENOMEM;
of_node_put(np);
diff --git a/arch/arm/mach-versatile/spc.c b/arch/arm/mach-versatile/spc.c
index 2d27777a00d3..d77ed8ce5f32 100644
--- a/arch/arm/mach-versatile/spc.c
+++ b/arch/arm/mach-versatile/spc.c
@@ -395,7 +395,7 @@ static int ve_spc_populate_opps(uint32_t cluster)
uint32_t data = 0, off, ret, idx;
struct ve_spc_opp *opps;
- opps = kcalloc(MAX_OPPS, sizeof(*opps), GFP_KERNEL);
+ opps = kzalloc_objs(*opps, MAX_OPPS, GFP_KERNEL);
if (!opps)
return -ENOMEM;
@@ -442,7 +442,7 @@ static int ve_init_opp_table(struct device *cpu_dev)
int __init ve_spc_init(void __iomem *baseaddr, u32 a15_clusid, int irq)
{
int ret;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
@@ -525,7 +525,7 @@ static struct clk *ve_spc_clk_register(struct device *cpu_dev)
struct clk_init_data init;
struct clk_spc *spc;
- spc = kzalloc(sizeof(*spc), GFP_KERNEL);
+ spc = kzalloc_obj(*spc, GFP_KERNEL);
if (!spc)
return ERR_PTR(-ENOMEM);
diff --git a/arch/arm/mach-versatile/versatile.c b/arch/arm/mach-versatile/versatile.c
index f0c80d4663ca..53d02ce2ad43 100644
--- a/arch/arm/mach-versatile/versatile.c
+++ b/arch/arm/mach-versatile/versatile.c
@@ -142,7 +142,7 @@ static void __init versatile_dt_pci_init(void)
goto out_put_node;
}
- newprop = kzalloc(sizeof(*newprop), GFP_KERNEL);
+ newprop = kzalloc_obj(*newprop, GFP_KERNEL);
if (!newprop)
goto out_put_node;
diff --git a/arch/arm/mach-zynq/common.c b/arch/arm/mach-zynq/common.c
index 15e8a321a713..ddb06d5ca55d 100644
--- a/arch/arm/mach-zynq/common.c
+++ b/arch/arm/mach-zynq/common.c
@@ -108,7 +108,7 @@ static void __init zynq_init_machine(void)
struct soc_device *soc_dev;
struct device *parent = NULL;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
goto out;
diff --git a/arch/arm/mm/cache-l2x0-pmu.c b/arch/arm/mm/cache-l2x0-pmu.c
index 93ef0502b7ff..3d62bd48086b 100644
--- a/arch/arm/mm/cache-l2x0-pmu.c
+++ b/arch/arm/mm/cache-l2x0-pmu.c
@@ -507,7 +507,7 @@ static __init int l2x0_pmu_init(void)
if (!l2x0_base)
return 0;
- l2x0_pmu = kzalloc(sizeof(*l2x0_pmu), GFP_KERNEL);
+ l2x0_pmu = kzalloc_obj(*l2x0_pmu, GFP_KERNEL);
if (!l2x0_pmu) {
pr_warn("Unable to allocate L2x0 PMU\n");
return -ENOMEM;
diff --git a/arch/arm/mm/cache-uniphier.c b/arch/arm/mm/cache-uniphier.c
index 84a2f17ff32d..c601532f7a77 100644
--- a/arch/arm/mm/cache-uniphier.c
+++ b/arch/arm/mm/cache-uniphier.c
@@ -342,7 +342,7 @@ static int __init __uniphier_cache_init(struct device_node *np,
return -EINVAL;
}
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c
index a4c765d24692..7aca3e747ad5 100644
--- a/arch/arm/mm/dma-mapping.c
+++ b/arch/arm/mm/dma-mapping.c
@@ -558,8 +558,8 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
}
#endif
- buf = kzalloc(sizeof(*buf),
- gfp & ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM));
+ buf = kzalloc_obj(*buf,
+ gfp & ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM));
if (!buf)
return NULL;
@@ -1504,7 +1504,7 @@ arm_iommu_create_mapping(struct device *dev, dma_addr_t base, u64 size)
bitmap_size = PAGE_SIZE;
}
- mapping = kzalloc(sizeof(struct dma_iommu_mapping), GFP_KERNEL);
+ mapping = kzalloc_obj(struct dma_iommu_mapping, GFP_KERNEL);
if (!mapping)
goto err;
diff --git a/arch/arm/mm/pgd.c b/arch/arm/mm/pgd.c
index 4eb81b7ed03a..447945836c3f 100644
--- a/arch/arm/mm/pgd.c
+++ b/arch/arm/mm/pgd.c
@@ -17,7 +17,7 @@
#include "mm.h"
#ifdef CONFIG_ARM_LPAE
-#define _pgd_alloc(mm) kmalloc_array(PTRS_PER_PGD, sizeof(pgd_t), GFP_KERNEL | __GFP_ZERO)
+#define _pgd_alloc(mm) kmalloc_objs(pgd_t, PTRS_PER_PGD, GFP_KERNEL | __GFP_ZERO)
#define _pgd_free(mm, pgd) kfree(pgd)
#else
#define _pgd_alloc(mm) __pgd_alloc(mm, 2)
diff --git a/arch/arm/probes/kprobes/test-core.c b/arch/arm/probes/kprobes/test-core.c
index 171c7076b89f..ef93f2f1db62 100644
--- a/arch/arm/probes/kprobes/test-core.c
+++ b/arch/arm/probes/kprobes/test-core.c
@@ -763,9 +763,8 @@ static int coverage_start_fn(const struct decode_header *h, void *args)
static int coverage_start(const union decode_item *table)
{
- coverage.base = kmalloc_array(MAX_COVERAGE_ENTRIES,
- sizeof(struct coverage_entry),
- GFP_KERNEL);
+ coverage.base = kmalloc_objs(struct coverage_entry,
+ MAX_COVERAGE_ENTRIES, GFP_KERNEL);
coverage.num_entries = 0;
coverage.nesting = 0;
return table_iter(table, coverage_start_fn, &coverage);
diff --git a/arch/arm/xen/enlighten.c b/arch/arm/xen/enlighten.c
index 8655bc3d3634..9c3e6145b810 100644
--- a/arch/arm/xen/enlighten.c
+++ b/arch/arm/xen/enlighten.c
@@ -339,7 +339,7 @@ int __init arch_xen_unpopulated_init(struct resource **res)
return -EINVAL;
}
- regs = kcalloc(nr_reg, sizeof(*regs), GFP_KERNEL);
+ regs = kzalloc_objs(*regs, nr_reg, GFP_KERNEL);
if (!regs) {
of_node_put(np);
return -ENOMEM;
@@ -383,7 +383,7 @@ int __init arch_xen_unpopulated_init(struct resource **res)
start = regs[i - 1].end + 1;
end = regs[i].start - 1;
- tmp_res = kzalloc(sizeof(*tmp_res), GFP_KERNEL);
+ tmp_res = kzalloc_obj(*tmp_res, GFP_KERNEL);
if (!tmp_res) {
rc = -ENOMEM;
goto err;
diff --git a/arch/arm/xen/p2m.c b/arch/arm/xen/p2m.c
index 9da57a5b81c7..d911d91d5832 100644
--- a/arch/arm/xen/p2m.c
+++ b/arch/arm/xen/p2m.c
@@ -176,7 +176,7 @@ bool __set_phys_to_machine_multi(unsigned long pfn,
return true;
}
- p2m_entry = kzalloc(sizeof(*p2m_entry), GFP_NOWAIT);
+ p2m_entry = kzalloc_obj(*p2m_entry, GFP_NOWAIT);
if (!p2m_entry)
return false;
diff --git a/arch/arm64/kernel/machine_kexec_file.c b/arch/arm64/kernel/machine_kexec_file.c
index 410060ebd86d..9038d46dacf5 100644
--- a/arch/arm64/kernel/machine_kexec_file.c
+++ b/arch/arm64/kernel/machine_kexec_file.c
@@ -52,7 +52,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
for_each_mem_range(i, &start, &end)
nr_ranges++;
- cmem = kmalloc(struct_size(cmem, ranges, nr_ranges), GFP_KERNEL);
+ cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
if (!cmem)
return -ENOMEM;
diff --git a/arch/arm64/kernel/vdso.c b/arch/arm64/kernel/vdso.c
index 78ddf6bdecad..34d761ef08b0 100644
--- a/arch/arm64/kernel/vdso.c
+++ b/arch/arm64/kernel/vdso.c
@@ -81,9 +81,8 @@ static int __init __vdso_init(enum vdso_abi abi)
vdso_info[abi].vdso_code_start) >>
PAGE_SHIFT;
- vdso_pagelist = kcalloc(vdso_info[abi].vdso_pages,
- sizeof(struct page *),
- GFP_KERNEL);
+ vdso_pagelist = kzalloc_objs(struct page *, vdso_info[abi].vdso_pages,
+ GFP_KERNEL);
if (vdso_pagelist == NULL)
return -ENOMEM;
diff --git a/arch/arm64/kvm/arm.c b/arch/arm64/kvm/arm.c
index 94d5b0b99fd1..29f0326f7e00 100644
--- a/arch/arm64/kvm/arm.c
+++ b/arch/arm64/kvm/arm.c
@@ -854,8 +854,8 @@ static void kvm_init_mpidr_data(struct kvm *kvm)
* iterative method. Single vcpu VMs do not need this either.
*/
if (struct_size(data, cmpidr_to_idx, nr_entries) <= PAGE_SIZE)
- data = kzalloc(struct_size(data, cmpidr_to_idx, nr_entries),
- GFP_KERNEL_ACCOUNT);
+ data = kzalloc_flex(*data, cmpidr_to_idx, nr_entries,
+ GFP_KERNEL_ACCOUNT);
if (!data)
goto out;
diff --git a/arch/arm64/kvm/mmu.c b/arch/arm64/kvm/mmu.c
index 8c5d259810b2..f6d8b294525d 100644
--- a/arch/arm64/kvm/mmu.c
+++ b/arch/arm64/kvm/mmu.c
@@ -487,7 +487,7 @@ static int share_pfn_hyp(u64 pfn)
goto unlock;
}
- this = kzalloc(sizeof(*this), GFP_KERNEL);
+ this = kzalloc_obj(*this, GFP_KERNEL);
if (!this) {
ret = -ENOMEM;
goto unlock;
@@ -978,7 +978,7 @@ int kvm_init_stage2_mmu(struct kvm *kvm, struct kvm_s2_mmu *mmu, unsigned long t
if (err)
return err;
- pgt = kzalloc(sizeof(*pgt), GFP_KERNEL_ACCOUNT);
+ pgt = kzalloc_obj(*pgt, GFP_KERNEL_ACCOUNT);
if (!pgt)
return -ENOMEM;
@@ -1155,7 +1155,8 @@ int topup_hyp_memcache(struct kvm_hyp_memcache *mc, unsigned long min_pages)
return 0;
if (!mc->mapping) {
- mc->mapping = kzalloc(sizeof(struct pkvm_mapping), GFP_KERNEL_ACCOUNT);
+ mc->mapping = kzalloc_obj(struct pkvm_mapping,
+ GFP_KERNEL_ACCOUNT);
if (!mc->mapping)
return -ENOMEM;
}
@@ -2328,7 +2329,7 @@ int __init kvm_mmu_init(u32 hyp_va_bits)
goto out;
}
- hyp_pgtable = kzalloc(sizeof(*hyp_pgtable), GFP_KERNEL);
+ hyp_pgtable = kzalloc_obj(*hyp_pgtable, GFP_KERNEL);
if (!hyp_pgtable) {
kvm_err("Hyp mode page-table not allocated\n");
err = -ENOMEM;
diff --git a/arch/arm64/kvm/nested.c b/arch/arm64/kvm/nested.c
index eeea5e692370..620126d1f0dc 100644
--- a/arch/arm64/kvm/nested.c
+++ b/arch/arm64/kvm/nested.c
@@ -1215,8 +1215,8 @@ int kvm_vcpu_allocate_vncr_tlb(struct kvm_vcpu *vcpu)
if (!kvm_has_feat(vcpu->kvm, ID_AA64MMFR4_EL1, NV_frac, NV2_ONLY))
return 0;
- vcpu->arch.vncr_tlb = kzalloc(sizeof(*vcpu->arch.vncr_tlb),
- GFP_KERNEL_ACCOUNT);
+ vcpu->arch.vncr_tlb = kzalloc_obj(*vcpu->arch.vncr_tlb,
+ GFP_KERNEL_ACCOUNT);
if (!vcpu->arch.vncr_tlb)
return -ENOMEM;
@@ -1704,8 +1704,8 @@ int kvm_init_nv_sysregs(struct kvm_vcpu *vcpu)
if (kvm->arch.sysreg_masks)
goto out;
- kvm->arch.sysreg_masks = kzalloc(sizeof(*(kvm->arch.sysreg_masks)),
- GFP_KERNEL_ACCOUNT);
+ kvm->arch.sysreg_masks = kzalloc_obj(*(kvm->arch.sysreg_masks),
+ GFP_KERNEL_ACCOUNT);
if (!kvm->arch.sysreg_masks)
return -ENOMEM;
diff --git a/arch/arm64/kvm/pmu-emul.c b/arch/arm64/kvm/pmu-emul.c
index b03dbda7f1ab..3a7b6e78a949 100644
--- a/arch/arm64/kvm/pmu-emul.c
+++ b/arch/arm64/kvm/pmu-emul.c
@@ -797,7 +797,7 @@ void kvm_host_pmu_init(struct arm_pmu *pmu)
guard(mutex)(&arm_pmus_lock);
- entry = kmalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kmalloc_obj(*entry, GFP_KERNEL);
if (!entry)
return;
diff --git a/arch/arm64/kvm/ptdump.c b/arch/arm64/kvm/ptdump.c
index 6cbe018fd6fd..6a8836207a79 100644
--- a/arch/arm64/kvm/ptdump.c
+++ b/arch/arm64/kvm/ptdump.c
@@ -119,7 +119,7 @@ static struct kvm_ptdump_guest_state *kvm_ptdump_parser_create(struct kvm *kvm)
struct kvm_pgtable *pgtable = mmu->pgt;
int ret;
- st = kzalloc(sizeof(struct kvm_ptdump_guest_state), GFP_KERNEL_ACCOUNT);
+ st = kzalloc_obj(struct kvm_ptdump_guest_state, GFP_KERNEL_ACCOUNT);
if (!st)
return ERR_PTR(-ENOMEM);
diff --git a/arch/arm64/kvm/vgic/vgic-debug.c b/arch/arm64/kvm/vgic/vgic-debug.c
index 2c6776a1779b..fa1de8784617 100644
--- a/arch/arm64/kvm/vgic/vgic-debug.c
+++ b/arch/arm64/kvm/vgic/vgic-debug.c
@@ -104,7 +104,7 @@ static void *vgic_debug_start(struct seq_file *s, loff_t *pos)
struct kvm *kvm = s->private;
struct vgic_state_iter *iter;
- iter = kmalloc(sizeof(*iter), GFP_KERNEL);
+ iter = kmalloc_obj(*iter, GFP_KERNEL);
if (!iter)
return ERR_PTR(-ENOMEM);
@@ -375,7 +375,7 @@ static void *vgic_its_debug_start(struct seq_file *s, loff_t *pos)
if (!dev)
return NULL;
- iter = kmalloc(sizeof(*iter), GFP_KERNEL);
+ iter = kmalloc_obj(*iter, GFP_KERNEL);
if (!iter)
return ERR_PTR(-ENOMEM);
diff --git a/arch/arm64/kvm/vgic/vgic-init.c b/arch/arm64/kvm/vgic/vgic-init.c
index a53f93546aa0..6eb273100ade 100644
--- a/arch/arm64/kvm/vgic/vgic-init.c
+++ b/arch/arm64/kvm/vgic/vgic-init.c
@@ -199,7 +199,7 @@ static int kvm_vgic_dist_init(struct kvm *kvm, unsigned int nr_spis)
int i;
dist->active_spis = (atomic_t)ATOMIC_INIT(0);
- dist->spis = kcalloc(nr_spis, sizeof(struct vgic_irq), GFP_KERNEL_ACCOUNT);
+ dist->spis = kzalloc_objs(struct vgic_irq, nr_spis, GFP_KERNEL_ACCOUNT);
if (!dist->spis)
return -ENOMEM;
@@ -269,9 +269,9 @@ static int vgic_allocate_private_irqs_locked(struct kvm_vcpu *vcpu, u32 type)
if (vgic_cpu->private_irqs)
return 0;
- vgic_cpu->private_irqs = kcalloc(VGIC_NR_PRIVATE_IRQS,
- sizeof(struct vgic_irq),
- GFP_KERNEL_ACCOUNT);
+ vgic_cpu->private_irqs = kzalloc_objs(struct vgic_irq,
+ VGIC_NR_PRIVATE_IRQS,
+ GFP_KERNEL_ACCOUNT);
if (!vgic_cpu->private_irqs)
return -ENOMEM;
@@ -654,7 +654,7 @@ static struct gic_kvm_info *gic_kvm_info;
void __init vgic_set_kvm_info(const struct gic_kvm_info *info)
{
BUG_ON(gic_kvm_info != NULL);
- gic_kvm_info = kmalloc(sizeof(*gic_kvm_info), GFP_KERNEL);
+ gic_kvm_info = kmalloc_obj(*gic_kvm_info, GFP_KERNEL);
if (gic_kvm_info)
*gic_kvm_info = *info;
}
diff --git a/arch/arm64/kvm/vgic/vgic-irqfd.c b/arch/arm64/kvm/vgic/vgic-irqfd.c
index c314c016659a..b9b86e3a6c86 100644
--- a/arch/arm64/kvm/vgic/vgic-irqfd.c
+++ b/arch/arm64/kvm/vgic/vgic-irqfd.c
@@ -140,7 +140,7 @@ int kvm_vgic_setup_default_irq_routing(struct kvm *kvm)
u32 nr = dist->nr_spis;
int i, ret;
- entries = kcalloc(nr, sizeof(*entries), GFP_KERNEL_ACCOUNT);
+ entries = kzalloc_objs(*entries, nr, GFP_KERNEL_ACCOUNT);
if (!entries)
return -ENOMEM;
diff --git a/arch/arm64/kvm/vgic/vgic-its.c b/arch/arm64/kvm/vgic/vgic-its.c
index 3f1c4b10fed9..2ea9f1c7ebcd 100644
--- a/arch/arm64/kvm/vgic/vgic-its.c
+++ b/arch/arm64/kvm/vgic/vgic-its.c
@@ -85,7 +85,7 @@ static struct vgic_irq *vgic_add_lpi(struct kvm *kvm, u32 intid,
if (irq)
return irq;
- irq = kzalloc(sizeof(struct vgic_irq), GFP_KERNEL_ACCOUNT);
+ irq = kzalloc_obj(struct vgic_irq, GFP_KERNEL_ACCOUNT);
if (!irq)
return ERR_PTR(-ENOMEM);
@@ -960,7 +960,7 @@ static int vgic_its_alloc_collection(struct vgic_its *its,
{
struct its_collection *collection;
- collection = kzalloc(sizeof(*collection), GFP_KERNEL_ACCOUNT);
+ collection = kzalloc_obj(*collection, GFP_KERNEL_ACCOUNT);
if (!collection)
return -ENOMEM;
@@ -1004,7 +1004,7 @@ static struct its_ite *vgic_its_alloc_ite(struct its_device *device,
{
struct its_ite *ite;
- ite = kzalloc(sizeof(*ite), GFP_KERNEL_ACCOUNT);
+ ite = kzalloc_obj(*ite, GFP_KERNEL_ACCOUNT);
if (!ite)
return ERR_PTR(-ENOMEM);
@@ -1131,7 +1131,7 @@ static struct its_device *vgic_its_alloc_device(struct vgic_its *its,
{
struct its_device *device;
- device = kzalloc(sizeof(*device), GFP_KERNEL_ACCOUNT);
+ device = kzalloc_obj(*device, GFP_KERNEL_ACCOUNT);
if (!device)
return ERR_PTR(-ENOMEM);
@@ -1846,7 +1846,7 @@ static int vgic_its_create(struct kvm_device *dev, u32 type)
if (type != KVM_DEV_TYPE_ARM_VGIC_ITS)
return -ENODEV;
- its = kzalloc(sizeof(struct vgic_its), GFP_KERNEL_ACCOUNT);
+ its = kzalloc_obj(struct vgic_its, GFP_KERNEL_ACCOUNT);
if (!its)
return -ENOMEM;
diff --git a/arch/arm64/kvm/vgic/vgic-mmio-v3.c b/arch/arm64/kvm/vgic/vgic-mmio-v3.c
index 70d50c77e5dc..89edb84d1ac6 100644
--- a/arch/arm64/kvm/vgic/vgic-mmio-v3.c
+++ b/arch/arm64/kvm/vgic/vgic-mmio-v3.c
@@ -929,7 +929,7 @@ static int vgic_v3_alloc_redist_region(struct kvm *kvm, uint32_t index,
if (vgic_v3_rdist_overlap(kvm, base, size))
return -EINVAL;
- rdreg = kzalloc(sizeof(*rdreg), GFP_KERNEL_ACCOUNT);
+ rdreg = kzalloc_obj(*rdreg, GFP_KERNEL_ACCOUNT);
if (!rdreg)
return -ENOMEM;
diff --git a/arch/arm64/kvm/vgic/vgic-v4.c b/arch/arm64/kvm/vgic/vgic-v4.c
index 09c3e9eb23f8..ed236f083f0d 100644
--- a/arch/arm64/kvm/vgic/vgic-v4.c
+++ b/arch/arm64/kvm/vgic/vgic-v4.c
@@ -256,8 +256,8 @@ int vgic_v4_init(struct kvm *kvm)
nr_vcpus = atomic_read(&kvm->online_vcpus);
- dist->its_vm.vpes = kcalloc(nr_vcpus, sizeof(*dist->its_vm.vpes),
- GFP_KERNEL_ACCOUNT);
+ dist->its_vm.vpes = kzalloc_objs(*dist->its_vm.vpes, nr_vcpus,
+ GFP_KERNEL_ACCOUNT);
if (!dist->its_vm.vpes)
return -ENOMEM;
diff --git a/arch/arm64/net/bpf_jit_comp.c b/arch/arm64/net/bpf_jit_comp.c
index 7a530ea4f5ae..da036853ee8a 100644
--- a/arch/arm64/net/bpf_jit_comp.c
+++ b/arch/arm64/net/bpf_jit_comp.c
@@ -2040,7 +2040,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
@@ -2078,7 +2078,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
memset(&ctx, 0, sizeof(ctx));
ctx.prog = prog;
- ctx.offset = kvcalloc(prog->len + 1, sizeof(int), GFP_KERNEL);
+ ctx.offset = kvzalloc_objs(int, prog->len + 1, GFP_KERNEL);
if (ctx.offset == NULL) {
prog = orig_prog;
goto out_off;
diff --git a/arch/csky/kernel/vdso.c b/arch/csky/kernel/vdso.c
index c54d019d66bc..0f49ce6919e6 100644
--- a/arch/csky/kernel/vdso.c
+++ b/arch/csky/kernel/vdso.c
@@ -20,7 +20,7 @@ static int __init vdso_init(void)
vdso_pages = (vdso_end - vdso_start) >> PAGE_SHIFT;
vdso_pagelist =
- kcalloc(vdso_pages, sizeof(struct page *), GFP_KERNEL);
+ kzalloc_objs(struct page *, vdso_pages, GFP_KERNEL);
if (unlikely(vdso_pagelist == NULL)) {
pr_err("vdso: pagelist allocation failed\n");
return -ENOMEM;
diff --git a/arch/loongarch/kernel/machine_kexec_file.c b/arch/loongarch/kernel/machine_kexec_file.c
index fb57026f5f25..602fe9105381 100644
--- a/arch/loongarch/kernel/machine_kexec_file.c
+++ b/arch/loongarch/kernel/machine_kexec_file.c
@@ -68,7 +68,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
for_each_mem_range(i, &start, &end)
nr_ranges++;
- cmem = kmalloc(struct_size(cmem, ranges, nr_ranges), GFP_KERNEL);
+ cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
if (!cmem)
return -ENOMEM;
diff --git a/arch/loongarch/kernel/setup.c b/arch/loongarch/kernel/setup.c
index 50a12c518dee..839b23edee87 100644
--- a/arch/loongarch/kernel/setup.c
+++ b/arch/loongarch/kernel/setup.c
@@ -470,7 +470,7 @@ static int __init add_legacy_isa_io(struct fwnode_handle *fwnode,
unsigned long vaddr;
struct logic_pio_hwaddr *range;
- range = kzalloc(sizeof(*range), GFP_ATOMIC);
+ range = kzalloc_obj(*range, GFP_ATOMIC);
if (!range)
return -ENOMEM;
diff --git a/arch/loongarch/kernel/vdso.c b/arch/loongarch/kernel/vdso.c
index dee1a15d7f4c..222be8fc4aec 100644
--- a/arch/loongarch/kernel/vdso.c
+++ b/arch/loongarch/kernel/vdso.c
@@ -52,7 +52,8 @@ static int __init init_vdso(void)
vdso_info.size = PAGE_ALIGN(vdso_end - vdso_start);
vdso_info.code_mapping.pages =
- kcalloc(vdso_info.size / PAGE_SIZE, sizeof(struct page *), GFP_KERNEL);
+ kzalloc_objs(struct page *, vdso_info.size / PAGE_SIZE,
+ GFP_KERNEL);
if (!vdso_info.code_mapping.pages)
return -ENOMEM;
diff --git a/arch/loongarch/kvm/intc/eiointc.c b/arch/loongarch/kvm/intc/eiointc.c
index e498a3f1e136..fe4173b4a102 100644
--- a/arch/loongarch/kvm/intc/eiointc.c
+++ b/arch/loongarch/kvm/intc/eiointc.c
@@ -622,7 +622,7 @@ static int kvm_eiointc_create(struct kvm_device *dev, u32 type)
if (kvm->arch.eiointc)
return -EINVAL;
- s = kzalloc(sizeof(struct loongarch_eiointc), GFP_KERNEL);
+ s = kzalloc_obj(struct loongarch_eiointc, GFP_KERNEL);
if (!s)
return -ENOMEM;
diff --git a/arch/loongarch/kvm/intc/ipi.c b/arch/loongarch/kvm/intc/ipi.c
index 6a044a74c095..6e87cefbb3e2 100644
--- a/arch/loongarch/kvm/intc/ipi.c
+++ b/arch/loongarch/kvm/intc/ipi.c
@@ -409,7 +409,7 @@ static int kvm_ipi_create(struct kvm_device *dev, u32 type)
return -EINVAL;
}
- s = kzalloc(sizeof(struct loongarch_ipi), GFP_KERNEL);
+ s = kzalloc_obj(struct loongarch_ipi, GFP_KERNEL);
if (!s)
return -ENOMEM;
diff --git a/arch/loongarch/kvm/intc/pch_pic.c b/arch/loongarch/kvm/intc/pch_pic.c
index a175f52fcf7f..1fead3f36f4d 100644
--- a/arch/loongarch/kvm/intc/pch_pic.c
+++ b/arch/loongarch/kvm/intc/pch_pic.c
@@ -402,7 +402,7 @@ static int kvm_setup_default_irq_routing(struct kvm *kvm)
u32 nr = KVM_IRQCHIP_NUM_PINS;
struct kvm_irq_routing_entry *entries;
- entries = kcalloc(nr, sizeof(*entries), GFP_KERNEL);
+ entries = kzalloc_objs(*entries, nr, GFP_KERNEL);
if (!entries)
return -ENOMEM;
@@ -432,7 +432,7 @@ static int kvm_pch_pic_create(struct kvm_device *dev, u32 type)
if (ret)
return -ENOMEM;
- s = kzalloc(sizeof(struct loongarch_pch_pic), GFP_KERNEL);
+ s = kzalloc_obj(struct loongarch_pch_pic, GFP_KERNEL);
if (!s)
return -ENOMEM;
diff --git a/arch/loongarch/kvm/main.c b/arch/loongarch/kvm/main.c
index ac38d0f19dd3..c86f9f5fedb5 100644
--- a/arch/loongarch/kvm/main.c
+++ b/arch/loongarch/kvm/main.c
@@ -358,7 +358,7 @@ static int kvm_loongarch_env_init(void)
return -ENOMEM;
}
- kvm_loongarch_ops = kzalloc(sizeof(*kvm_loongarch_ops), GFP_KERNEL);
+ kvm_loongarch_ops = kzalloc_obj(*kvm_loongarch_ops, GFP_KERNEL);
if (!kvm_loongarch_ops) {
free_percpu(vmcs);
vmcs = NULL;
diff --git a/arch/loongarch/kvm/vcpu.c b/arch/loongarch/kvm/vcpu.c
index 550c0d05666a..483ed31f2008 100644
--- a/arch/loongarch/kvm/vcpu.c
+++ b/arch/loongarch/kvm/vcpu.c
@@ -1547,7 +1547,7 @@ int kvm_arch_vcpu_create(struct kvm_vcpu *vcpu)
vcpu->arch.handle_exit = kvm_handle_exit;
vcpu->arch.guest_eentry = (unsigned long)kvm_loongarch_ops->exc_entry;
- vcpu->arch.csr = kzalloc(sizeof(struct loongarch_csrs), GFP_KERNEL);
+ vcpu->arch.csr = kzalloc_obj(struct loongarch_csrs, GFP_KERNEL);
if (!vcpu->arch.csr)
return -ENOMEM;
diff --git a/arch/loongarch/kvm/vm.c b/arch/loongarch/kvm/vm.c
index 9681ade890c6..63fd40530aa9 100644
--- a/arch/loongarch/kvm/vm.c
+++ b/arch/loongarch/kvm/vm.c
@@ -68,7 +68,8 @@ int kvm_arch_init_vm(struct kvm *kvm, unsigned long type)
if (!kvm->arch.pgd)
return -ENOMEM;
- kvm->arch.phyid_map = kvzalloc(sizeof(struct kvm_phyid_map), GFP_KERNEL_ACCOUNT);
+ kvm->arch.phyid_map = kvzalloc_obj(struct kvm_phyid_map,
+ GFP_KERNEL_ACCOUNT);
if (!kvm->arch.phyid_map) {
free_page((unsigned long)kvm->arch.pgd);
kvm->arch.pgd = NULL;
diff --git a/arch/loongarch/net/bpf_jit.c b/arch/loongarch/net/bpf_jit.c
index d7de5a87d081..07f876834b24 100644
--- a/arch/loongarch/net/bpf_jit.c
+++ b/arch/loongarch/net/bpf_jit.c
@@ -1943,7 +1943,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
diff --git a/arch/loongarch/pci/acpi.c b/arch/loongarch/pci/acpi.c
index 50c9016641a4..324a19d88ca1 100644
--- a/arch/loongarch/pci/acpi.c
+++ b/arch/loongarch/pci/acpi.c
@@ -101,7 +101,7 @@ static struct pci_config_window *arch_pci_ecam_create(struct device *dev,
if (busr->start > busr->end)
return ERR_PTR(-EINVAL);
- cfg = kzalloc(sizeof(*cfg), GFP_KERNEL);
+ cfg = kzalloc_obj(*cfg, GFP_KERNEL);
if (!cfg)
return ERR_PTR(-ENOMEM);
@@ -199,13 +199,13 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
int domain = root->segment;
int busnum = root->secondary.start;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info) {
pr_warn("pci_bus %04x:%02x: ignored (out of memory)\n", domain, busnum);
return NULL;
}
- root_ops = kzalloc(sizeof(*root_ops), GFP_KERNEL);
+ root_ops = kzalloc_obj(*root_ops, GFP_KERNEL);
if (!root_ops) {
kfree(info);
return NULL;
diff --git a/arch/m68k/amiga/chipram.c b/arch/m68k/amiga/chipram.c
index a537953bc10c..388cb652e51e 100644
--- a/arch/m68k/amiga/chipram.c
+++ b/arch/m68k/amiga/chipram.c
@@ -47,7 +47,7 @@ void *amiga_chip_alloc(unsigned long size, const char *name)
struct resource *res;
void *p;
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res)
return NULL;
diff --git a/arch/m68k/atari/stram.c b/arch/m68k/atari/stram.c
index 922e53bcb853..958c12a29884 100644
--- a/arch/m68k/atari/stram.c
+++ b/arch/m68k/atari/stram.c
@@ -161,7 +161,7 @@ void *atari_stram_alloc(unsigned long size, const char *owner)
/* round up */
size = PAGE_ALIGN(size);
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res)
return NULL;
diff --git a/arch/m68k/emu/nfblock.c b/arch/m68k/emu/nfblock.c
index 94a4fadc651a..921a96ea83df 100644
--- a/arch/m68k/emu/nfblock.c
+++ b/arch/m68k/emu/nfblock.c
@@ -112,7 +112,7 @@ static int __init nfhd_init_one(int id, u32 blocks, u32 bsize)
return -EINVAL;
}
- dev = kmalloc(sizeof(struct nfhd_device), GFP_KERNEL);
+ dev = kmalloc_obj(struct nfhd_device, GFP_KERNEL);
if (!dev)
goto out;
diff --git a/arch/m68k/mm/kmap.c b/arch/m68k/mm/kmap.c
index 7594a945732b..0ef6e6894a96 100644
--- a/arch/m68k/mm/kmap.c
+++ b/arch/m68k/mm/kmap.c
@@ -110,7 +110,7 @@ static struct vm_struct *get_io_area(unsigned long size)
unsigned long addr;
struct vm_struct **p, *tmp, *area;
- area = kmalloc(sizeof(*area), GFP_KERNEL);
+ area = kmalloc_obj(*area, GFP_KERNEL);
if (!area)
return NULL;
addr = KMAP_START;
diff --git a/arch/mips/alchemy/common/clock.c b/arch/mips/alchemy/common/clock.c
index 551b0d21d9dc..7ed84f26ac40 100644
--- a/arch/mips/alchemy/common/clock.c
+++ b/arch/mips/alchemy/common/clock.c
@@ -154,7 +154,7 @@ static struct clk __init *alchemy_clk_setup_cpu(const char *parent_name,
struct clk_hw *h;
struct clk *clk;
- h = kzalloc(sizeof(*h), GFP_KERNEL);
+ h = kzalloc_obj(*h, GFP_KERNEL);
if (!h)
return ERR_PTR(-ENOMEM);
@@ -249,7 +249,7 @@ static struct clk __init *alchemy_clk_setup_aux(const char *parent_name,
struct clk *c;
struct alchemy_auxpll_clk *a;
- a = kzalloc(sizeof(*a), GFP_KERNEL);
+ a = kzalloc_obj(*a, GFP_KERNEL);
if (!a)
return ERR_PTR(-ENOMEM);
@@ -775,7 +775,7 @@ static int __init alchemy_clk_init_fgens(int ctype)
}
id.flags = CLK_SET_RATE_PARENT | CLK_GET_RATE_NOCACHE;
- a = kcalloc(6, sizeof(*a), GFP_KERNEL);
+ a = kzalloc_objs(*a, 6, GFP_KERNEL);
if (!a)
return -ENOMEM;
@@ -996,7 +996,7 @@ static int __init alchemy_clk_setup_imux(int ctype)
return -ENODEV;
}
- a = kcalloc(6, sizeof(*a), GFP_KERNEL);
+ a = kzalloc_objs(*a, 6, GFP_KERNEL);
if (!a)
return -ENOMEM;
diff --git a/arch/mips/alchemy/common/dbdma.c b/arch/mips/alchemy/common/dbdma.c
index 6c2c2010bbae..eb420a6f2f9f 100644
--- a/arch/mips/alchemy/common/dbdma.c
+++ b/arch/mips/alchemy/common/dbdma.c
@@ -310,7 +310,7 @@ u32 au1xxx_dbdma_chan_alloc(u32 srcid, u32 destid,
* If kmalloc fails, it is caught below same
* as a channel not available.
*/
- ctp = kmalloc(sizeof(chan_tab_t), GFP_ATOMIC);
+ ctp = kmalloc_obj(chan_tab_t, GFP_ATOMIC);
chan_tab_ptr[i] = ctp;
break;
}
@@ -412,8 +412,8 @@ u32 au1xxx_dbdma_ring_alloc(u32 chanid, int entries)
* and if we try that first we are likely to not waste larger
* slabs of memory.
*/
- desc_base = (u32)kmalloc_array(entries, sizeof(au1x_ddma_desc_t),
- GFP_KERNEL|GFP_DMA);
+ desc_base = (u32) kmalloc_objs(au1x_ddma_desc_t, entries,
+ GFP_KERNEL | GFP_DMA);
if (desc_base == 0)
return 0;
@@ -1057,7 +1057,7 @@ static int __init dbdma_setup(unsigned int irq, dbdev_tab_t *idtable)
{
int ret;
- dbdev_tab = kcalloc(DBDEV_TAB_SIZE, sizeof(dbdev_tab_t), GFP_KERNEL);
+ dbdev_tab = kzalloc_objs(dbdev_tab_t, DBDEV_TAB_SIZE, GFP_KERNEL);
if (!dbdev_tab)
return -ENOMEM;
diff --git a/arch/mips/alchemy/common/platform.c b/arch/mips/alchemy/common/platform.c
index da74cae6b43a..931cf459facb 100644
--- a/arch/mips/alchemy/common/platform.c
+++ b/arch/mips/alchemy/common/platform.c
@@ -202,10 +202,10 @@ static unsigned long alchemy_ehci_data[][2] __initdata = {
static int __init _new_usbres(struct resource **r, struct platform_device **d)
{
- *r = kcalloc(2, sizeof(struct resource), GFP_KERNEL);
+ *r = kzalloc_objs(struct resource, 2, GFP_KERNEL);
if (!*r)
return -ENOMEM;
- *d = kzalloc(sizeof(struct platform_device), GFP_KERNEL);
+ *d = kzalloc_obj(struct platform_device, GFP_KERNEL);
if (!*d) {
kfree(*r);
return -ENOMEM;
diff --git a/arch/mips/alchemy/devboards/platform.c b/arch/mips/alchemy/devboards/platform.c
index 754bdd2ca630..40e804a898ec 100644
--- a/arch/mips/alchemy/devboards/platform.c
+++ b/arch/mips/alchemy/devboards/platform.c
@@ -87,7 +87,7 @@ int __init db1x_register_pcmcia_socket(phys_addr_t pcmcia_attr_start,
if (stschg_irq)
cnt++;
- sr = kcalloc(cnt, sizeof(struct resource), GFP_KERNEL);
+ sr = kzalloc_objs(struct resource, cnt, GFP_KERNEL);
if (!sr)
return -ENOMEM;
@@ -162,15 +162,15 @@ int __init db1x_register_norflash(unsigned long size, int width,
return -EINVAL;
ret = -ENOMEM;
- parts = kcalloc(5, sizeof(struct mtd_partition), GFP_KERNEL);
+ parts = kzalloc_objs(struct mtd_partition, 5, GFP_KERNEL);
if (!parts)
goto out;
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res)
goto out1;
- pfd = kzalloc(sizeof(struct physmap_flash_data), GFP_KERNEL);
+ pfd = kzalloc_obj(struct physmap_flash_data, GFP_KERNEL);
if (!pfd)
goto out2;
diff --git a/arch/mips/bcm47xx/setup.c b/arch/mips/bcm47xx/setup.c
index 38ed61b4bd96..d9e569af0d86 100644
--- a/arch/mips/bcm47xx/setup.c
+++ b/arch/mips/bcm47xx/setup.c
@@ -187,7 +187,7 @@ static struct device * __init bcm47xx_setup_device(void)
struct device *dev;
int err;
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return NULL;
diff --git a/arch/mips/cavium-octeon/octeon-irq.c b/arch/mips/cavium-octeon/octeon-irq.c
index 5c3de175ef5b..2a91e678fc1a 100644
--- a/arch/mips/cavium-octeon/octeon-irq.c
+++ b/arch/mips/cavium-octeon/octeon-irq.c
@@ -100,7 +100,7 @@ static int octeon_irq_set_ciu_mapping(int irq, int line, int bit, int gpio_line,
{
struct octeon_ciu_chip_data *cd;
- cd = kzalloc(sizeof(*cd), GFP_KERNEL);
+ cd = kzalloc_obj(*cd, GFP_KERNEL);
if (!cd)
return -ENOMEM;
@@ -1462,7 +1462,7 @@ static int __init octeon_irq_init_ciu(
struct irq_domain *ciu_domain = NULL;
struct octeon_irq_ciu_domain_data *dd;
- dd = kzalloc(sizeof(*dd), GFP_KERNEL);
+ dd = kzalloc_obj(*dd, GFP_KERNEL);
if (!dd)
return -ENOMEM;
@@ -1633,7 +1633,7 @@ static int __init octeon_irq_init_gpio(
return -EINVAL;
}
- gpiod = kzalloc(sizeof(*gpiod), GFP_KERNEL);
+ gpiod = kzalloc_obj(*gpiod, GFP_KERNEL);
if (gpiod) {
/* gpio domain host_data is the base hwirq number. */
gpiod->base_hwirq = base_hwirq;
@@ -2223,7 +2223,7 @@ static int octeon_irq_cib_map(struct irq_domain *d,
return -EINVAL;
}
- cd = kzalloc(sizeof(*cd), GFP_KERNEL);
+ cd = kzalloc_obj(*cd, GFP_KERNEL);
if (!cd)
return -ENOMEM;
@@ -2304,7 +2304,7 @@ static int __init octeon_irq_init_cib(struct device_node *ciu_node,
return -EINVAL;
}
- host_data = kzalloc(sizeof(*host_data), GFP_KERNEL);
+ host_data = kzalloc_obj(*host_data, GFP_KERNEL);
if (!host_data)
return -ENOMEM;
raw_spin_lock_init(&host_data->lock);
diff --git a/arch/mips/kernel/module.c b/arch/mips/kernel/module.c
index ba0f62d8eff5..9ef50013c818 100644
--- a/arch/mips/kernel/module.c
+++ b/arch/mips/kernel/module.c
@@ -72,7 +72,7 @@ static int apply_r_mips_hi16(struct module *me, u32 *location, Elf_Addr v,
* the carry we need to add. Save the information, and let LO16 do the
* actual relocation.
*/
- n = kmalloc(sizeof *n, GFP_KERNEL);
+ n = kmalloc_obj(*n, GFP_KERNEL);
if (!n)
return -ENOMEM;
diff --git a/arch/mips/kernel/smp-cps.c b/arch/mips/kernel/smp-cps.c
index 22d4f9ff3ae2..ef5dca1313b2 100644
--- a/arch/mips/kernel/smp-cps.c
+++ b/arch/mips/kernel/smp-cps.c
@@ -341,9 +341,8 @@ static void __init cps_prepare_cpus(unsigned int max_cpus)
/* Allocate cluster boot configuration structs */
nclusters = mips_cps_numclusters();
- mips_cps_cluster_bootcfg = kcalloc(nclusters,
- sizeof(*mips_cps_cluster_bootcfg),
- GFP_KERNEL);
+ mips_cps_cluster_bootcfg = kzalloc_objs(*mips_cps_cluster_bootcfg,
+ nclusters, GFP_KERNEL);
if (!mips_cps_cluster_bootcfg)
goto err_out;
@@ -353,8 +352,7 @@ static void __init cps_prepare_cpus(unsigned int max_cpus)
for (cl = 0; cl < nclusters; cl++) {
/* Allocate core boot configuration structs */
ncores = mips_cps_numcores(cl);
- core_bootcfg = kcalloc(ncores, sizeof(*core_bootcfg),
- GFP_KERNEL);
+ core_bootcfg = kzalloc_objs(*core_bootcfg, ncores, GFP_KERNEL);
if (!core_bootcfg)
goto err_out;
mips_cps_cluster_bootcfg[cl].core_config = core_bootcfg;
@@ -369,9 +367,9 @@ static void __init cps_prepare_cpus(unsigned int max_cpus)
for (c = 0; c < ncores; c++) {
int v;
core_vpes = core_vpe_count(cl, c);
- core_bootcfg[c].vpe_config = kcalloc(core_vpes,
- sizeof(*core_bootcfg[c].vpe_config),
- GFP_KERNEL);
+ core_bootcfg[c].vpe_config = kzalloc_objs(*core_bootcfg[c].vpe_config,
+ core_vpes,
+ GFP_KERNEL);
for (v = 0; v < core_vpes; v++)
cpumask_set_cpu(nvpe++, &mips_cps_cluster_bootcfg[cl].cpumask);
if (!core_bootcfg[c].vpe_config)
diff --git a/arch/mips/kernel/vpe.c b/arch/mips/kernel/vpe.c
index 2b67c44adab9..fdbb5c4de834 100644
--- a/arch/mips/kernel/vpe.c
+++ b/arch/mips/kernel/vpe.c
@@ -94,7 +94,7 @@ struct vpe *alloc_vpe(int minor)
{
struct vpe *v;
- v = kzalloc(sizeof(struct vpe), GFP_KERNEL);
+ v = kzalloc_obj(struct vpe, GFP_KERNEL);
if (v == NULL)
goto out;
@@ -115,7 +115,7 @@ struct tc *alloc_tc(int index)
{
struct tc *tc;
- tc = kzalloc(sizeof(struct tc), GFP_KERNEL);
+ tc = kzalloc_obj(struct tc, GFP_KERNEL);
if (tc == NULL)
goto out;
@@ -318,7 +318,7 @@ static int apply_r_mips_hi16(struct module *me, uint32_t *location,
* the carry we need to add. Save the information, and let LO16 do the
* actual relocation.
*/
- n = kmalloc(sizeof(*n), GFP_KERNEL);
+ n = kmalloc_obj(*n, GFP_KERNEL);
if (!n)
return -ENOMEM;
diff --git a/arch/mips/lantiq/falcon/sysctrl.c b/arch/mips/lantiq/falcon/sysctrl.c
index 577e6e6309a6..ee0e634f6fe1 100644
--- a/arch/mips/lantiq/falcon/sysctrl.c
+++ b/arch/mips/lantiq/falcon/sysctrl.c
@@ -161,7 +161,7 @@ static void falcon_gpe_enable(void)
static inline void clkdev_add_sys(const char *dev, unsigned int module,
unsigned int bits)
{
- struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ struct clk *clk = kzalloc_obj(struct clk, GFP_KERNEL);
if (!clk)
return;
diff --git a/arch/mips/lantiq/xway/gptu.c b/arch/mips/lantiq/xway/gptu.c
index 484c9e3000c1..f8f3f5383a34 100644
--- a/arch/mips/lantiq/xway/gptu.c
+++ b/arch/mips/lantiq/xway/gptu.c
@@ -121,7 +121,7 @@ static void gptu_disable(struct clk *clk)
static inline void clkdev_add_gptu(struct device *dev, const char *con,
unsigned int timer)
{
- struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ struct clk *clk = kzalloc_obj(struct clk, GFP_KERNEL);
if (!clk)
return;
diff --git a/arch/mips/lantiq/xway/sysctrl.c b/arch/mips/lantiq/xway/sysctrl.c
index d9aa80afdf9d..b7be6c710a15 100644
--- a/arch/mips/lantiq/xway/sysctrl.c
+++ b/arch/mips/lantiq/xway/sysctrl.c
@@ -331,7 +331,7 @@ static int clkout_enable(struct clk *clk)
static void clkdev_add_pmu(const char *dev, const char *con, bool deactivate,
unsigned int module, unsigned int bits)
{
- struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ struct clk *clk = kzalloc_obj(struct clk, GFP_KERNEL);
if (!clk)
return;
@@ -356,7 +356,7 @@ static void clkdev_add_pmu(const char *dev, const char *con, bool deactivate,
static void clkdev_add_cgu(const char *dev, const char *con,
unsigned int bits)
{
- struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ struct clk *clk = kzalloc_obj(struct clk, GFP_KERNEL);
if (!clk)
return;
@@ -374,8 +374,8 @@ static unsigned long valid_pci_rates[] = {CLOCK_33M, CLOCK_62_5M, 0};
static void clkdev_add_pci(void)
{
- struct clk *clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
- struct clk *clk_ext = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ struct clk *clk = kzalloc_obj(struct clk, GFP_KERNEL);
+ struct clk *clk_ext = kzalloc_obj(struct clk, GFP_KERNEL);
/* main pci clock */
if (clk) {
@@ -423,7 +423,7 @@ static void clkdev_add_clkout(void)
continue;
sprintf(name, "clkout%d", i);
- clk = kzalloc(sizeof(struct clk), GFP_KERNEL);
+ clk = kzalloc_obj(struct clk, GFP_KERNEL);
if (!clk) {
kfree(name);
continue;
diff --git a/arch/mips/loongson64/init.c b/arch/mips/loongson64/init.c
index b9f90f33fc9a..5f73f8663ab2 100644
--- a/arch/mips/loongson64/init.c
+++ b/arch/mips/loongson64/init.c
@@ -156,7 +156,7 @@ static int __init add_legacy_isa_io(struct fwnode_handle *fwnode, resource_size_
struct logic_pio_hwaddr *range;
unsigned long vaddr;
- range = kzalloc(sizeof(*range), GFP_ATOMIC);
+ range = kzalloc_obj(*range, GFP_ATOMIC);
if (!range)
return -ENOMEM;
diff --git a/arch/mips/pci/pci-alchemy.c b/arch/mips/pci/pci-alchemy.c
index 6bfee0f71803..d5b4f0e6bee3 100644
--- a/arch/mips/pci/pci-alchemy.c
+++ b/arch/mips/pci/pci-alchemy.c
@@ -380,7 +380,7 @@ static int alchemy_pci_probe(struct platform_device *pdev)
goto out;
}
- ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
+ ctx = kzalloc_obj(*ctx, GFP_KERNEL);
if (!ctx) {
dev_err(&pdev->dev, "no memory for pcictl context\n");
ret = -ENOMEM;
diff --git a/arch/mips/pci/pci-xtalk-bridge.c b/arch/mips/pci/pci-xtalk-bridge.c
index e00c38620d14..c78f99eebe1a 100644
--- a/arch/mips/pci/pci-xtalk-bridge.c
+++ b/arch/mips/pci/pci-xtalk-bridge.c
@@ -341,7 +341,7 @@ static int bridge_domain_alloc(struct irq_domain *domain, unsigned int virq,
if (nr_irqs > 1 || !info)
return -EINVAL;
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
diff --git a/arch/mips/ralink/mt7620.c b/arch/mips/ralink/mt7620.c
index 672249a13a09..c493fe67802c 100644
--- a/arch/mips/ralink/mt7620.c
+++ b/arch/mips/ralink/mt7620.c
@@ -198,7 +198,7 @@ static int __init mt7620_soc_dev_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/mips/ralink/mt7621.c b/arch/mips/ralink/mt7621.c
index 5a9fd3fe41d7..ca70966da6f7 100644
--- a/arch/mips/ralink/mt7621.c
+++ b/arch/mips/ralink/mt7621.c
@@ -144,7 +144,7 @@ static int __init mt7621_soc_dev_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/mips/ralink/rt288x.c b/arch/mips/ralink/rt288x.c
index ce8b5b6025bb..d60fd84e4b9c 100644
--- a/arch/mips/ralink/rt288x.c
+++ b/arch/mips/ralink/rt288x.c
@@ -68,7 +68,7 @@ static int __init rt2880_soc_dev_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/mips/ralink/rt305x.c b/arch/mips/ralink/rt305x.c
index 1f422470b029..6abd2a56ba27 100644
--- a/arch/mips/ralink/rt305x.c
+++ b/arch/mips/ralink/rt305x.c
@@ -171,7 +171,7 @@ static int __init rt305x_soc_dev_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/mips/ralink/rt3883.c b/arch/mips/ralink/rt3883.c
index 21ce00da5758..60605941b4b2 100644
--- a/arch/mips/ralink/rt3883.c
+++ b/arch/mips/ralink/rt3883.c
@@ -68,7 +68,7 @@ static int __init rt3883_soc_dev_init(void)
struct soc_device *soc_dev;
struct soc_device_attribute *soc_dev_attr;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (!soc_dev_attr)
return -ENOMEM;
diff --git a/arch/mips/sgi-ip22/ip22-gio.c b/arch/mips/sgi-ip22/ip22-gio.c
index 19b70928d6dc..08604e5836bc 100644
--- a/arch/mips/sgi-ip22/ip22-gio.c
+++ b/arch/mips/sgi-ip22/ip22-gio.c
@@ -361,7 +361,7 @@ static void ip22_check_gio(int slotno, unsigned long addr, int irq)
}
printk(KERN_INFO "GIO: slot %d : %s (id %x)\n",
slotno, name, id);
- gio_dev = kzalloc(sizeof *gio_dev, GFP_KERNEL);
+ gio_dev = kzalloc_obj(*gio_dev, GFP_KERNEL);
if (!gio_dev)
return;
gio_dev->name = name;
diff --git a/arch/mips/sgi-ip27/ip27-irq.c b/arch/mips/sgi-ip27/ip27-irq.c
index 20ef663af16e..fb3e9bfa6abf 100644
--- a/arch/mips/sgi-ip27/ip27-irq.c
+++ b/arch/mips/sgi-ip27/ip27-irq.c
@@ -129,7 +129,7 @@ static int hub_domain_alloc(struct irq_domain *domain, unsigned int virq,
if (nr_irqs > 1 || !info)
return -EINVAL;
- hd = kzalloc(sizeof(*hd), GFP_KERNEL);
+ hd = kzalloc_obj(*hd, GFP_KERNEL);
if (!hd)
return -ENOMEM;
diff --git a/arch/mips/sgi-ip27/ip27-xtalk.c b/arch/mips/sgi-ip27/ip27-xtalk.c
index 5143d1cf8984..5504c3234d5a 100644
--- a/arch/mips/sgi-ip27/ip27-xtalk.c
+++ b/arch/mips/sgi-ip27/ip27-xtalk.c
@@ -34,7 +34,7 @@ static void bridge_platform_create(nasid_t nasid, int widget, int masterwid)
offset = NODE_OFFSET(nasid);
- wd = kzalloc(sizeof(*wd), GFP_KERNEL);
+ wd = kzalloc_obj(*wd, GFP_KERNEL);
if (!wd) {
pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget);
return;
@@ -69,7 +69,7 @@ static void bridge_platform_create(nasid_t nasid, int widget, int masterwid)
/* platform_device_add_data() duplicates the data */
kfree(wd);
- bd = kzalloc(sizeof(*bd), GFP_KERNEL);
+ bd = kzalloc_obj(*bd, GFP_KERNEL);
if (!bd) {
pr_warn("xtalk:n%d/%x bridge create out of memory\n", nasid, widget);
goto err_unregister_pdev_wd;
diff --git a/arch/mips/sgi-ip30/ip30-irq.c b/arch/mips/sgi-ip30/ip30-irq.c
index 9fb905e2cf14..1ffa97c578fa 100644
--- a/arch/mips/sgi-ip30/ip30-irq.c
+++ b/arch/mips/sgi-ip30/ip30-irq.c
@@ -209,7 +209,7 @@ static int heart_domain_alloc(struct irq_domain *domain, unsigned int virq,
if (nr_irqs > 1 || !info)
return -EINVAL;
- hd = kzalloc(sizeof(*hd), GFP_KERNEL);
+ hd = kzalloc_obj(*hd, GFP_KERNEL);
if (!hd)
return -ENOMEM;
diff --git a/arch/mips/sgi-ip30/ip30-xtalk.c b/arch/mips/sgi-ip30/ip30-xtalk.c
index d798ee8c998c..e5525f1b617e 100644
--- a/arch/mips/sgi-ip30/ip30-xtalk.c
+++ b/arch/mips/sgi-ip30/ip30-xtalk.c
@@ -44,7 +44,7 @@ static void bridge_platform_create(int widget, int masterwid)
struct platform_device *pdev_bd;
struct resource w1_res;
- wd = kzalloc(sizeof(*wd), GFP_KERNEL);
+ wd = kzalloc_obj(*wd, GFP_KERNEL);
if (!wd) {
pr_warn("xtalk:%x bridge create out of memory\n", widget);
return;
@@ -79,7 +79,7 @@ static void bridge_platform_create(int widget, int masterwid)
/* platform_device_add_data() duplicates the data */
kfree(wd);
- bd = kzalloc(sizeof(*bd), GFP_KERNEL);
+ bd = kzalloc_obj(*bd, GFP_KERNEL);
if (!bd) {
pr_warn("xtalk:%x bridge create out of memory\n", widget);
goto err_unregister_pdev_wd;
diff --git a/arch/mips/txx9/generic/pci.c b/arch/mips/txx9/generic/pci.c
index d9249f5a632e..1976c06ee667 100644
--- a/arch/mips/txx9/generic/pci.c
+++ b/arch/mips/txx9/generic/pci.c
@@ -120,7 +120,7 @@ txx9_alloc_pci_controller(struct pci_controller *pcic,
int min_size = 0x10000;
if (!pcic) {
- new = kzalloc(sizeof(*new), GFP_KERNEL);
+ new = kzalloc_obj(*new, GFP_KERNEL);
if (!new)
return NULL;
new->r_mem[0].name = "PCI mem";
diff --git a/arch/mips/txx9/generic/setup.c b/arch/mips/txx9/generic/setup.c
index 03f8a3a95637..5cf490edea5a 100644
--- a/arch/mips/txx9/generic/setup.c
+++ b/arch/mips/txx9/generic/setup.c
@@ -648,7 +648,7 @@ void __init txx9_iocled_init(unsigned long baseaddr,
if (!deftriggers)
deftriggers = default_triggers;
- iocled = kzalloc(sizeof(*iocled), GFP_KERNEL);
+ iocled = kzalloc_obj(*iocled, GFP_KERNEL);
if (!iocled)
return;
iocled->mmioaddr = ioremap(baseaddr, 1);
@@ -822,7 +822,7 @@ void __init txx9_sramc_init(struct resource *r)
err = subsys_system_register(&txx9_sramc_subsys, NULL);
if (err)
return;
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return;
size = resource_size(r);
diff --git a/arch/nios2/platform/platform.c b/arch/nios2/platform/platform.c
index 9737a87121fa..567e41095a40 100644
--- a/arch/nios2/platform/platform.c
+++ b/arch/nios2/platform/platform.c
@@ -28,7 +28,7 @@ static int __init nios2_soc_device_init(void)
struct soc_device_attribute *soc_dev_attr;
const char *machine;
- soc_dev_attr = kzalloc(sizeof(*soc_dev_attr), GFP_KERNEL);
+ soc_dev_attr = kzalloc_obj(*soc_dev_attr, GFP_KERNEL);
if (soc_dev_attr) {
machine = of_flat_dt_get_machine_name();
if (machine)
diff --git a/arch/parisc/kernel/drivers.c b/arch/parisc/kernel/drivers.c
index 7707158a7840..0a5868035ff0 100644
--- a/arch/parisc/kernel/drivers.c
+++ b/arch/parisc/kernel/drivers.c
@@ -418,7 +418,7 @@ static void setup_bus_id(struct parisc_device *padev)
static struct parisc_device * __init create_tree_node(char id,
struct device *parent)
{
- struct parisc_device *dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ struct parisc_device *dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return NULL;
diff --git a/arch/parisc/kernel/inventory.c b/arch/parisc/kernel/inventory.c
index 05798355cff4..af827d32bcca 100644
--- a/arch/parisc/kernel/inventory.c
+++ b/arch/parisc/kernel/inventory.c
@@ -193,7 +193,7 @@ pat_query_module(ulong pcell_loc, ulong mod_index)
long status; /* PDC return value status */
struct parisc_device *dev;
- pa_pdc_cell = kmalloc(sizeof (*pa_pdc_cell), GFP_KERNEL);
+ pa_pdc_cell = kmalloc_obj(*pa_pdc_cell, GFP_KERNEL);
if (!pa_pdc_cell)
panic("couldn't allocate memory for PDC_PAT_CELL!");
@@ -536,7 +536,7 @@ add_system_map_addresses(struct parisc_device *dev, int num_addrs,
long status;
struct pdc_system_map_addr_info addr_result;
- dev->addr = kmalloc_array(num_addrs, sizeof(*dev->addr), GFP_KERNEL);
+ dev->addr = kmalloc_objs(*dev->addr, num_addrs, GFP_KERNEL);
if(!dev->addr) {
printk(KERN_ERR "%s %s(): memory allocation failure\n",
__FILE__, __func__);
diff --git a/arch/parisc/kernel/processor.c b/arch/parisc/kernel/processor.c
index beb30c5de097..742e831de73c 100644
--- a/arch/parisc/kernel/processor.c
+++ b/arch/parisc/kernel/processor.c
@@ -110,7 +110,7 @@ static int __init processor_probe(struct parisc_device *dev)
unsigned long bytecnt;
pdc_pat_cell_mod_maddr_block_t *pa_pdc_cell;
- pa_pdc_cell = kmalloc(sizeof (*pa_pdc_cell), GFP_KERNEL);
+ pa_pdc_cell = kmalloc_obj(*pa_pdc_cell, GFP_KERNEL);
if (!pa_pdc_cell)
panic("couldn't allocate memory for PDC_PAT_CELL!");
diff --git a/arch/parisc/kernel/unwind.c b/arch/parisc/kernel/unwind.c
index 7ac88ff13d3c..32103a270a8e 100644
--- a/arch/parisc/kernel/unwind.c
+++ b/arch/parisc/kernel/unwind.c
@@ -157,7 +157,7 @@ unwind_table_add(const char *name, unsigned long base_addr,
unwind_table_sort(s, e);
- table = kmalloc(sizeof(struct unwind_table), GFP_USER);
+ table = kmalloc_obj(struct unwind_table, GFP_USER);
if (table == NULL)
return NULL;
unwind_table_init(table, name, base_addr, gp, start, end);
@@ -408,7 +408,7 @@ void unwind_frame_init_from_blocked_task(struct unwind_frame_info *info, struct
struct pt_regs *r = &t->thread.regs;
struct pt_regs *r2;
- r2 = kmalloc(sizeof(struct pt_regs), GFP_ATOMIC);
+ r2 = kmalloc_obj(struct pt_regs, GFP_ATOMIC);
if (!r2)
return;
*r2 = *r;
diff --git a/arch/parisc/kernel/vdso.c b/arch/parisc/kernel/vdso.c
index c5cbfce7a84c..a91a6a67d680 100644
--- a/arch/parisc/kernel/vdso.c
+++ b/arch/parisc/kernel/vdso.c
@@ -102,7 +102,7 @@ static struct page ** __init vdso_setup_pages(void *start, void *end)
struct page **pagelist;
int i;
- pagelist = kcalloc(pages + 1, sizeof(struct page *), GFP_KERNEL);
+ pagelist = kzalloc_objs(struct page *, pages + 1, GFP_KERNEL);
if (!pagelist)
panic("%s: Cannot allocate page list for VDSO", __func__);
for (i = 0; i < pages; i++)
diff --git a/arch/parisc/net/bpf_jit_core.c b/arch/parisc/net/bpf_jit_core.c
index 06cbcd6fe87b..af852116adf8 100644
--- a/arch/parisc/net/bpf_jit_core.c
+++ b/arch/parisc/net/bpf_jit_core.c
@@ -63,7 +63,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
@@ -80,7 +80,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
}
ctx->prog = prog;
- ctx->offset = kcalloc(prog->len, sizeof(int), GFP_KERNEL);
+ ctx->offset = kzalloc_objs(int, prog->len, GFP_KERNEL);
if (!ctx->offset) {
prog = orig_prog;
goto out_offset;
diff --git a/arch/powerpc/kernel/cacheinfo.c b/arch/powerpc/kernel/cacheinfo.c
index 0fcc463b02e2..1298c868f9b6 100644
--- a/arch/powerpc/kernel/cacheinfo.c
+++ b/arch/powerpc/kernel/cacheinfo.c
@@ -157,7 +157,7 @@ static struct cache *new_cache(int type, int level,
{
struct cache *cache;
- cache = kzalloc(sizeof(*cache), GFP_KERNEL);
+ cache = kzalloc_obj(*cache, GFP_KERNEL);
if (cache)
cache_init(cache, type, level, ofnode, group_id);
@@ -540,7 +540,7 @@ static struct cache_dir *cacheinfo_create_cache_dir(unsigned int cpu_id)
if (!kobj)
goto err;
- cache_dir = kzalloc(sizeof(*cache_dir), GFP_KERNEL);
+ cache_dir = kzalloc_obj(*cache_dir, GFP_KERNEL);
if (!cache_dir)
goto err;
@@ -788,7 +788,7 @@ static void cacheinfo_create_index_dir(struct cache *cache, int index,
struct cache_index_dir *index_dir;
int rc;
- index_dir = kzalloc(sizeof(*index_dir), GFP_KERNEL);
+ index_dir = kzalloc_obj(*index_dir, GFP_KERNEL);
if (!index_dir)
return;
diff --git a/arch/powerpc/kernel/eeh_cache.c b/arch/powerpc/kernel/eeh_cache.c
index 2f9dbf8ad2ee..57e5382f790a 100644
--- a/arch/powerpc/kernel/eeh_cache.c
+++ b/arch/powerpc/kernel/eeh_cache.c
@@ -138,7 +138,7 @@ eeh_addr_cache_insert(struct pci_dev *dev, resource_size_t alo,
return piar;
}
}
- piar = kzalloc(sizeof(struct pci_io_addr_range), GFP_ATOMIC);
+ piar = kzalloc_obj(struct pci_io_addr_range, GFP_ATOMIC);
if (!piar)
return NULL;
diff --git a/arch/powerpc/kernel/eeh_event.c b/arch/powerpc/kernel/eeh_event.c
index c23a454af08a..279c1ceccd6d 100644
--- a/arch/powerpc/kernel/eeh_event.c
+++ b/arch/powerpc/kernel/eeh_event.c
@@ -104,7 +104,7 @@ int __eeh_send_failure_event(struct eeh_pe *pe)
unsigned long flags;
struct eeh_event *event;
- event = kzalloc(sizeof(*event), GFP_ATOMIC);
+ event = kzalloc_obj(*event, GFP_ATOMIC);
if (!event) {
pr_err("EEH: out of memory, event not handled\n");
return -ENOMEM;
diff --git a/arch/powerpc/kernel/nvram_64.c b/arch/powerpc/kernel/nvram_64.c
index f9c6568a9137..0c0d3c30432b 100644
--- a/arch/powerpc/kernel/nvram_64.c
+++ b/arch/powerpc/kernel/nvram_64.c
@@ -890,7 +890,7 @@ loff_t __init nvram_create_partition(const char *name, int sig,
return -ENOSPC;
/* Create our OS partition */
- new_part = kzalloc(sizeof(*new_part), GFP_KERNEL);
+ new_part = kzalloc_obj(*new_part, GFP_KERNEL);
if (!new_part) {
pr_err("%s: kmalloc failed\n", __func__);
return -ENOMEM;
@@ -1030,7 +1030,7 @@ int __init nvram_scan_partitions(void)
"detected: 0-length partition\n");
goto out;
}
- tmp_part = kmalloc(sizeof(*tmp_part), GFP_KERNEL);
+ tmp_part = kmalloc_obj(*tmp_part, GFP_KERNEL);
err = -ENOMEM;
if (!tmp_part) {
printk(KERN_ERR "nvram_scan_partitions: kmalloc failed\n");
diff --git a/arch/powerpc/kernel/pci-common.c b/arch/powerpc/kernel/pci-common.c
index eac84d687b53..7845c9c7f136 100644
--- a/arch/powerpc/kernel/pci-common.c
+++ b/arch/powerpc/kernel/pci-common.c
@@ -125,7 +125,7 @@ struct pci_controller *pcibios_alloc_controller(struct device_node *dev)
{
struct pci_controller *phb;
- phb = kzalloc(sizeof(struct pci_controller), GFP_KERNEL);
+ phb = kzalloc_obj(struct pci_controller, GFP_KERNEL);
if (phb == NULL)
return NULL;
@@ -432,7 +432,7 @@ static int pci_read_irq_line(struct pci_dev *pci_dev)
struct pci_intx_virq *vi, *vitmp;
/* Preallocate vi as rewind is complex if this fails after mapping */
- vi = kzalloc(sizeof(struct pci_intx_virq), GFP_KERNEL);
+ vi = kzalloc_obj(struct pci_intx_virq, GFP_KERNEL);
if (!vi)
return -1;
@@ -1368,7 +1368,7 @@ static void __init pcibios_reserve_legacy_regions(struct pci_bus *bus)
if (!(hose->io_resource.flags & IORESOURCE_IO))
goto no_io;
offset = (unsigned long)hose->io_base_virt - _IO_BASE;
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
BUG_ON(res == NULL);
res->name = "Legacy IO";
res->flags = IORESOURCE_IO;
@@ -1396,7 +1396,7 @@ static void __init pcibios_reserve_legacy_regions(struct pci_bus *bus)
}
if (i >= 3)
return;
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
BUG_ON(res == NULL);
res->name = "Legacy VGA memory";
res->flags = IORESOURCE_MEM;
diff --git a/arch/powerpc/kernel/pci_dn.c b/arch/powerpc/kernel/pci_dn.c
index 38561d6a2079..25310680fcc5 100644
--- a/arch/powerpc/kernel/pci_dn.c
+++ b/arch/powerpc/kernel/pci_dn.c
@@ -130,7 +130,7 @@ static struct eeh_dev *eeh_dev_init(struct pci_dn *pdn)
struct eeh_dev *edev;
/* Allocate EEH device */
- edev = kzalloc(sizeof(*edev), GFP_KERNEL);
+ edev = kzalloc_obj(*edev, GFP_KERNEL);
if (!edev)
return NULL;
@@ -154,7 +154,7 @@ static struct pci_dn *add_one_sriov_vf_pdn(struct pci_dn *parent,
if (!parent)
return NULL;
- pdn = kzalloc(sizeof(*pdn), GFP_KERNEL);
+ pdn = kzalloc_obj(*pdn, GFP_KERNEL);
if (!pdn)
return NULL;
@@ -290,7 +290,7 @@ struct pci_dn *pci_add_device_node_info(struct pci_controller *hose,
struct eeh_dev *edev;
#endif
- pdn = kzalloc(sizeof(*pdn), GFP_KERNEL);
+ pdn = kzalloc_obj(*pdn, GFP_KERNEL);
if (pdn == NULL)
return NULL;
dn->data = pdn;
diff --git a/arch/powerpc/kernel/secvar-sysfs.c b/arch/powerpc/kernel/secvar-sysfs.c
index 4111b21962eb..6b2a7ab69d78 100644
--- a/arch/powerpc/kernel/secvar-sysfs.c
+++ b/arch/powerpc/kernel/secvar-sysfs.c
@@ -151,7 +151,7 @@ static __init int add_var(const char *name)
struct kobject *kobj;
int rc;
- kobj = kzalloc(sizeof(*kobj), GFP_KERNEL);
+ kobj = kzalloc_obj(*kobj, GFP_KERNEL);
if (!kobj)
return -ENOMEM;
diff --git a/arch/powerpc/kernel/smp-tbsync.c b/arch/powerpc/kernel/smp-tbsync.c
index 21c39355b25e..5f26c0352538 100644
--- a/arch/powerpc/kernel/smp-tbsync.c
+++ b/arch/powerpc/kernel/smp-tbsync.c
@@ -117,7 +117,7 @@ void smp_generic_give_timebase(void)
pr_debug("Software timebase sync\n");
/* if this fails then this kernel won't work anyway... */
- tbsync = kzalloc( sizeof(*tbsync), GFP_KERNEL );
+ tbsync = kzalloc_obj(*tbsync, GFP_KERNEL);
mb();
running = 1;
diff --git a/arch/powerpc/kernel/smp.c b/arch/powerpc/kernel/smp.c
index cad3358fa4c3..288763d59adb 100644
--- a/arch/powerpc/kernel/smp.c
+++ b/arch/powerpc/kernel/smp.c
@@ -1172,7 +1172,7 @@ void __init smp_prepare_cpus(unsigned int max_cpus)
* Assumption: if boot_cpuid doesn't have a chip-id, then no
* other CPUs, will also not have chip-id.
*/
- chip_id_lookup_table = kcalloc(idx, sizeof(int), GFP_KERNEL);
+ chip_id_lookup_table = kzalloc_objs(int, idx, GFP_KERNEL);
if (chip_id_lookup_table)
memset(chip_id_lookup_table, -1, sizeof(int) * idx);
}
diff --git a/arch/powerpc/kernel/vdso.c b/arch/powerpc/kernel/vdso.c
index ab7c4cc80943..2729631d9d07 100644
--- a/arch/powerpc/kernel/vdso.c
+++ b/arch/powerpc/kernel/vdso.c
@@ -245,7 +245,7 @@ static struct page ** __init vdso_setup_pages(void *start, void *end)
struct page **pagelist;
int pages = (end - start) >> PAGE_SHIFT;
- pagelist = kcalloc(pages + 1, sizeof(struct page *), GFP_KERNEL);
+ pagelist = kzalloc_objs(struct page *, pages + 1, GFP_KERNEL);
if (!pagelist)
panic("%s: Cannot allocate page list for VDSO", __func__);
diff --git a/arch/powerpc/kvm/book3s_64_mmu_hv.c b/arch/powerpc/kvm/book3s_64_mmu_hv.c
index f305395cf26e..347847aec315 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_hv.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_hv.c
@@ -1494,7 +1494,7 @@ int kvm_vm_ioctl_resize_hpt_prepare(struct kvm *kvm,
/* start new resize */
- resize = kzalloc(sizeof(*resize), GFP_KERNEL);
+ resize = kzalloc_obj(*resize, GFP_KERNEL);
if (!resize) {
ret = -ENOMEM;
goto out;
@@ -1943,7 +1943,7 @@ int kvm_vm_ioctl_get_htab_fd(struct kvm *kvm, struct kvm_get_htab_fd *ghf)
/* reject flags we don't recognize */
if (ghf->flags & ~(KVM_GET_HTAB_BOLTED_ONLY | KVM_GET_HTAB_WRITE))
return -EINVAL;
- ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
+ ctx = kzalloc_obj(*ctx, GFP_KERNEL);
if (!ctx)
return -ENOMEM;
kvm_get_kvm(kvm);
@@ -1985,7 +1985,7 @@ static int debugfs_htab_open(struct inode *inode, struct file *file)
struct kvm *kvm = inode->i_private;
struct debugfs_htab_state *p;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
diff --git a/arch/powerpc/kvm/book3s_64_mmu_radix.c b/arch/powerpc/kvm/book3s_64_mmu_radix.c
index b3e6e73d6a08..82af0508993c 100644
--- a/arch/powerpc/kvm/book3s_64_mmu_radix.c
+++ b/arch/powerpc/kvm/book3s_64_mmu_radix.c
@@ -1256,7 +1256,7 @@ static int debugfs_radix_open(struct inode *inode, struct file *file)
struct kvm *kvm = inode->i_private;
struct debugfs_radix_state *p;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
diff --git a/arch/powerpc/kvm/book3s_64_vio.c b/arch/powerpc/kvm/book3s_64_vio.c
index 742aa58a7c7e..70c73864aab8 100644
--- a/arch/powerpc/kvm/book3s_64_vio.c
+++ b/arch/powerpc/kvm/book3s_64_vio.c
@@ -178,7 +178,7 @@ long kvm_spapr_tce_attach_iommu_group(struct kvm *kvm, int tablefd,
}
rcu_read_unlock();
- stit = kzalloc(sizeof(*stit), GFP_KERNEL);
+ stit = kzalloc_obj(*stit, GFP_KERNEL);
if (!stit) {
iommu_tce_table_put(tbl);
return -ENOMEM;
@@ -305,7 +305,7 @@ int kvm_vm_ioctl_create_spapr_tce(struct kvm *kvm,
return ret;
ret = -ENOMEM;
- stt = kzalloc(struct_size(stt, pages, npages), GFP_KERNEL | __GFP_NOWARN);
+ stt = kzalloc_flex(*stt, pages, npages, GFP_KERNEL | __GFP_NOWARN);
if (!stt)
goto fail_acct;
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c
index 7667563fb9ff..e6f6a58c5e36 100644
--- a/arch/powerpc/kvm/book3s_hv.c
+++ b/arch/powerpc/kvm/book3s_hv.c
@@ -2790,7 +2790,7 @@ static struct kvmppc_vcore *kvmppc_vcore_create(struct kvm *kvm, int id)
{
struct kvmppc_vcore *vcore;
- vcore = kzalloc(sizeof(struct kvmppc_vcore), GFP_KERNEL);
+ vcore = kzalloc_obj(struct kvmppc_vcore, GFP_KERNEL);
if (vcore == NULL)
return NULL;
@@ -2842,7 +2842,7 @@ static int debugfs_timings_open(struct inode *inode, struct file *file)
struct kvm_vcpu *vcpu = inode->i_private;
struct debugfs_timings_state *p;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
@@ -5637,7 +5637,7 @@ void kvmppc_alloc_host_rm_ops(void)
if (kvmppc_host_rm_ops_hv != NULL)
return;
- ops = kzalloc(sizeof(struct kvmppc_host_rm_ops), GFP_KERNEL);
+ ops = kzalloc_obj(struct kvmppc_host_rm_ops, GFP_KERNEL);
if (!ops)
return;
@@ -5960,7 +5960,7 @@ void kvmppc_free_pimap(struct kvm *kvm)
static struct kvmppc_passthru_irqmap *kvmppc_alloc_pimap(void)
{
- return kzalloc(sizeof(struct kvmppc_passthru_irqmap), GFP_KERNEL);
+ return kzalloc_obj(struct kvmppc_passthru_irqmap, GFP_KERNEL);
}
static int kvmppc_set_passthru_irq(struct kvm *kvm, int host_irq, int guest_gsi)
diff --git a/arch/powerpc/kvm/book3s_hv_nested.c b/arch/powerpc/kvm/book3s_hv_nested.c
index 5f8c2321cfb5..9bbac7fe2046 100644
--- a/arch/powerpc/kvm/book3s_hv_nested.c
+++ b/arch/powerpc/kvm/book3s_hv_nested.c
@@ -726,7 +726,7 @@ static struct kvm_nested_guest *kvmhv_alloc_nested(struct kvm *kvm, unsigned int
struct kvm_nested_guest *gp;
long shadow_lpid;
- gp = kzalloc(sizeof(*gp), GFP_KERNEL);
+ gp = kzalloc_obj(*gp, GFP_KERNEL);
if (!gp)
return NULL;
gp->l1_host = kvm;
@@ -1671,7 +1671,7 @@ static long int __kvmhv_nested_page_fault(struct kvm_vcpu *vcpu,
/* 4. Insert the pte into our shadow_pgtable */
- n_rmap = kzalloc(sizeof(*n_rmap), GFP_KERNEL);
+ n_rmap = kzalloc_obj(*n_rmap, GFP_KERNEL);
if (!n_rmap)
return RESUME_GUEST; /* Let the guest try again */
n_rmap->rmap = (n_gpa & RMAP_NESTED_GPA_MASK) |
diff --git a/arch/powerpc/kvm/book3s_hv_uvmem.c b/arch/powerpc/kvm/book3s_hv_uvmem.c
index 7cf9310de0ec..f960294dfc79 100644
--- a/arch/powerpc/kvm/book3s_hv_uvmem.c
+++ b/arch/powerpc/kvm/book3s_hv_uvmem.c
@@ -249,7 +249,7 @@ int kvmppc_uvmem_slot_init(struct kvm *kvm, const struct kvm_memory_slot *slot)
{
struct kvmppc_uvmem_slot *p;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
p->pfns = vcalloc(slot->npages, sizeof(*p->pfns));
@@ -711,7 +711,7 @@ static struct page *kvmppc_uvmem_get_page(unsigned long gpa, struct kvm *kvm)
bitmap_set(kvmppc_uvmem_bitmap, bit, 1);
spin_unlock(&kvmppc_uvmem_bitmap_lock);
- pvt = kzalloc(sizeof(*pvt), GFP_KERNEL);
+ pvt = kzalloc_obj(*pvt, GFP_KERNEL);
if (!pvt)
goto out_clear;
diff --git a/arch/powerpc/kvm/book3s_pr.c b/arch/powerpc/kvm/book3s_pr.c
index 83bcdc80ce51..b7fdb089f2af 100644
--- a/arch/powerpc/kvm/book3s_pr.c
+++ b/arch/powerpc/kvm/book3s_pr.c
@@ -1738,8 +1738,8 @@ static int kvmppc_core_vcpu_create_pr(struct kvm_vcpu *vcpu)
vcpu->arch.book3s = vcpu_book3s;
#ifdef CONFIG_KVM_BOOK3S_32_HANDLER
- vcpu->arch.shadow_vcpu =
- kzalloc(sizeof(*vcpu->arch.shadow_vcpu), GFP_KERNEL);
+ vcpu->arch.shadow_vcpu = kzalloc_obj(*vcpu->arch.shadow_vcpu,
+ GFP_KERNEL);
if (!vcpu->arch.shadow_vcpu)
goto free_vcpu3s;
#endif
diff --git a/arch/powerpc/kvm/book3s_rtas.c b/arch/powerpc/kvm/book3s_rtas.c
index 6808bda0dbc1..d6f8f33cc98b 100644
--- a/arch/powerpc/kvm/book3s_rtas.c
+++ b/arch/powerpc/kvm/book3s_rtas.c
@@ -183,7 +183,7 @@ static int rtas_token_define(struct kvm *kvm, char *name, u64 token)
if (!found)
return -ENOENT;
- d = kzalloc(sizeof(*d), GFP_KERNEL);
+ d = kzalloc_obj(*d, GFP_KERNEL);
if (!d)
return -ENOMEM;
diff --git a/arch/powerpc/kvm/book3s_xics.c b/arch/powerpc/kvm/book3s_xics.c
index 589a8f257120..3ba148b1d22f 100644
--- a/arch/powerpc/kvm/book3s_xics.c
+++ b/arch/powerpc/kvm/book3s_xics.c
@@ -1037,7 +1037,7 @@ static struct kvmppc_ics *kvmppc_xics_create_ics(struct kvm *kvm,
goto out;
/* Create the ICS */
- ics = kzalloc(sizeof(struct kvmppc_ics), GFP_KERNEL);
+ ics = kzalloc_obj(struct kvmppc_ics, GFP_KERNEL);
if (!ics)
goto out;
@@ -1069,7 +1069,7 @@ static int kvmppc_xics_create_icp(struct kvm_vcpu *vcpu, unsigned long server_nu
if (kvmppc_xics_find_server(vcpu->kvm, server_num))
return -EEXIST;
- icp = kzalloc(sizeof(struct kvmppc_icp), GFP_KERNEL);
+ icp = kzalloc_obj(struct kvmppc_icp, GFP_KERNEL);
if (!icp)
return -ENOMEM;
@@ -1388,7 +1388,7 @@ static struct kvmppc_xics *kvmppc_xics_get_device(struct kvm *kvm)
struct kvmppc_xics *xics = *kvm_xics_device;
if (!xics) {
- xics = kzalloc(sizeof(*xics), GFP_KERNEL);
+ xics = kzalloc_obj(*xics, GFP_KERNEL);
*kvm_xics_device = xics;
} else {
memset(xics, 0, sizeof(*xics));
diff --git a/arch/powerpc/kvm/book3s_xive.c b/arch/powerpc/kvm/book3s_xive.c
index 89a1b8c21ab4..ae69a1e1dd17 100644
--- a/arch/powerpc/kvm/book3s_xive.c
+++ b/arch/powerpc/kvm/book3s_xive.c
@@ -1924,7 +1924,7 @@ int kvmppc_xive_connect_vcpu(struct kvm_device *dev,
if (r)
goto bail;
- xc = kzalloc(sizeof(*xc), GFP_KERNEL);
+ xc = kzalloc_obj(*xc, GFP_KERNEL);
if (!xc) {
r = -ENOMEM;
goto bail;
@@ -2276,7 +2276,7 @@ struct kvmppc_xive_src_block *kvmppc_xive_create_src_block(
goto out;
/* Create the ICS */
- sb = kzalloc(sizeof(*sb), GFP_KERNEL);
+ sb = kzalloc_obj(*sb, GFP_KERNEL);
if (!sb)
goto out;
@@ -2719,7 +2719,7 @@ struct kvmppc_xive *kvmppc_xive_get_device(struct kvm *kvm, u32 type)
struct kvmppc_xive *xive = *kvm_xive_device;
if (!xive) {
- xive = kzalloc(sizeof(*xive), GFP_KERNEL);
+ xive = kzalloc_obj(*xive, GFP_KERNEL);
*kvm_xive_device = xive;
} else {
memset(xive, 0, sizeof(*xive));
diff --git a/arch/powerpc/kvm/book3s_xive_native.c b/arch/powerpc/kvm/book3s_xive_native.c
index d9bf1bc3ff61..179bd6094d62 100644
--- a/arch/powerpc/kvm/book3s_xive_native.c
+++ b/arch/powerpc/kvm/book3s_xive_native.c
@@ -145,7 +145,7 @@ int kvmppc_xive_native_connect_vcpu(struct kvm_device *dev,
if (rc)
goto bail;
- xc = kzalloc(sizeof(*xc), GFP_KERNEL);
+ xc = kzalloc_obj(*xc, GFP_KERNEL);
if (!xc) {
rc = -ENOMEM;
goto bail;
diff --git a/arch/powerpc/kvm/e500.c b/arch/powerpc/kvm/e500.c
index b0f695428733..891c936af1df 100644
--- a/arch/powerpc/kvm/e500.c
+++ b/arch/powerpc/kvm/e500.c
@@ -119,7 +119,7 @@ static inline void local_sid_destroy_all(void)
static void *kvmppc_e500_id_table_alloc(struct kvmppc_vcpu_e500 *vcpu_e500)
{
- vcpu_e500->idt = kzalloc(sizeof(struct vcpu_id_table), GFP_KERNEL);
+ vcpu_e500->idt = kzalloc_obj(struct vcpu_id_table, GFP_KERNEL);
return vcpu_e500->idt;
}
diff --git a/arch/powerpc/kvm/e500_mmu.c b/arch/powerpc/kvm/e500_mmu.c
index e131fbecdcc4..ecbd7c4cd93d 100644
--- a/arch/powerpc/kvm/e500_mmu.c
+++ b/arch/powerpc/kvm/e500_mmu.c
@@ -772,7 +772,7 @@ int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu,
num_pages = DIV_ROUND_UP(cfg->array + array_len - 1, PAGE_SIZE) -
cfg->array / PAGE_SIZE;
- pages = kmalloc_array(num_pages, sizeof(*pages), GFP_KERNEL);
+ pages = kmalloc_objs(*pages, num_pages, GFP_KERNEL);
if (!pages)
return -ENOMEM;
@@ -792,13 +792,13 @@ int kvm_vcpu_ioctl_config_tlb(struct kvm_vcpu *vcpu,
goto put_pages;
}
- privs[0] = kcalloc(params.tlb_sizes[0], sizeof(*privs[0]), GFP_KERNEL);
+ privs[0] = kzalloc_objs(*privs[0], params.tlb_sizes[0], GFP_KERNEL);
if (!privs[0]) {
ret = -ENOMEM;
goto put_pages;
}
- privs[1] = kcalloc(params.tlb_sizes[1], sizeof(*privs[1]), GFP_KERNEL);
+ privs[1] = kzalloc_objs(*privs[1], params.tlb_sizes[1], GFP_KERNEL);
if (!privs[1]) {
ret = -ENOMEM;
goto free_privs_first;
@@ -912,25 +912,24 @@ int kvmppc_e500_tlb_init(struct kvmppc_vcpu_e500 *vcpu_e500)
vcpu_e500->gtlb_params[1].ways = KVM_E500_TLB1_SIZE;
vcpu_e500->gtlb_params[1].sets = 1;
- vcpu_e500->gtlb_arch = kmalloc_array(KVM_E500_TLB0_SIZE +
- KVM_E500_TLB1_SIZE,
- sizeof(*vcpu_e500->gtlb_arch),
- GFP_KERNEL);
+ vcpu_e500->gtlb_arch = kmalloc_objs(*vcpu_e500->gtlb_arch,
+ KVM_E500_TLB0_SIZE + KVM_E500_TLB1_SIZE,
+ GFP_KERNEL);
if (!vcpu_e500->gtlb_arch)
return -ENOMEM;
vcpu_e500->gtlb_offset[0] = 0;
vcpu_e500->gtlb_offset[1] = KVM_E500_TLB0_SIZE;
- vcpu_e500->gtlb_priv[0] = kcalloc(vcpu_e500->gtlb_params[0].entries,
- sizeof(struct tlbe_ref),
- GFP_KERNEL);
+ vcpu_e500->gtlb_priv[0] = kzalloc_objs(struct tlbe_ref,
+ vcpu_e500->gtlb_params[0].entries,
+ GFP_KERNEL);
if (!vcpu_e500->gtlb_priv[0])
goto free_vcpu;
- vcpu_e500->gtlb_priv[1] = kcalloc(vcpu_e500->gtlb_params[1].entries,
- sizeof(struct tlbe_ref),
- GFP_KERNEL);
+ vcpu_e500->gtlb_priv[1] = kzalloc_objs(struct tlbe_ref,
+ vcpu_e500->gtlb_params[1].entries,
+ GFP_KERNEL);
if (!vcpu_e500->gtlb_priv[1])
goto free_vcpu;
diff --git a/arch/powerpc/kvm/guest-state-buffer.c b/arch/powerpc/kvm/guest-state-buffer.c
index 871cf60ddeb6..42843eca6727 100644
--- a/arch/powerpc/kvm/guest-state-buffer.c
+++ b/arch/powerpc/kvm/guest-state-buffer.c
@@ -28,7 +28,7 @@ struct kvmppc_gs_buff *kvmppc_gsb_new(size_t size, unsigned long guest_id,
{
struct kvmppc_gs_buff *gsb;
- gsb = kzalloc(sizeof(*gsb), flags);
+ gsb = kzalloc_obj(*gsb, flags);
if (!gsb)
return NULL;
@@ -540,7 +540,7 @@ struct kvmppc_gs_msg *kvmppc_gsm_new(struct kvmppc_gs_msg_ops *ops, void *data,
{
struct kvmppc_gs_msg *gsm;
- gsm = kzalloc(sizeof(*gsm), gfp_flags);
+ gsm = kzalloc_obj(*gsm, gfp_flags);
if (!gsm)
return NULL;
diff --git a/arch/powerpc/kvm/mpic.c b/arch/powerpc/kvm/mpic.c
index 23e9c2bd9f27..a8ee6204cc08 100644
--- a/arch/powerpc/kvm/mpic.c
+++ b/arch/powerpc/kvm/mpic.c
@@ -1642,7 +1642,7 @@ static int mpic_set_default_irq_routing(struct openpic *opp)
struct kvm_irq_routing_entry *routing;
/* Create a nop default map, so that dereferencing it still works */
- routing = kzalloc((sizeof(*routing)), GFP_KERNEL);
+ routing = kzalloc_obj(*routing, GFP_KERNEL);
if (!routing)
return -ENOMEM;
@@ -1661,7 +1661,7 @@ static int mpic_create(struct kvm_device *dev, u32 type)
if (dev->kvm->arch.mpic)
return -EINVAL;
- opp = kzalloc(sizeof(struct openpic), GFP_KERNEL);
+ opp = kzalloc_obj(struct openpic, GFP_KERNEL);
if (!opp)
return -ENOMEM;
diff --git a/arch/powerpc/lib/rheap.c b/arch/powerpc/lib/rheap.c
index 6aa774aa5b16..d6d72719801b 100644
--- a/arch/powerpc/lib/rheap.c
+++ b/arch/powerpc/lib/rheap.c
@@ -54,7 +54,7 @@ static int grow(rh_info_t * info, int max_blocks)
new_blocks = max_blocks - info->max_blocks;
- block = kmalloc_array(max_blocks, sizeof(rh_block_t), GFP_ATOMIC);
+ block = kmalloc_objs(rh_block_t, max_blocks, GFP_ATOMIC);
if (block == NULL)
return -ENOMEM;
@@ -258,7 +258,7 @@ rh_info_t *rh_create(unsigned int alignment)
if ((alignment & (alignment - 1)) != 0)
return ERR_PTR(-EINVAL);
- info = kmalloc(sizeof(*info), GFP_ATOMIC);
+ info = kmalloc_obj(*info, GFP_ATOMIC);
if (info == NULL)
return ERR_PTR(-ENOMEM);
diff --git a/arch/powerpc/mm/book3s64/iommu_api.c b/arch/powerpc/mm/book3s64/iommu_api.c
index c0e8d597e4cb..f9aa4e08b5bb 100644
--- a/arch/powerpc/mm/book3s64/iommu_api.c
+++ b/arch/powerpc/mm/book3s64/iommu_api.c
@@ -70,7 +70,7 @@ static long mm_iommu_do_alloc(struct mm_struct *mm, unsigned long ua,
locked_entries = entries;
}
- mem = kzalloc(sizeof(*mem), GFP_KERNEL);
+ mem = kzalloc_obj(*mem, GFP_KERNEL);
if (!mem) {
ret = -ENOMEM;
goto unlock_exit;
diff --git a/arch/powerpc/mm/book3s64/mmu_context.c b/arch/powerpc/mm/book3s64/mmu_context.c
index fb9dcf9ca599..c7302dd2ef25 100644
--- a/arch/powerpc/mm/book3s64/mmu_context.c
+++ b/arch/powerpc/mm/book3s64/mmu_context.c
@@ -96,8 +96,8 @@ static int hash__init_new_context(struct mm_struct *mm)
{
int index;
- mm->context.hash_context = kmalloc(sizeof(struct hash_mm_context),
- GFP_KERNEL);
+ mm->context.hash_context = kmalloc_obj(struct hash_mm_context,
+ GFP_KERNEL);
if (!mm->context.hash_context)
return -ENOMEM;
@@ -124,8 +124,8 @@ static int hash__init_new_context(struct mm_struct *mm)
#ifdef CONFIG_PPC_SUBPAGE_PROT
/* inherit subpage prot details if we have one. */
if (current->mm->context.hash_context->spt) {
- mm->context.hash_context->spt = kmalloc(sizeof(struct subpage_prot_table),
- GFP_KERNEL);
+ mm->context.hash_context->spt = kmalloc_obj(struct subpage_prot_table,
+ GFP_KERNEL);
if (!mm->context.hash_context->spt) {
kfree(mm->context.hash_context);
return -ENOMEM;
diff --git a/arch/powerpc/mm/book3s64/subpage_prot.c b/arch/powerpc/mm/book3s64/subpage_prot.c
index 07c47673bba2..240880a38965 100644
--- a/arch/powerpc/mm/book3s64/subpage_prot.c
+++ b/arch/powerpc/mm/book3s64/subpage_prot.c
@@ -221,7 +221,7 @@ SYSCALL_DEFINE3(subpage_prot, unsigned long, addr,
* Allocate subpage prot table if not already done.
* Do this with mmap_lock held
*/
- spt = kzalloc(sizeof(struct subpage_prot_table), GFP_KERNEL);
+ spt = kzalloc_obj(struct subpage_prot_table, GFP_KERNEL);
if (!spt) {
err = -ENOMEM;
goto out;
diff --git a/arch/powerpc/mm/drmem.c b/arch/powerpc/mm/drmem.c
index 8dd7b340d51f..45c1d47ec458 100644
--- a/arch/powerpc/mm/drmem.c
+++ b/arch/powerpc/mm/drmem.c
@@ -41,7 +41,7 @@ static struct property *clone_property(struct property *prop, u32 prop_sz)
{
struct property *new_prop;
- new_prop = kzalloc(sizeof(*new_prop), GFP_KERNEL);
+ new_prop = kzalloc_obj(*new_prop, GFP_KERNEL);
if (!new_prop)
return NULL;
@@ -430,8 +430,7 @@ static void __init init_drmem_v1_lmbs(const __be32 *prop)
if (drmem_info->n_lmbs == 0)
return;
- drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb),
- GFP_KERNEL);
+ drmem_info->lmbs = kzalloc_objs(*lmb, drmem_info->n_lmbs, GFP_KERNEL);
if (!drmem_info->lmbs)
return;
@@ -458,8 +457,7 @@ static void __init init_drmem_v2_lmbs(const __be32 *prop)
drmem_info->n_lmbs += dr_cell.seq_lmbs;
}
- drmem_info->lmbs = kcalloc(drmem_info->n_lmbs, sizeof(*lmb),
- GFP_KERNEL);
+ drmem_info->lmbs = kzalloc_objs(*lmb, drmem_info->n_lmbs, GFP_KERNEL);
if (!drmem_info->lmbs)
return;
diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 29bf347f6012..bab22aabbb9b 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -318,7 +318,7 @@ static int __init add_system_ram_resources(void)
for_each_mem_range(i, &start, &end) {
struct resource *res;
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
WARN_ON(!res);
if (res) {
diff --git a/arch/powerpc/net/bpf_jit_comp.c b/arch/powerpc/net/bpf_jit_comp.c
index b75dd53584d5..baf5b6e69647 100644
--- a/arch/powerpc/net/bpf_jit_comp.c
+++ b/arch/powerpc/net/bpf_jit_comp.c
@@ -165,7 +165,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *fp)
jit_data = fp->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
fp = org_fp;
goto out;
diff --git a/arch/powerpc/perf/hv-24x7.c b/arch/powerpc/perf/hv-24x7.c
index e42677cc254a..210d16c76b40 100644
--- a/arch/powerpc/perf/hv-24x7.c
+++ b/arch/powerpc/perf/hv-24x7.c
@@ -451,7 +451,7 @@ static ssize_t coresperchip_show(struct device *dev,
static struct attribute *device_str_attr_create_(char *name, char *str)
{
- struct dev_ext_attribute *attr = kzalloc(sizeof(*attr), GFP_KERNEL);
+ struct dev_ext_attribute *attr = kzalloc_obj(*attr, GFP_KERNEL);
if (!attr)
return NULL;
@@ -647,7 +647,7 @@ static int event_uniq_add(struct rb_root *root, const char *name, int nl,
}
}
- data = kmalloc(sizeof(*data), GFP_KERNEL);
+ data = kmalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
@@ -905,21 +905,20 @@ static int create_events_from_catalog(struct attribute ***events_,
pr_warn("event buffer ended before listed # of events were parsed (got %zu, wanted %zu, junk %zu)\n",
event_idx_last, event_entry_count, junk_events);
- events = kmalloc_array(attr_max + 1, sizeof(*events), GFP_KERNEL);
+ events = kmalloc_objs(*events, attr_max + 1, GFP_KERNEL);
if (!events) {
ret = -ENOMEM;
goto e_event_data;
}
- event_descs = kmalloc_array(event_idx + 1, sizeof(*event_descs),
- GFP_KERNEL);
+ event_descs = kmalloc_objs(*event_descs, event_idx + 1, GFP_KERNEL);
if (!event_descs) {
ret = -ENOMEM;
goto e_event_attrs;
}
- event_long_descs = kmalloc_array(event_idx + 1,
- sizeof(*event_long_descs), GFP_KERNEL);
+ event_long_descs = kmalloc_objs(*event_long_descs, event_idx + 1,
+ GFP_KERNEL);
if (!event_long_descs) {
ret = -ENOMEM;
goto e_event_descs;
diff --git a/arch/powerpc/perf/hv-gpci.c b/arch/powerpc/perf/hv-gpci.c
index 241551d1282f..11e774857030 100644
--- a/arch/powerpc/perf/hv-gpci.c
+++ b/arch/powerpc/perf/hv-gpci.c
@@ -910,7 +910,7 @@ static struct device_attribute *sysinfo_device_attr_create(int
* attribute array, only for valid return types.
*/
if (!ret || ret == H_AUTHORITY || ret == H_PARAMETER) {
- attr = kzalloc(sizeof(*attr), GFP_KERNEL);
+ attr = kzalloc_obj(*attr, GFP_KERNEL);
if (!attr)
return NULL;
diff --git a/arch/powerpc/perf/imc-pmu.c b/arch/powerpc/perf/imc-pmu.c
index 8664a7d297ad..c4b2c0a19f58 100644
--- a/arch/powerpc/perf/imc-pmu.c
+++ b/arch/powerpc/perf/imc-pmu.c
@@ -136,7 +136,7 @@ static struct attribute *device_str_attr_create(const char *name, const char *st
{
struct perf_pmu_events_attr *attr;
- attr = kzalloc(sizeof(*attr), GFP_KERNEL);
+ attr = kzalloc_obj(*attr, GFP_KERNEL);
if (!attr)
return NULL;
sysfs_attr_init(&attr->attr.attr);
@@ -257,7 +257,7 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
of_property_read_u32(node, "reg", &base_reg);
/* Allocate memory for the events */
- pmu->events = kcalloc(ct, sizeof(struct imc_events), GFP_KERNEL);
+ pmu->events = kzalloc_objs(struct imc_events, ct, GFP_KERNEL);
if (!pmu->events) {
of_node_put(pmu_events);
return -ENOMEM;
@@ -274,7 +274,7 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
of_node_put(pmu_events);
/* Allocate memory for attribute group */
- attr_group = kzalloc(sizeof(*attr_group), GFP_KERNEL);
+ attr_group = kzalloc_obj(*attr_group, GFP_KERNEL);
if (!attr_group) {
imc_free_events(pmu->events, ct);
return -ENOMEM;
@@ -288,7 +288,7 @@ static int update_events_in_group(struct device_node *node, struct imc_pmu *pmu)
* So allocate three times the "ct" (this includes event, event_scale and
* event_unit).
*/
- attrs = kcalloc(((ct * 3) + 1), sizeof(struct attribute *), GFP_KERNEL);
+ attrs = kzalloc_objs(struct attribute *, ((ct * 3) + 1), GFP_KERNEL);
if (!attrs) {
kfree(attr_group);
imc_free_events(pmu->events, ct);
@@ -1527,8 +1527,8 @@ static int init_nest_pmu_ref(void)
{
int nid, i, cpu;
- nest_imc_refc = kcalloc(num_possible_nodes(), sizeof(*nest_imc_refc),
- GFP_KERNEL);
+ nest_imc_refc = kzalloc_objs(*nest_imc_refc, num_possible_nodes(),
+ GFP_KERNEL);
if (!nest_imc_refc)
return -ENOMEM;
@@ -1699,9 +1699,9 @@ static int imc_mem_init(struct imc_pmu *pmu_ptr, struct device_node *parent,
/* Needed for hotplug/migration */
if (!per_nest_pmu_arr) {
- per_nest_pmu_arr = kcalloc(get_max_nest_dev() + 1,
- sizeof(struct imc_pmu *),
- GFP_KERNEL);
+ per_nest_pmu_arr = kzalloc_objs(struct imc_pmu *,
+ get_max_nest_dev() + 1,
+ GFP_KERNEL);
if (!per_nest_pmu_arr)
goto err;
}
@@ -1714,14 +1714,14 @@ static int imc_mem_init(struct imc_pmu *pmu_ptr, struct device_node *parent,
goto err;
nr_cores = DIV_ROUND_UP(num_possible_cpus(), threads_per_core);
- pmu_ptr->mem_info = kcalloc(nr_cores, sizeof(struct imc_mem_info),
- GFP_KERNEL);
+ pmu_ptr->mem_info = kzalloc_objs(struct imc_mem_info, nr_cores,
+ GFP_KERNEL);
if (!pmu_ptr->mem_info)
goto err;
- core_imc_refc = kcalloc(nr_cores, sizeof(struct imc_pmu_ref),
- GFP_KERNEL);
+ core_imc_refc = kzalloc_objs(struct imc_pmu_ref, nr_cores,
+ GFP_KERNEL);
if (!core_imc_refc) {
kfree(pmu_ptr->mem_info);
@@ -1754,8 +1754,8 @@ static int imc_mem_init(struct imc_pmu *pmu_ptr, struct device_node *parent,
return -ENOMEM;
nr_cores = DIV_ROUND_UP(num_possible_cpus(), threads_per_core);
- trace_imc_refc = kcalloc(nr_cores, sizeof(struct imc_pmu_ref),
- GFP_KERNEL);
+ trace_imc_refc = kzalloc_objs(struct imc_pmu_ref, nr_cores,
+ GFP_KERNEL);
if (!trace_imc_refc)
return -ENOMEM;
diff --git a/arch/powerpc/perf/vpa-dtl.c b/arch/powerpc/perf/vpa-dtl.c
index 3c1d1c28deb9..ab19101a8928 100644
--- a/arch/powerpc/perf/vpa-dtl.c
+++ b/arch/powerpc/perf/vpa-dtl.c
@@ -523,7 +523,7 @@ static void *vpa_dtl_setup_aux(struct perf_event *event, void **pages,
if (!buf)
return NULL;
- pglist = kcalloc(nr_pages, sizeof(*pglist), GFP_KERNEL);
+ pglist = kzalloc_objs(*pglist, nr_pages, GFP_KERNEL);
if (!pglist)
return NULL;
diff --git a/arch/powerpc/platforms/44x/hsta_msi.c b/arch/powerpc/platforms/44x/hsta_msi.c
index c6bd846b0d65..a6b1c004888e 100644
--- a/arch/powerpc/platforms/44x/hsta_msi.c
+++ b/arch/powerpc/platforms/44x/hsta_msi.c
@@ -151,8 +151,7 @@ static int hsta_msi_probe(struct platform_device *pdev)
if (ret)
goto out;
- ppc4xx_hsta_msi.irq_map = kmalloc_array(irq_count, sizeof(int),
- GFP_KERNEL);
+ ppc4xx_hsta_msi.irq_map = kmalloc_objs(int, irq_count, GFP_KERNEL);
if (!ppc4xx_hsta_msi.irq_map) {
ret = -ENOMEM;
goto out1;
diff --git a/arch/powerpc/platforms/44x/pci.c b/arch/powerpc/platforms/44x/pci.c
index 364aeb86ab64..6ac53865b872 100644
--- a/arch/powerpc/platforms/44x/pci.c
+++ b/arch/powerpc/platforms/44x/pci.c
@@ -1339,8 +1339,7 @@ static int __init ppc4xx_pciex_check_core_init(struct device_node *np)
count = ppc4xx_pciex_hwops->core_init(np);
if (count > 0) {
ppc4xx_pciex_ports =
- kcalloc(count, sizeof(struct ppc4xx_pciex_port),
- GFP_KERNEL);
+ kzalloc_objs(struct ppc4xx_pciex_port, count, GFP_KERNEL);
if (ppc4xx_pciex_ports) {
ppc4xx_pciex_port_count = count;
return 0;
diff --git a/arch/powerpc/platforms/44x/uic.c b/arch/powerpc/platforms/44x/uic.c
index 85daf841fd3f..a484474df432 100644
--- a/arch/powerpc/platforms/44x/uic.c
+++ b/arch/powerpc/platforms/44x/uic.c
@@ -233,7 +233,7 @@ static struct uic * __init uic_init_one(struct device_node *node)
BUG_ON(! of_device_is_compatible(node, "ibm,uic"));
- uic = kzalloc(sizeof(*uic), GFP_KERNEL);
+ uic = kzalloc_obj(*uic, GFP_KERNEL);
if (! uic)
return NULL; /* FIXME: panic? */
diff --git a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
index 80d944f29288..d8cdd077a554 100644
--- a/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
+++ b/arch/powerpc/platforms/83xx/mcu_mpc8349emitx.c
@@ -146,7 +146,7 @@ static int mcu_probe(struct i2c_client *client)
struct mcu *mcu;
int ret;
- mcu = kzalloc(sizeof(*mcu), GFP_KERNEL);
+ mcu = kzalloc_obj(*mcu, GFP_KERNEL);
if (!mcu)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/book3s/vas-api.c b/arch/powerpc/platforms/book3s/vas-api.c
index 49b15e7a8265..6f6c9d776dd7 100644
--- a/arch/powerpc/platforms/book3s/vas-api.c
+++ b/arch/powerpc/platforms/book3s/vas-api.c
@@ -266,7 +266,7 @@ static int coproc_open(struct inode *inode, struct file *fp)
{
struct coproc_instance *cp_inst;
- cp_inst = kzalloc(sizeof(*cp_inst), GFP_KERNEL);
+ cp_inst = kzalloc_obj(*cp_inst, GFP_KERNEL);
if (!cp_inst)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/cell/spu_base.c b/arch/powerpc/platforms/cell/spu_base.c
index 3c8624870967..2c536040ae0a 100644
--- a/arch/powerpc/platforms/cell/spu_base.c
+++ b/arch/powerpc/platforms/cell/spu_base.c
@@ -558,7 +558,7 @@ static int __init create_spu(void *data)
unsigned long flags;
ret = -ENOMEM;
- spu = kzalloc(sizeof (*spu), GFP_KERNEL);
+ spu = kzalloc_obj(*spu, GFP_KERNEL);
if (!spu)
goto out;
diff --git a/arch/powerpc/platforms/cell/spufs/context.c b/arch/powerpc/platforms/cell/spufs/context.c
index 7a39cc414f09..ade2a5e041a3 100644
--- a/arch/powerpc/platforms/cell/spufs/context.c
+++ b/arch/powerpc/platforms/cell/spufs/context.c
@@ -26,7 +26,7 @@ struct spu_context *alloc_spu_context(struct spu_gang *gang)
{
struct spu_context *ctx;
- ctx = kzalloc(sizeof *ctx, GFP_KERNEL);
+ ctx = kzalloc_obj(*ctx, GFP_KERNEL);
if (!ctx)
goto out;
/* Binding to physical processor deferred
diff --git a/arch/powerpc/platforms/cell/spufs/file.c b/arch/powerpc/platforms/cell/spufs/file.c
index ce839783c0df..60d9b9154997 100644
--- a/arch/powerpc/platforms/cell/spufs/file.c
+++ b/arch/powerpc/platforms/cell/spufs/file.c
@@ -47,7 +47,7 @@ static int spufs_attr_open(struct inode *inode, struct file *file,
{
struct spufs_attr *attr;
- attr = kmalloc(sizeof(*attr), GFP_KERNEL);
+ attr = kmalloc_obj(*attr, GFP_KERNEL);
if (!attr)
return -ENOMEM;
@@ -2281,8 +2281,8 @@ static int spufs_switch_log_open(struct inode *inode, struct file *file)
goto out;
}
- ctx->switch_log = kmalloc(struct_size(ctx->switch_log, log,
- SWITCH_LOG_BUFSIZE), GFP_KERNEL);
+ ctx->switch_log = kmalloc_flex(*ctx->switch_log, log,
+ SWITCH_LOG_BUFSIZE, GFP_KERNEL);
if (!ctx->switch_log) {
rc = -ENOMEM;
diff --git a/arch/powerpc/platforms/cell/spufs/gang.c b/arch/powerpc/platforms/cell/spufs/gang.c
index 2c2999de6bfa..6ab8122bc833 100644
--- a/arch/powerpc/platforms/cell/spufs/gang.c
+++ b/arch/powerpc/platforms/cell/spufs/gang.c
@@ -16,7 +16,7 @@ struct spu_gang *alloc_spu_gang(void)
{
struct spu_gang *gang;
- gang = kzalloc(sizeof *gang, GFP_KERNEL);
+ gang = kzalloc_obj(*gang, GFP_KERNEL);
if (!gang)
goto out;
diff --git a/arch/powerpc/platforms/cell/spufs/inode.c b/arch/powerpc/platforms/cell/spufs/inode.c
index 577a00c25217..419ce7fee040 100644
--- a/arch/powerpc/platforms/cell/spufs/inode.c
+++ b/arch/powerpc/platforms/cell/spufs/inode.c
@@ -727,11 +727,11 @@ static int spufs_init_fs_context(struct fs_context *fc)
struct spufs_fs_context *ctx;
struct spufs_sb_info *sbi;
- ctx = kzalloc(sizeof(struct spufs_fs_context), GFP_KERNEL);
+ ctx = kzalloc_obj(struct spufs_fs_context, GFP_KERNEL);
if (!ctx)
goto nomem;
- sbi = kzalloc(sizeof(struct spufs_sb_info), GFP_KERNEL);
+ sbi = kzalloc_obj(struct spufs_sb_info, GFP_KERNEL);
if (!sbi)
goto nomem_ctx;
diff --git a/arch/powerpc/platforms/cell/spufs/sched.c b/arch/powerpc/platforms/cell/spufs/sched.c
index 8e7ed010bfde..f61fa34b62f1 100644
--- a/arch/powerpc/platforms/cell/spufs/sched.c
+++ b/arch/powerpc/platforms/cell/spufs/sched.c
@@ -1082,7 +1082,7 @@ int __init spu_sched_init(void)
struct proc_dir_entry *entry;
int err = -ENOMEM, i;
- spu_prio = kzalloc(sizeof(struct spu_prio_array), GFP_KERNEL);
+ spu_prio = kzalloc_obj(struct spu_prio_array, GFP_KERNEL);
if (!spu_prio)
goto out;
diff --git a/arch/powerpc/platforms/pasemi/gpio_mdio.c b/arch/powerpc/platforms/pasemi/gpio_mdio.c
index e4538d471256..fd31677b38e2 100644
--- a/arch/powerpc/platforms/pasemi/gpio_mdio.c
+++ b/arch/powerpc/platforms/pasemi/gpio_mdio.c
@@ -214,7 +214,7 @@ static int gpio_mdio_probe(struct platform_device *ofdev)
int err;
err = -ENOMEM;
- priv = kzalloc(sizeof(struct gpio_priv), GFP_KERNEL);
+ priv = kzalloc_obj(struct gpio_priv, GFP_KERNEL);
if (!priv)
goto out;
diff --git a/arch/powerpc/platforms/powermac/low_i2c.c b/arch/powerpc/platforms/powermac/low_i2c.c
index 02474e27df9b..ec4b03fbfab2 100644
--- a/arch/powerpc/platforms/powermac/low_i2c.c
+++ b/arch/powerpc/platforms/powermac/low_i2c.c
@@ -489,7 +489,7 @@ static struct pmac_i2c_host_kw *__init kw_i2c_host_init(struct device_node *np)
const u32 *psteps, *prate, *addrp;
u32 steps;
- host = kzalloc(sizeof(*host), GFP_KERNEL);
+ host = kzalloc_obj(*host, GFP_KERNEL);
if (host == NULL) {
printk(KERN_ERR "low_i2c: Can't allocate host for %pOF\n",
np);
@@ -569,7 +569,7 @@ static void __init kw_i2c_add(struct pmac_i2c_host_kw *host,
{
struct pmac_i2c_bus *bus;
- bus = kzalloc(sizeof(struct pmac_i2c_bus), GFP_KERNEL);
+ bus = kzalloc_obj(struct pmac_i2c_bus, GFP_KERNEL);
if (bus == NULL)
return;
@@ -1254,7 +1254,7 @@ static void* pmac_i2c_do_begin(struct pmf_function *func, struct pmf_args *args)
* near OOM that need to be resolved, the allocator itself should
* probably make GFP_NOIO implicit during suspend
*/
- inst = kzalloc(sizeof(struct pmac_i2c_pf_inst), GFP_KERNEL);
+ inst = kzalloc_obj(struct pmac_i2c_pf_inst, GFP_KERNEL);
if (inst == NULL) {
pmac_i2c_close(bus);
return NULL;
diff --git a/arch/powerpc/platforms/powermac/pfunc_core.c b/arch/powerpc/platforms/powermac/pfunc_core.c
index 22741ddfd5b2..d1e2e557de15 100644
--- a/arch/powerpc/platforms/powermac/pfunc_core.c
+++ b/arch/powerpc/platforms/powermac/pfunc_core.c
@@ -644,7 +644,7 @@ static int pmf_add_function_prop(struct pmf_device *dev, void *driverdata,
while (length >= 12) {
/* Allocate a structure */
- func = kzalloc(sizeof(*func), GFP_KERNEL);
+ func = kzalloc_obj(*func, GFP_KERNEL);
if (func == NULL)
goto bail;
kref_init(&func->ref);
@@ -720,7 +720,7 @@ int pmf_register_driver(struct device_node *np,
return -EBUSY;
}
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (dev == NULL) {
DBG("pmf: no memory !\n");
return -ENOMEM;
diff --git a/arch/powerpc/platforms/powernv/idle.c b/arch/powerpc/platforms/powernv/idle.c
index e4f4e907f6e3..1389a3131993 100644
--- a/arch/powerpc/platforms/powernv/idle.c
+++ b/arch/powerpc/platforms/powernv/idle.c
@@ -1336,8 +1336,8 @@ static int __init pnv_parse_cpuidle_dt(void)
nr_idle_states = of_property_count_u32_elems(np,
"ibm,cpu-idle-state-flags");
- pnv_idle_states = kcalloc(nr_idle_states, sizeof(*pnv_idle_states),
- GFP_KERNEL);
+ pnv_idle_states = kzalloc_objs(*pnv_idle_states, nr_idle_states,
+ GFP_KERNEL);
temp_u32 = kcalloc(nr_idle_states, sizeof(u32), GFP_KERNEL);
temp_u64 = kcalloc(nr_idle_states, sizeof(u64), GFP_KERNEL);
temp_string = kcalloc(nr_idle_states, sizeof(char *), GFP_KERNEL);
diff --git a/arch/powerpc/platforms/powernv/memtrace.c b/arch/powerpc/platforms/powernv/memtrace.c
index 2ea30b343354..5214e2d43e78 100644
--- a/arch/powerpc/platforms/powernv/memtrace.c
+++ b/arch/powerpc/platforms/powernv/memtrace.c
@@ -133,8 +133,8 @@ static int memtrace_init_regions_runtime(u64 size)
u32 nid;
u64 m;
- memtrace_array = kcalloc(num_online_nodes(),
- sizeof(struct memtrace_entry), GFP_KERNEL);
+ memtrace_array = kzalloc_objs(struct memtrace_entry, num_online_nodes(),
+ GFP_KERNEL);
if (!memtrace_array) {
pr_err("Failed to allocate memtrace_array\n");
return -EINVAL;
diff --git a/arch/powerpc/platforms/powernv/ocxl.c b/arch/powerpc/platforms/powernv/ocxl.c
index f8139948348e..5ae7e3960364 100644
--- a/arch/powerpc/platforms/powernv/ocxl.c
+++ b/arch/powerpc/platforms/powernv/ocxl.c
@@ -149,7 +149,7 @@ static struct npu_link *find_link(struct pci_dev *dev)
}
/* link doesn't exist yet. Allocate one */
- link = kzalloc(sizeof(struct npu_link), GFP_KERNEL);
+ link = kzalloc_obj(struct npu_link, GFP_KERNEL);
if (!link)
return NULL;
link->domain = pci_domain_nr(dev->bus);
@@ -439,7 +439,7 @@ int pnv_ocxl_spa_setup(struct pci_dev *dev, void *spa_mem, int PE_mask,
u32 bdfn;
int rc;
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/powernv/opal-async.c b/arch/powerpc/platforms/powernv/opal-async.c
index c094fdf5825c..2cacfe5407c9 100644
--- a/arch/powerpc/platforms/powernv/opal-async.c
+++ b/arch/powerpc/platforms/powernv/opal-async.c
@@ -265,8 +265,8 @@ int __init opal_async_comp_init(void)
}
opal_max_async_tokens = be32_to_cpup(async);
- opal_async_tokens = kcalloc(opal_max_async_tokens,
- sizeof(*opal_async_tokens), GFP_KERNEL);
+ opal_async_tokens = kzalloc_objs(*opal_async_tokens,
+ opal_max_async_tokens, GFP_KERNEL);
if (!opal_async_tokens) {
err = -ENOMEM;
goto out_opal_node;
diff --git a/arch/powerpc/platforms/powernv/opal-core.c b/arch/powerpc/platforms/powernv/opal-core.c
index 784602a48afb..4f1533bcaa10 100644
--- a/arch/powerpc/platforms/powernv/opal-core.c
+++ b/arch/powerpc/platforms/powernv/opal-core.c
@@ -81,7 +81,7 @@ bool kernel_initiated;
static struct opalcore * __init get_new_element(void)
{
- return kzalloc(sizeof(struct opalcore), GFP_KERNEL);
+ return kzalloc_obj(struct opalcore, GFP_KERNEL);
}
static inline int is_opalcore_usable(void)
@@ -497,7 +497,7 @@ static void __init opalcore_config_init(void)
opalc_cpu_metadata = __va(addr);
/* Allocate memory for config buffer */
- oc_conf = kzalloc(sizeof(struct opalcore_config), GFP_KERNEL);
+ oc_conf = kzalloc_obj(struct opalcore_config, GFP_KERNEL);
if (oc_conf == NULL)
goto error_out;
diff --git a/arch/powerpc/platforms/powernv/opal-dump.c b/arch/powerpc/platforms/powernv/opal-dump.c
index cc3cc9ddf9d1..a832afb4cbf5 100644
--- a/arch/powerpc/platforms/powernv/opal-dump.c
+++ b/arch/powerpc/platforms/powernv/opal-dump.c
@@ -329,7 +329,7 @@ static void create_dump_obj(uint32_t id, size_t size, uint32_t type)
struct dump_obj *dump;
int rc;
- dump = kzalloc(sizeof(*dump), GFP_KERNEL);
+ dump = kzalloc_obj(*dump, GFP_KERNEL);
if (!dump)
return;
diff --git a/arch/powerpc/platforms/powernv/opal-elog.c b/arch/powerpc/platforms/powernv/opal-elog.c
index c3fc5d258146..39e9eb162ed7 100644
--- a/arch/powerpc/platforms/powernv/opal-elog.c
+++ b/arch/powerpc/platforms/powernv/opal-elog.c
@@ -190,7 +190,7 @@ static void create_elog_obj(uint64_t id, size_t size, uint64_t type)
struct elog_obj *elog;
int rc;
- elog = kzalloc(sizeof(*elog), GFP_KERNEL);
+ elog = kzalloc_obj(*elog, GFP_KERNEL);
if (!elog)
return;
diff --git a/arch/powerpc/platforms/powernv/opal-hmi.c b/arch/powerpc/platforms/powernv/opal-hmi.c
index f0c1830deb51..182719995d05 100644
--- a/arch/powerpc/platforms/powernv/opal-hmi.c
+++ b/arch/powerpc/platforms/powernv/opal-hmi.c
@@ -342,7 +342,7 @@ static int opal_handle_hmi_event(struct notifier_block *nb,
hmi_evt = (struct OpalHMIEvent *)&hmi_msg->params[0];
/* Delay the logging of HMI events to workqueue. */
- msg_node = kzalloc(sizeof(*msg_node), GFP_ATOMIC);
+ msg_node = kzalloc_obj(*msg_node, GFP_ATOMIC);
if (!msg_node) {
pr_err("HMI: out of memory, Opal message event not handled\n");
return -ENOMEM;
diff --git a/arch/powerpc/platforms/powernv/opal-imc.c b/arch/powerpc/platforms/powernv/opal-imc.c
index 828fc4d88471..c57525c1fecd 100644
--- a/arch/powerpc/platforms/powernv/opal-imc.c
+++ b/arch/powerpc/platforms/powernv/opal-imc.c
@@ -108,8 +108,8 @@ static int imc_get_mem_addr_nest(struct device_node *node,
nr_chips))
goto error;
- pmu_ptr->mem_info = kcalloc(nr_chips + 1, sizeof(*pmu_ptr->mem_info),
- GFP_KERNEL);
+ pmu_ptr->mem_info = kzalloc_objs(*pmu_ptr->mem_info, nr_chips + 1,
+ GFP_KERNEL);
if (!pmu_ptr->mem_info)
goto error;
@@ -146,7 +146,7 @@ static struct imc_pmu *imc_pmu_create(struct device_node *parent, int pmu_index,
return NULL;
/* memory for pmu */
- pmu_ptr = kzalloc(sizeof(*pmu_ptr), GFP_KERNEL);
+ pmu_ptr = kzalloc_obj(*pmu_ptr, GFP_KERNEL);
if (!pmu_ptr)
return NULL;
diff --git a/arch/powerpc/platforms/powernv/opal-irqchip.c b/arch/powerpc/platforms/powernv/opal-irqchip.c
index e180bd8e1400..7cf5cae6ef42 100644
--- a/arch/powerpc/platforms/powernv/opal-irqchip.c
+++ b/arch/powerpc/platforms/powernv/opal-irqchip.c
@@ -221,7 +221,7 @@ int __init opal_event_init(void)
opal_irq_count, old_style ? "old" : "new");
/* Allocate an IRQ resources array */
- opal_irqs = kcalloc(opal_irq_count, sizeof(struct resource), GFP_KERNEL);
+ opal_irqs = kzalloc_objs(struct resource, opal_irq_count, GFP_KERNEL);
if (WARN_ON(!opal_irqs)) {
rc = -ENOMEM;
goto out;
diff --git a/arch/powerpc/platforms/powernv/opal-lpc.c b/arch/powerpc/platforms/powernv/opal-lpc.c
index 8a7f39e106bd..c41ca500669d 100644
--- a/arch/powerpc/platforms/powernv/opal-lpc.c
+++ b/arch/powerpc/platforms/powernv/opal-lpc.c
@@ -355,7 +355,7 @@ static int opal_lpc_debugfs_create_type(struct dentry *folder,
enum OpalLPCAddressType type)
{
struct lpc_debugfs_entry *entry;
- entry = kzalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kzalloc_obj(*entry, GFP_KERNEL);
if (!entry)
return -ENOMEM;
entry->lpc_type = type;
diff --git a/arch/powerpc/platforms/powernv/opal-memory-errors.c b/arch/powerpc/platforms/powernv/opal-memory-errors.c
index a1754a28265d..54815882d7c0 100644
--- a/arch/powerpc/platforms/powernv/opal-memory-errors.c
+++ b/arch/powerpc/platforms/powernv/opal-memory-errors.c
@@ -93,7 +93,7 @@ static int opal_memory_err_event(struct notifier_block *nb,
if (msg_type != OPAL_MSG_MEM_ERR)
return 0;
- msg_node = kzalloc(sizeof(*msg_node), GFP_ATOMIC);
+ msg_node = kzalloc_obj(*msg_node, GFP_ATOMIC);
if (!msg_node) {
pr_err("MEMORY_ERROR: out of memory, Opal message event not"
"handled\n");
diff --git a/arch/powerpc/platforms/powernv/opal-powercap.c b/arch/powerpc/platforms/powernv/opal-powercap.c
index ea917266aa17..d530ac77b0e2 100644
--- a/arch/powerpc/platforms/powernv/opal-powercap.c
+++ b/arch/powerpc/platforms/powernv/opal-powercap.c
@@ -150,8 +150,7 @@ void __init opal_powercap_init(void)
return;
}
- pcaps = kcalloc(of_get_child_count(powercap), sizeof(*pcaps),
- GFP_KERNEL);
+ pcaps = kzalloc_objs(*pcaps, of_get_child_count(powercap), GFP_KERNEL);
if (!pcaps)
goto out_put_powercap;
@@ -182,13 +181,13 @@ void __init opal_powercap_init(void)
has_cur = true;
}
- pcaps[i].pattrs = kcalloc(j, sizeof(struct powercap_attr),
- GFP_KERNEL);
+ pcaps[i].pattrs = kzalloc_objs(struct powercap_attr, j,
+ GFP_KERNEL);
if (!pcaps[i].pattrs)
goto out_pcaps_pattrs;
- pcaps[i].pg.attrs = kcalloc(j + 1, sizeof(struct attribute *),
- GFP_KERNEL);
+ pcaps[i].pg.attrs = kzalloc_objs(struct attribute *, j + 1,
+ GFP_KERNEL);
if (!pcaps[i].pg.attrs) {
kfree(pcaps[i].pattrs);
goto out_pcaps_pattrs;
diff --git a/arch/powerpc/platforms/powernv/opal-psr.c b/arch/powerpc/platforms/powernv/opal-psr.c
index 6441e17b6996..731d8b355343 100644
--- a/arch/powerpc/platforms/powernv/opal-psr.c
+++ b/arch/powerpc/platforms/powernv/opal-psr.c
@@ -132,8 +132,8 @@ void __init opal_psr_init(void)
return;
}
- psr_attrs = kcalloc(of_get_child_count(psr), sizeof(*psr_attrs),
- GFP_KERNEL);
+ psr_attrs = kzalloc_objs(*psr_attrs, of_get_child_count(psr),
+ GFP_KERNEL);
if (!psr_attrs)
goto out_put_psr;
diff --git a/arch/powerpc/platforms/powernv/opal-sensor-groups.c b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
index 9944376b115c..c91e48d773ff 100644
--- a/arch/powerpc/platforms/powernv/opal-sensor-groups.c
+++ b/arch/powerpc/platforms/powernv/opal-sensor-groups.c
@@ -168,7 +168,7 @@ void __init opal_sensor_groups_init(void)
return;
}
- sgs = kcalloc(of_get_child_count(sg), sizeof(*sgs), GFP_KERNEL);
+ sgs = kzalloc_objs(*sgs, of_get_child_count(sg), GFP_KERNEL);
if (!sgs)
goto out_sg_put;
@@ -190,14 +190,13 @@ void __init opal_sensor_groups_init(void)
if (!nr_attrs)
continue;
- sgs[i].sgattrs = kcalloc(nr_attrs, sizeof(*sgs[i].sgattrs),
- GFP_KERNEL);
+ sgs[i].sgattrs = kzalloc_objs(*sgs[i].sgattrs, nr_attrs,
+ GFP_KERNEL);
if (!sgs[i].sgattrs)
goto out_sgs_sgattrs;
- sgs[i].sg.attrs = kcalloc(nr_attrs + 1,
- sizeof(*sgs[i].sg.attrs),
- GFP_KERNEL);
+ sgs[i].sg.attrs = kzalloc_objs(*sgs[i].sg.attrs, nr_attrs + 1,
+ GFP_KERNEL);
if (!sgs[i].sg.attrs) {
kfree(sgs[i].sgattrs);
diff --git a/arch/powerpc/platforms/powernv/opal-sysparam.c b/arch/powerpc/platforms/powernv/opal-sysparam.c
index a12312afe4ef..358d1b8a3e86 100644
--- a/arch/powerpc/platforms/powernv/opal-sysparam.c
+++ b/arch/powerpc/platforms/powernv/opal-sysparam.c
@@ -222,7 +222,7 @@ void __init opal_sys_param_init(void)
goto out_free_perm;
}
- attr = kcalloc(count, sizeof(*attr), GFP_KERNEL);
+ attr = kzalloc_objs(*attr, count, GFP_KERNEL);
if (!attr) {
pr_err("SYSPARAM: Failed to allocate memory for parameter "
"attributes\n");
diff --git a/arch/powerpc/platforms/powernv/opal-xscom.c b/arch/powerpc/platforms/powernv/opal-xscom.c
index 748c2b97fa53..bd788d62af5f 100644
--- a/arch/powerpc/platforms/powernv/opal-xscom.c
+++ b/arch/powerpc/platforms/powernv/opal-xscom.c
@@ -158,7 +158,7 @@ static int scom_debug_init_one(struct dentry *root, struct device_node *dn,
struct scom_debug_entry *ent;
struct dentry *dir;
- ent = kzalloc(sizeof(*ent), GFP_KERNEL);
+ ent = kzalloc_obj(*ent, GFP_KERNEL);
if (!ent)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/powernv/opal.c b/arch/powerpc/platforms/powernv/opal.c
index 09bd93464b4f..b1b1d3496739 100644
--- a/arch/powerpc/platforms/powernv/opal.c
+++ b/arch/powerpc/platforms/powernv/opal.c
@@ -251,7 +251,7 @@ static void queue_replay_msg(void *msg)
struct opal_msg_node *msg_node;
if (msg_list_size < OPAL_MSG_QUEUE_MAX) {
- msg_node = kzalloc(sizeof(*msg_node), GFP_ATOMIC);
+ msg_node = kzalloc_obj(*msg_node, GFP_ATOMIC);
if (msg_node) {
INIT_LIST_HEAD(&msg_node->list);
memcpy(&msg_node->msg, msg, sizeof(struct opal_msg));
@@ -801,7 +801,7 @@ static int opal_add_one_export(struct kobject *parent, const char *export_name,
if (rc)
goto out;
- attr = kzalloc(sizeof(*attr), GFP_KERNEL);
+ attr = kzalloc_obj(*attr, GFP_KERNEL);
if (!attr) {
rc = -ENOMEM;
goto out;
diff --git a/arch/powerpc/platforms/powernv/pci-ioda.c b/arch/powerpc/platforms/powernv/pci-ioda.c
index 1c78fdfb7b03..d77ff328eb37 100644
--- a/arch/powerpc/platforms/powernv/pci-ioda.c
+++ b/arch/powerpc/platforms/powernv/pci-ioda.c
@@ -2522,7 +2522,7 @@ static void __init pnv_pci_init_ioda_phb(struct device_node *np,
phb_id = be64_to_cpup(prop64);
pr_debug(" PHB-ID : 0x%016llx\n", phb_id);
- phb = kzalloc(sizeof(*phb), GFP_KERNEL);
+ phb = kzalloc_obj(*phb, GFP_KERNEL);
if (!phb)
panic("%s: Failed to allocate %zu bytes\n", __func__,
sizeof(*phb));
diff --git a/arch/powerpc/platforms/powernv/pci-sriov.c b/arch/powerpc/platforms/powernv/pci-sriov.c
index cc7b1dd54ac6..f1a8fcfdb2ba 100644
--- a/arch/powerpc/platforms/powernv/pci-sriov.c
+++ b/arch/powerpc/platforms/powernv/pci-sriov.c
@@ -149,7 +149,7 @@ static void pnv_pci_ioda_fixup_iov_resources(struct pci_dev *pdev)
struct pnv_iov_data *iov;
int mul;
- iov = kzalloc(sizeof(*iov), GFP_KERNEL);
+ iov = kzalloc_obj(*iov, GFP_KERNEL);
if (!iov)
goto disable_iov;
pdev->dev.archdata.iov_data = iov;
diff --git a/arch/powerpc/platforms/powernv/rng.c b/arch/powerpc/platforms/powernv/rng.c
index 196aa70fe043..6034f2cdcaf2 100644
--- a/arch/powerpc/platforms/powernv/rng.c
+++ b/arch/powerpc/platforms/powernv/rng.c
@@ -120,7 +120,7 @@ static __init int rng_create(struct device_node *dn)
struct resource res;
unsigned long val;
- rng = kzalloc(sizeof(*rng), GFP_KERNEL);
+ rng = kzalloc_obj(*rng, GFP_KERNEL);
if (!rng)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/powernv/vas-window.c b/arch/powerpc/platforms/powernv/vas-window.c
index 5147df3a18ac..06748e0d5c32 100644
--- a/arch/powerpc/platforms/powernv/vas-window.c
+++ b/arch/powerpc/platforms/powernv/vas-window.c
@@ -543,7 +543,7 @@ static struct pnv_vas_window *vas_window_alloc(struct vas_instance *vinst)
if (winid < 0)
return ERR_PTR(winid);
- window = kzalloc(sizeof(*window), GFP_KERNEL);
+ window = kzalloc_obj(*window, GFP_KERNEL);
if (!window)
goto out_free;
diff --git a/arch/powerpc/platforms/powernv/vas.c b/arch/powerpc/platforms/powernv/vas.c
index 9c9650319f3b..ca3553003b7c 100644
--- a/arch/powerpc/platforms/powernv/vas.c
+++ b/arch/powerpc/platforms/powernv/vas.c
@@ -74,7 +74,7 @@ static int init_vas_instance(struct platform_device *pdev)
return -ENODEV;
}
- vinst = kzalloc(sizeof(*vinst), GFP_KERNEL);
+ vinst = kzalloc_obj(*vinst, GFP_KERNEL);
if (!vinst)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/ps3/device-init.c b/arch/powerpc/platforms/ps3/device-init.c
index 22d91ac424dd..74e7fb0adcdb 100644
--- a/arch/powerpc/platforms/ps3/device-init.c
+++ b/arch/powerpc/platforms/ps3/device-init.c
@@ -31,7 +31,7 @@ static int __init ps3_register_lpm_devices(void)
pr_debug(" -> %s:%d\n", __func__, __LINE__);
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return -ENOMEM;
@@ -126,7 +126,7 @@ static int __init ps3_setup_gelic_device(
BUG_ON(repo->bus_type != PS3_BUS_TYPE_SB);
BUG_ON(repo->dev_type != PS3_DEV_TYPE_SB_GELIC);
- p = kzalloc(sizeof(struct layout), GFP_KERNEL);
+ p = kzalloc_obj(struct layout, GFP_KERNEL);
if (!p) {
result = -ENOMEM;
@@ -197,7 +197,7 @@ static int __init ps3_setup_uhc_device(
BUG_ON(repo->bus_type != PS3_BUS_TYPE_SB);
BUG_ON(repo->dev_type != PS3_DEV_TYPE_SB_USB);
- p = kzalloc(sizeof(struct layout), GFP_KERNEL);
+ p = kzalloc_obj(struct layout, GFP_KERNEL);
if (!p) {
result = -ENOMEM;
@@ -294,7 +294,7 @@ static int __init ps3_setup_vuart_device(enum ps3_match_id match_id,
pr_debug(" -> %s:%d: match_id %u, port %u\n", __func__, __LINE__,
match_id, port_number);
- p = kzalloc(sizeof(struct layout), GFP_KERNEL);
+ p = kzalloc_obj(struct layout, GFP_KERNEL);
if (!p)
return -ENOMEM;
@@ -344,7 +344,7 @@ static int ps3_setup_storage_dev(const struct ps3_repository_device *repo,
repo->dev_index, repo->dev_type, port, blk_size, num_blocks,
num_regions);
- p = kzalloc(struct_size(p, regions, num_regions), GFP_KERNEL);
+ p = kzalloc_flex(*p, regions, num_regions, GFP_KERNEL);
if (!p) {
result = -ENOMEM;
goto fail_malloc;
@@ -447,7 +447,7 @@ static int __init ps3_register_sound_devices(void)
pr_debug(" -> %s:%d\n", __func__, __LINE__);
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
@@ -481,7 +481,7 @@ static int __init ps3_register_graphics_devices(void)
pr_debug(" -> %s:%d\n", __func__, __LINE__);
- p = kzalloc(sizeof(struct layout), GFP_KERNEL);
+ p = kzalloc_obj(struct layout, GFP_KERNEL);
if (!p)
return -ENOMEM;
@@ -516,7 +516,7 @@ static int __init ps3_register_ramdisk_device(void)
pr_debug(" -> %s:%d\n", __func__, __LINE__);
- p = kzalloc(sizeof(struct layout), GFP_KERNEL);
+ p = kzalloc_obj(struct layout, GFP_KERNEL);
if (!p)
return -ENOMEM;
@@ -783,7 +783,7 @@ static int ps3_probe_thread(void *data)
pr_debug(" -> %s:%u: kthread started\n", __func__, __LINE__);
- local = kzalloc(sizeof(*local), GFP_KERNEL);
+ local = kzalloc_obj(*local, GFP_KERNEL);
if (!local)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/ps3/mm.c b/arch/powerpc/platforms/ps3/mm.c
index 1326de55fda6..20fc5b68faee 100644
--- a/arch/powerpc/platforms/ps3/mm.c
+++ b/arch/powerpc/platforms/ps3/mm.c
@@ -516,7 +516,7 @@ static int dma_sb_map_pages(struct ps3_dma_region *r, unsigned long phys_addr,
int result;
struct dma_chunk *c;
- c = kzalloc(sizeof(*c), GFP_ATOMIC);
+ c = kzalloc_obj(*c, GFP_ATOMIC);
if (!c) {
result = -ENOMEM;
goto fail_alloc;
@@ -561,7 +561,7 @@ static int dma_ioc0_map_pages(struct ps3_dma_region *r, unsigned long phys_addr,
DBG(KERN_ERR "%s: phy=%#lx, lpar%#lx, len=%#lx\n", __func__,
phys_addr, ps3_mm_phys_to_lpar(phys_addr), len);
- c = kzalloc(sizeof(*c), GFP_ATOMIC);
+ c = kzalloc_obj(*c, GFP_ATOMIC);
if (!c) {
result = -ENOMEM;
goto fail_alloc;
diff --git a/arch/powerpc/platforms/ps3/spu.c b/arch/powerpc/platforms/ps3/spu.c
index 61b37c9400b2..cd4ff2032cb0 100644
--- a/arch/powerpc/platforms/ps3/spu.c
+++ b/arch/powerpc/platforms/ps3/spu.c
@@ -336,8 +336,7 @@ static int __init ps3_create_spu(struct spu *spu, void *data)
pr_debug("%s:%d spu_%d\n", __func__, __LINE__, spu->number);
- spu->pdata = kzalloc(sizeof(struct spu_pdata),
- GFP_KERNEL);
+ spu->pdata = kzalloc_obj(struct spu_pdata, GFP_KERNEL);
if (!spu->pdata) {
result = -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/dlpar.c b/arch/powerpc/platforms/pseries/dlpar.c
index 979487da6522..ea5e97f1f054 100644
--- a/arch/powerpc/platforms/pseries/dlpar.c
+++ b/arch/powerpc/platforms/pseries/dlpar.c
@@ -53,7 +53,7 @@ static struct property *dlpar_parse_cc_property(struct cc_workarea *ccwa)
char *name;
char *value;
- prop = kzalloc(sizeof(*prop), GFP_KERNEL);
+ prop = kzalloc_obj(*prop, GFP_KERNEL);
if (!prop)
return NULL;
@@ -80,7 +80,7 @@ static struct device_node *dlpar_parse_cc_node(struct cc_workarea *ccwa)
struct device_node *dn;
const char *name;
- dn = kzalloc(sizeof(*dn), GFP_KERNEL);
+ dn = kzalloc_obj(*dn, GFP_KERNEL);
if (!dn)
return NULL;
@@ -633,7 +633,7 @@ void queue_hotplug_event(struct pseries_hp_errorlog *hp_errlog)
if (!hp_errlog_copy)
return;
- work = kmalloc(sizeof(struct pseries_hp_work), GFP_ATOMIC);
+ work = kmalloc_obj(struct pseries_hp_work, GFP_ATOMIC);
if (work) {
INIT_WORK((struct work_struct *)work, pseries_hp_work_fn);
work->errlog = hp_errlog_copy;
diff --git a/arch/powerpc/platforms/pseries/hotplug-memory.c b/arch/powerpc/platforms/pseries/hotplug-memory.c
index 38dc4f7c9296..a040d34c4e40 100644
--- a/arch/powerpc/platforms/pseries/hotplug-memory.c
+++ b/arch/powerpc/platforms/pseries/hotplug-memory.c
@@ -33,7 +33,7 @@ static struct property *dlpar_clone_property(struct property *prop,
{
struct property *new_prop;
- new_prop = kzalloc(sizeof(*new_prop), GFP_KERNEL);
+ new_prop = kzalloc_obj(*new_prop, GFP_KERNEL);
if (!new_prop)
return NULL;
diff --git a/arch/powerpc/platforms/pseries/hvcserver.c b/arch/powerpc/platforms/pseries/hvcserver.c
index d48c9c7ce10f..80e310a45f14 100644
--- a/arch/powerpc/platforms/pseries/hvcserver.c
+++ b/arch/powerpc/platforms/pseries/hvcserver.c
@@ -160,8 +160,8 @@ int hvcs_get_partner_info(uint32_t unit_address, struct list_head *head,
/* This is a very small struct and will be freed soon in
* hvcs_free_partner_info(). */
- next_partner_info = kmalloc(sizeof(struct hvcs_partner_info),
- GFP_ATOMIC);
+ next_partner_info = kmalloc_obj(struct hvcs_partner_info,
+ GFP_ATOMIC);
if (!next_partner_info) {
printk(KERN_WARNING "HVCONSOLE: kmalloc() failed to"
diff --git a/arch/powerpc/platforms/pseries/iommu.c b/arch/powerpc/platforms/pseries/iommu.c
index 5497b130e026..27de08d8fa15 100644
--- a/arch/powerpc/platforms/pseries/iommu.c
+++ b/arch/powerpc/platforms/pseries/iommu.c
@@ -1000,7 +1000,7 @@ static void copy_property(struct device_node *pdn, const char *from, const char
if (!src)
return;
- dst = kzalloc(sizeof(*dst), GFP_KERNEL);
+ dst = kzalloc_obj(*dst, GFP_KERNEL);
if (!dst)
return;
@@ -1089,7 +1089,7 @@ static struct dma_win *ddw_list_new_entry(struct device_node *pdn,
{
struct dma_win *window;
- window = kzalloc(sizeof(*window), GFP_KERNEL);
+ window = kzalloc_obj(*window, GFP_KERNEL);
if (!window)
return NULL;
@@ -1409,12 +1409,12 @@ static struct property *ddw_property_create(const char *propname, u32 liobn, u64
struct dynamic_dma_window_prop *ddwprop;
struct property *win64;
- win64 = kzalloc(sizeof(*win64), GFP_KERNEL);
+ win64 = kzalloc_obj(*win64, GFP_KERNEL);
if (!win64)
return NULL;
win64->name = kstrdup(propname, GFP_KERNEL);
- ddwprop = kzalloc(sizeof(*ddwprop), GFP_KERNEL);
+ ddwprop = kzalloc_obj(*ddwprop, GFP_KERNEL);
win64->value = ddwprop;
win64->length = sizeof(*ddwprop);
if (!win64->name || !win64->value) {
@@ -1760,7 +1760,7 @@ out_failed:
if (default_win_removed || limited_addr_enabled)
reset_dma_window(dev, pdn);
- fpdn = kzalloc(sizeof(*fpdn), GFP_KERNEL);
+ fpdn = kzalloc_obj(*fpdn, GFP_KERNEL);
if (!fpdn)
goto out_unlock;
fpdn->pdn = pdn;
@@ -2235,7 +2235,7 @@ remove_window:
__remove_dma_window(pdn, ddw_avail, create.liobn);
out_failed:
- fpdn = kzalloc(sizeof(*fpdn), GFP_KERNEL);
+ fpdn = kzalloc_obj(*fpdn, GFP_KERNEL);
if (!fpdn)
goto out_unlock;
fpdn->pdn = pdn;
@@ -2322,7 +2322,7 @@ static long spapr_tce_unset_window(struct iommu_table_group *table_group, int nu
goto out_unlock;
out_failed:
- fpdn = kzalloc(sizeof(*fpdn), GFP_KERNEL);
+ fpdn = kzalloc_obj(*fpdn, GFP_KERNEL);
if (!fpdn)
goto out_unlock;
fpdn->pdn = pdn;
diff --git a/arch/powerpc/platforms/pseries/lparcfg.c b/arch/powerpc/platforms/pseries/lparcfg.c
index 6554537984fb..bf6f9789167f 100644
--- a/arch/powerpc/platforms/pseries/lparcfg.c
+++ b/arch/powerpc/platforms/pseries/lparcfg.c
@@ -146,7 +146,7 @@ static void show_gpci_data(struct seq_file *m)
unsigned int affinity_score;
long ret;
- buf = kmalloc(sizeof(*buf), GFP_KERNEL);
+ buf = kmalloc_obj(*buf, GFP_KERNEL);
if (buf == NULL)
return;
diff --git a/arch/powerpc/platforms/pseries/mobility.c b/arch/powerpc/platforms/pseries/mobility.c
index 95fe802ccdfd..892f59c41d83 100644
--- a/arch/powerpc/platforms/pseries/mobility.c
+++ b/arch/powerpc/platforms/pseries/mobility.c
@@ -146,7 +146,7 @@ static int update_dt_property(struct device_node *dn, struct property **prop,
new_prop->value = new_data;
new_prop->length += vd;
} else {
- new_prop = kzalloc(sizeof(*new_prop), GFP_KERNEL);
+ new_prop = kzalloc_obj(*new_prop, GFP_KERNEL);
if (!new_prop)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/msi.c b/arch/powerpc/platforms/pseries/msi.c
index 4cd70a8201f1..3bc617a96671 100644
--- a/arch/powerpc/platforms/pseries/msi.c
+++ b/arch/powerpc/platforms/pseries/msi.c
@@ -441,7 +441,7 @@ static int pseries_msi_ops_prepare(struct irq_domain *domain, struct device *dev
int ret;
struct pseries_msi_device *pseries_dev __free(kfree)
- = kmalloc(sizeof(*pseries_dev), GFP_KERNEL);
+ = kmalloc_obj(*pseries_dev, GFP_KERNEL);
if (!pseries_dev)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/papr-hvpipe.c b/arch/powerpc/platforms/pseries/papr-hvpipe.c
index dd7b668799d9..14ae480d060a 100644
--- a/arch/powerpc/platforms/pseries/papr-hvpipe.c
+++ b/arch/powerpc/platforms/pseries/papr-hvpipe.c
@@ -495,7 +495,7 @@ static int papr_hvpipe_dev_create_handle(u32 srcID)
}
spin_unlock(&hvpipe_src_list_lock);
- src_info = kzalloc(sizeof(*src_info), GFP_KERNEL_ACCOUNT);
+ src_info = kzalloc_obj(*src_info, GFP_KERNEL_ACCOUNT);
if (!src_info)
return -ENOMEM;
@@ -762,7 +762,7 @@ static int __init papr_hvpipe_init(void)
!rtas_function_implemented(RTAS_FN_IBM_RECEIVE_HVPIPE_MSG))
return -ENODEV;
- papr_hvpipe_work = kzalloc(sizeof(struct work_struct), GFP_ATOMIC);
+ papr_hvpipe_work = kzalloc_obj(struct work_struct, GFP_ATOMIC);
if (!papr_hvpipe_work)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/papr-phy-attest.c b/arch/powerpc/platforms/pseries/papr-phy-attest.c
index 1907f2411567..20a0e1581302 100644
--- a/arch/powerpc/platforms/pseries/papr-phy-attest.c
+++ b/arch/powerpc/platforms/pseries/papr-phy-attest.c
@@ -225,7 +225,7 @@ static long papr_phy_attest_create_handle(struct papr_phy_attest_io_block __user
/*
* Freed in phy_attest_sequence_end().
*/
- params = kzalloc(sizeof(*params), GFP_KERNEL_ACCOUNT);
+ params = kzalloc_obj(*params, GFP_KERNEL_ACCOUNT);
if (!params)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/papr-platform-dump.c b/arch/powerpc/platforms/pseries/papr-platform-dump.c
index be633c9a0e75..fb7ea84bf98a 100644
--- a/arch/powerpc/platforms/pseries/papr-platform-dump.c
+++ b/arch/powerpc/platforms/pseries/papr-platform-dump.c
@@ -321,8 +321,8 @@ static long papr_platform_dump_create_handle(u64 dump_tag)
}
}
- params = kzalloc(sizeof(struct ibm_platform_dump_params),
- GFP_KERNEL_ACCOUNT);
+ params = kzalloc_obj(struct ibm_platform_dump_params,
+ GFP_KERNEL_ACCOUNT);
if (!params)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/papr-rtas-common.c b/arch/powerpc/platforms/pseries/papr-rtas-common.c
index 1630e0cd210c..6bf4d1f15000 100644
--- a/arch/powerpc/platforms/pseries/papr-rtas-common.c
+++ b/arch/powerpc/platforms/pseries/papr-rtas-common.c
@@ -83,7 +83,7 @@ papr_rtas_blob_generate(struct papr_rtas_sequence *seq)
size_t len;
int err = 0;
- blob = kzalloc(sizeof(*blob), GFP_KERNEL_ACCOUNT);
+ blob = kzalloc_obj(*blob, GFP_KERNEL_ACCOUNT);
if (!blob)
return NULL;
diff --git a/arch/powerpc/platforms/pseries/papr-sysparm.c b/arch/powerpc/platforms/pseries/papr-sysparm.c
index 7063ce8884e4..7974750ab868 100644
--- a/arch/powerpc/platforms/pseries/papr-sysparm.c
+++ b/arch/powerpc/platforms/pseries/papr-sysparm.c
@@ -19,7 +19,7 @@
struct papr_sysparm_buf *papr_sysparm_buf_alloc(void)
{
- struct papr_sysparm_buf *buf = kzalloc(sizeof(*buf), GFP_KERNEL);
+ struct papr_sysparm_buf *buf = kzalloc_obj(*buf, GFP_KERNEL);
return buf;
}
diff --git a/arch/powerpc/platforms/pseries/papr_platform_attributes.c b/arch/powerpc/platforms/pseries/papr_platform_attributes.c
index eea2041b270b..a7821279661a 100644
--- a/arch/powerpc/platforms/pseries/papr_platform_attributes.c
+++ b/arch/powerpc/platforms/pseries/papr_platform_attributes.c
@@ -295,7 +295,7 @@ retry:
goto out_free_esi_buf;
}
- papr_groups = kcalloc(num_attrs, sizeof(*papr_groups), GFP_KERNEL);
+ papr_groups = kzalloc_objs(*papr_groups, num_attrs, GFP_KERNEL);
if (!papr_groups)
goto out_free_esi_buf;
@@ -313,9 +313,9 @@ retry:
/* Allocate the groups before registering */
for (idx = 0; idx < num_attrs; idx++) {
- papr_groups[idx].pg.attrs = kcalloc(KOBJ_MAX_ATTRS + 1,
- sizeof(*papr_groups[idx].pg.attrs),
- GFP_KERNEL);
+ papr_groups[idx].pg.attrs = kzalloc_objs(*papr_groups[idx].pg.attrs,
+ KOBJ_MAX_ATTRS + 1,
+ GFP_KERNEL);
if (!papr_groups[idx].pg.attrs)
goto out_pgattrs;
diff --git a/arch/powerpc/platforms/pseries/papr_scm.c b/arch/powerpc/platforms/pseries/papr_scm.c
index f7c9271bda58..5d41c0223f10 100644
--- a/arch/powerpc/platforms/pseries/papr_scm.c
+++ b/arch/powerpc/platforms/pseries/papr_scm.c
@@ -445,7 +445,7 @@ static void papr_scm_pmu_register(struct papr_scm_priv *p)
struct nvdimm_pmu *nd_pmu;
int rc, nodeid;
- nd_pmu = kzalloc(sizeof(*nd_pmu), GFP_KERNEL);
+ nd_pmu = kzalloc_obj(*nd_pmu, GFP_KERNEL);
if (!nd_pmu) {
rc = -ENOMEM;
goto pmu_err_print;
@@ -1398,7 +1398,7 @@ static int papr_scm_probe(struct platform_device *pdev)
*/
update_numa_distance(dn);
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/pci.c b/arch/powerpc/platforms/pseries/pci.c
index 6dbc73eb2ca2..8ce3f591a2b4 100644
--- a/arch/powerpc/platforms/pseries/pci.c
+++ b/arch/powerpc/platforms/pseries/pci.c
@@ -141,9 +141,7 @@ static int pseries_pci_sriov_enable(struct pci_dev *pdev, u16 num_vfs)
}
pdn = pci_get_pdn(pdev);
- pdn->pe_num_map = kmalloc_array(num_vfs,
- sizeof(*pdn->pe_num_map),
- GFP_KERNEL);
+ pdn->pe_num_map = kmalloc_objs(*pdn->pe_num_map, num_vfs, GFP_KERNEL);
if (!pdn->pe_num_map)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/reconfig.c b/arch/powerpc/platforms/pseries/reconfig.c
index 599bd2c78514..38f4312f5210 100644
--- a/arch/powerpc/platforms/pseries/reconfig.c
+++ b/arch/powerpc/platforms/pseries/reconfig.c
@@ -25,7 +25,7 @@ static int pSeries_reconfig_add_node(const char *path, struct property *proplist
struct device_node *np;
int err = -ENOMEM;
- np = kzalloc(sizeof(*np), GFP_KERNEL);
+ np = kzalloc_obj(*np, GFP_KERNEL);
if (!np)
goto out_err;
@@ -168,7 +168,7 @@ static char * parse_next_property(char *buf, char *end, char **name, int *length
static struct property *new_property(const char *name, const int length,
const unsigned char *value, struct property *last)
{
- struct property *new = kzalloc(sizeof(*new), GFP_KERNEL);
+ struct property *new = kzalloc_obj(*new, GFP_KERNEL);
if (!new)
return NULL;
diff --git a/arch/powerpc/platforms/pseries/vas-sysfs.c b/arch/powerpc/platforms/pseries/vas-sysfs.c
index 9e05a0e99cad..44ed41dd4b5f 100644
--- a/arch/powerpc/platforms/pseries/vas-sysfs.c
+++ b/arch/powerpc/platforms/pseries/vas-sysfs.c
@@ -202,7 +202,7 @@ int sysfs_add_vas_caps(struct vas_cop_feat_caps *caps)
int ret = 0;
char *name;
- centry = kzalloc(sizeof(*centry), GFP_KERNEL);
+ centry = kzalloc_obj(*centry, GFP_KERNEL);
if (!centry)
return -ENOMEM;
diff --git a/arch/powerpc/platforms/pseries/vas.c b/arch/powerpc/platforms/pseries/vas.c
index c25eb1a38185..d8890b62197b 100644
--- a/arch/powerpc/platforms/pseries/vas.c
+++ b/arch/powerpc/platforms/pseries/vas.c
@@ -324,7 +324,7 @@ static struct vas_window *vas_allocate_window(int vas_id, u64 flags,
struct pseries_vas_window *txwin;
int rc;
- txwin = kzalloc(sizeof(*txwin), GFP_KERNEL);
+ txwin = kzalloc_obj(*txwin, GFP_KERNEL);
if (!txwin)
return ERR_PTR(-ENOMEM);
@@ -1087,7 +1087,7 @@ static int __init pseries_vas_init(void)
return -ENOTSUPP;
}
- hv_caps = kmalloc(sizeof(*hv_caps), GFP_KERNEL);
+ hv_caps = kmalloc_obj(*hv_caps, GFP_KERNEL);
if (!hv_caps)
return -ENOMEM;
/*
diff --git a/arch/powerpc/platforms/pseries/vio.c b/arch/powerpc/platforms/pseries/vio.c
index 18cffac5468f..4cb192cd5aa9 100644
--- a/arch/powerpc/platforms/pseries/vio.c
+++ b/arch/powerpc/platforms/pseries/vio.c
@@ -744,8 +744,7 @@ static int vio_cmo_bus_probe(struct vio_dev *viodev)
viodev->cmo.desired = VIO_CMO_MIN_ENT;
size = VIO_CMO_MIN_ENT;
- dev_ent = kmalloc(sizeof(struct vio_cmo_dev_entry),
- GFP_KERNEL);
+ dev_ent = kmalloc_obj(struct vio_cmo_dev_entry, GFP_KERNEL);
if (!dev_ent)
return -ENOMEM;
@@ -1165,7 +1164,7 @@ static struct iommu_table *vio_build_iommu_table(struct vio_dev *dev)
if (!dma_window)
return NULL;
- tbl = kzalloc(sizeof(*tbl), GFP_KERNEL);
+ tbl = kzalloc_obj(*tbl, GFP_KERNEL);
if (tbl == NULL)
return NULL;
@@ -1376,7 +1375,7 @@ struct vio_dev *vio_register_device_node(struct device_node *of_node)
}
/* allocate a vio_dev for this node */
- viodev = kzalloc(sizeof(struct vio_dev), GFP_KERNEL);
+ viodev = kzalloc_obj(struct vio_dev, GFP_KERNEL);
if (viodev == NULL) {
pr_warn("%s: allocation failure for VIO device.\n", __func__);
return NULL;
diff --git a/arch/powerpc/sysdev/ehv_pic.c b/arch/powerpc/sysdev/ehv_pic.c
index b6f9774038e1..c4c61216b96a 100644
--- a/arch/powerpc/sysdev/ehv_pic.c
+++ b/arch/powerpc/sysdev/ehv_pic.c
@@ -263,7 +263,7 @@ void __init ehv_pic_init(void)
return;
}
- ehv_pic = kzalloc(sizeof(struct ehv_pic), GFP_KERNEL);
+ ehv_pic = kzalloc_obj(struct ehv_pic, GFP_KERNEL);
if (!ehv_pic) {
of_node_put(np);
return;
diff --git a/arch/powerpc/sysdev/fsl_gtm.c b/arch/powerpc/sysdev/fsl_gtm.c
index 3dabc9621810..fabf39586eba 100644
--- a/arch/powerpc/sysdev/fsl_gtm.c
+++ b/arch/powerpc/sysdev/fsl_gtm.c
@@ -382,7 +382,7 @@ static int __init fsl_gtm_init(void)
const u32 *clock;
int size;
- gtm = kzalloc(sizeof(*gtm), GFP_KERNEL);
+ gtm = kzalloc_obj(*gtm, GFP_KERNEL);
if (!gtm) {
pr_err("%pOF: unable to allocate memory\n",
np);
diff --git a/arch/powerpc/sysdev/fsl_lbc.c b/arch/powerpc/sysdev/fsl_lbc.c
index 7ed07232a69a..01ddc6ac8277 100644
--- a/arch/powerpc/sysdev/fsl_lbc.c
+++ b/arch/powerpc/sysdev/fsl_lbc.c
@@ -283,7 +283,7 @@ static int fsl_lbc_ctrl_probe(struct platform_device *dev)
return -EFAULT;
}
- fsl_lbc_ctrl_dev = kzalloc(sizeof(*fsl_lbc_ctrl_dev), GFP_KERNEL);
+ fsl_lbc_ctrl_dev = kzalloc_obj(*fsl_lbc_ctrl_dev, GFP_KERNEL);
if (!fsl_lbc_ctrl_dev)
return -ENOMEM;
@@ -363,7 +363,7 @@ static int fsl_lbc_syscore_suspend(void *data)
if (!lbc)
goto out;
- ctrl->saved_regs = kmalloc(sizeof(struct fsl_lbc_regs), GFP_KERNEL);
+ ctrl->saved_regs = kmalloc_obj(struct fsl_lbc_regs, GFP_KERNEL);
if (!ctrl->saved_regs)
return -ENOMEM;
diff --git a/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c b/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c
index 06d9101a5d49..43d6fba2bd42 100644
--- a/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c
+++ b/arch/powerpc/sysdev/fsl_mpic_timer_wakeup.c
@@ -111,7 +111,7 @@ static int __init fsl_wakeup_sys_init(void)
struct device *dev_root;
int ret = -EINVAL;
- fsl_wakeup = kzalloc(sizeof(struct fsl_mpic_timer_wakeup), GFP_KERNEL);
+ fsl_wakeup = kzalloc_obj(struct fsl_mpic_timer_wakeup, GFP_KERNEL);
if (!fsl_wakeup)
return -ENOMEM;
diff --git a/arch/powerpc/sysdev/fsl_msi.c b/arch/powerpc/sysdev/fsl_msi.c
index 2a007bfb038d..525ea894c14a 100644
--- a/arch/powerpc/sysdev/fsl_msi.c
+++ b/arch/powerpc/sysdev/fsl_msi.c
@@ -361,7 +361,7 @@ static int fsl_msi_setup_hwirq(struct fsl_msi *msi, struct platform_device *dev,
return 0;
}
- cascade_data = kzalloc(sizeof(struct fsl_msi_cascade_data), GFP_KERNEL);
+ cascade_data = kzalloc_obj(struct fsl_msi_cascade_data, GFP_KERNEL);
if (!cascade_data) {
dev_err(&dev->dev, "No memory for MSI cascade data\n");
return -ENOMEM;
@@ -405,7 +405,7 @@ static int fsl_of_msi_probe(struct platform_device *dev)
printk(KERN_DEBUG "Setting up Freescale MSI support\n");
- msi = kzalloc(sizeof(struct fsl_msi), GFP_KERNEL);
+ msi = kzalloc_obj(struct fsl_msi, GFP_KERNEL);
if (!msi) {
dev_err(&dev->dev, "No memory for MSI structure\n");
return -ENOMEM;
diff --git a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
index 4e501654cb41..0952b5ff8a16 100644
--- a/arch/powerpc/sysdev/fsl_pci.c
+++ b/arch/powerpc/sysdev/fsl_pci.c
@@ -767,7 +767,7 @@ static int __init mpc83xx_pcie_setup(struct pci_controller *hose,
u32 cfg_bar;
int ret = -ENOMEM;
- pcie = kzalloc(sizeof(*pcie), GFP_KERNEL);
+ pcie = kzalloc_obj(*pcie, GFP_KERNEL);
if (!pcie)
return ret;
diff --git a/arch/powerpc/sysdev/fsl_rio.c b/arch/powerpc/sysdev/fsl_rio.c
index f9b214b299e7..249b876daaee 100644
--- a/arch/powerpc/sysdev/fsl_rio.c
+++ b/arch/powerpc/sysdev/fsl_rio.c
@@ -470,7 +470,7 @@ static int fsl_rio_setup(struct platform_device *dev)
goto err_rio_regs;
}
- ops = kzalloc(sizeof(struct rio_ops), GFP_KERNEL);
+ ops = kzalloc_obj(struct rio_ops, GFP_KERNEL);
if (!ops) {
rc = -ENOMEM;
goto err_ops;
@@ -517,7 +517,7 @@ static int fsl_rio_setup(struct platform_device *dev)
rc = -ENODEV;
goto err_dbell;
}
- dbell = kzalloc(sizeof(struct fsl_rio_dbell), GFP_KERNEL);
+ dbell = kzalloc_obj(struct fsl_rio_dbell, GFP_KERNEL);
if (!(dbell)) {
dev_err(&dev->dev, "Can't alloc memory for 'fsl_rio_dbell'\n");
rc = -ENOMEM;
@@ -543,7 +543,7 @@ static int fsl_rio_setup(struct platform_device *dev)
rc = -ENODEV;
goto err_pw;
}
- pw = kzalloc(sizeof(struct fsl_rio_pw), GFP_KERNEL);
+ pw = kzalloc_obj(struct fsl_rio_pw, GFP_KERNEL);
if (!(pw)) {
dev_err(&dev->dev, "Can't alloc memory for 'fsl_rio_pw'\n");
rc = -ENOMEM;
@@ -580,7 +580,7 @@ static int fsl_rio_setup(struct platform_device *dev)
dev_info(&dev->dev, "%pOF: LAW %pR\n",
np, &res);
- port = kzalloc(sizeof(struct rio_mport), GFP_KERNEL);
+ port = kzalloc_obj(struct rio_mport, GFP_KERNEL);
if (!port)
continue;
@@ -593,7 +593,7 @@ static int fsl_rio_setup(struct platform_device *dev)
i = *port_index - 1;
port->index = (unsigned char)i;
- priv = kzalloc(sizeof(struct rio_priv), GFP_KERNEL);
+ priv = kzalloc_obj(struct rio_priv, GFP_KERNEL);
if (!priv) {
dev_err(&dev->dev, "Can't alloc memory for 'priv'\n");
kfree(port);
diff --git a/arch/powerpc/sysdev/fsl_rmu.c b/arch/powerpc/sysdev/fsl_rmu.c
index f956591cb64e..c0e358cf7822 100644
--- a/arch/powerpc/sysdev/fsl_rmu.c
+++ b/arch/powerpc/sysdev/fsl_rmu.c
@@ -1079,7 +1079,7 @@ int fsl_rio_setup_rmu(struct rio_mport *mport, struct device_node *node)
return -EINVAL;
}
- rmu = kzalloc(sizeof(struct fsl_rmu), GFP_KERNEL);
+ rmu = kzalloc_obj(struct fsl_rmu, GFP_KERNEL);
if (!rmu)
return -ENOMEM;
diff --git a/arch/powerpc/sysdev/ipic.c b/arch/powerpc/sysdev/ipic.c
index 290ba8427239..2351604cc24a 100644
--- a/arch/powerpc/sysdev/ipic.c
+++ b/arch/powerpc/sysdev/ipic.c
@@ -707,7 +707,7 @@ struct ipic * __init ipic_init(struct device_node *node, unsigned int flags)
if (ret)
return NULL;
- ipic = kzalloc(sizeof(*ipic), GFP_KERNEL);
+ ipic = kzalloc_obj(*ipic, GFP_KERNEL);
if (ipic == NULL)
return NULL;
diff --git a/arch/powerpc/sysdev/mpic.c b/arch/powerpc/sysdev/mpic.c
index 67e51998d1ae..cb4cdd853cc8 100644
--- a/arch/powerpc/sysdev/mpic.c
+++ b/arch/powerpc/sysdev/mpic.c
@@ -547,7 +547,7 @@ static void __init mpic_scan_ht_pics(struct mpic *mpic)
printk(KERN_INFO "mpic: Setting up HT PICs workarounds for U3/U4\n");
/* Allocate fixups array */
- mpic->fixups = kcalloc(128, sizeof(*mpic->fixups), GFP_KERNEL);
+ mpic->fixups = kzalloc_objs(*mpic->fixups, 128, GFP_KERNEL);
BUG_ON(mpic->fixups == NULL);
/* Init spinlock */
@@ -1273,7 +1273,7 @@ struct mpic * __init mpic_alloc(struct device_node *node,
mpic_tm_chip.flags |= IRQCHIP_SKIP_SET_WAKE;
}
- mpic = kzalloc(sizeof(struct mpic), GFP_KERNEL);
+ mpic = kzalloc_obj(struct mpic, GFP_KERNEL);
if (mpic == NULL)
goto err_of_node_put;
@@ -1639,9 +1639,8 @@ void __init mpic_init(struct mpic *mpic)
#ifdef CONFIG_PM
/* allocate memory to save mpic state */
- mpic->save_data = kmalloc_array(mpic->num_sources,
- sizeof(*mpic->save_data),
- GFP_KERNEL);
+ mpic->save_data = kmalloc_objs(*mpic->save_data, mpic->num_sources,
+ GFP_KERNEL);
BUG_ON(mpic->save_data == NULL);
#endif
diff --git a/arch/powerpc/sysdev/mpic_msgr.c b/arch/powerpc/sysdev/mpic_msgr.c
index 7b449cc51aef..8b1c02f5b1b3 100644
--- a/arch/powerpc/sysdev/mpic_msgr.c
+++ b/arch/powerpc/sysdev/mpic_msgr.c
@@ -188,8 +188,8 @@ static int mpic_msgr_probe(struct platform_device *dev)
dev_info(&dev->dev, "Found %d message registers\n",
mpic_msgr_count);
- mpic_msgrs = kcalloc(mpic_msgr_count, sizeof(*mpic_msgrs),
- GFP_KERNEL);
+ mpic_msgrs = kzalloc_objs(*mpic_msgrs, mpic_msgr_count,
+ GFP_KERNEL);
if (!mpic_msgrs) {
dev_err(&dev->dev,
"No memory for message register blocks\n");
@@ -227,7 +227,7 @@ static int mpic_msgr_probe(struct platform_device *dev)
struct mpic_msgr *msgr;
unsigned int reg_number;
- msgr = kzalloc(sizeof(struct mpic_msgr), GFP_KERNEL);
+ msgr = kzalloc_obj(struct mpic_msgr, GFP_KERNEL);
if (!msgr) {
dev_err(&dev->dev, "No memory for message register\n");
return -ENOMEM;
diff --git a/arch/powerpc/sysdev/mpic_timer.c b/arch/powerpc/sysdev/mpic_timer.c
index 60f5b3934b51..7b237b6f7151 100644
--- a/arch/powerpc/sysdev/mpic_timer.c
+++ b/arch/powerpc/sysdev/mpic_timer.c
@@ -464,7 +464,7 @@ static void __init timer_group_init(struct device_node *np)
unsigned int i = 0;
int ret;
- priv = kzalloc(sizeof(struct timer_group_priv), GFP_KERNEL);
+ priv = kzalloc_obj(struct timer_group_priv, GFP_KERNEL);
if (!priv) {
pr_err("%pOF: cannot allocate memory for group.\n", np);
return;
diff --git a/arch/powerpc/sysdev/of_rtc.c b/arch/powerpc/sysdev/of_rtc.c
index 2211937d3788..6c2ba4c44b11 100644
--- a/arch/powerpc/sysdev/of_rtc.c
+++ b/arch/powerpc/sysdev/of_rtc.c
@@ -33,7 +33,7 @@ void __init of_instantiate_rtc(void)
of_rtc_table[i].compatible) {
struct resource *res;
- res = kmalloc(sizeof(*res), GFP_KERNEL);
+ res = kmalloc_obj(*res, GFP_KERNEL);
if (!res) {
printk(KERN_ERR "OF RTC: Out of memory "
"allocating resource structure for %pOF\n",
diff --git a/arch/powerpc/sysdev/xics/ics-native.c b/arch/powerpc/sysdev/xics/ics-native.c
index 112c8a1e8159..50634a0ae478 100644
--- a/arch/powerpc/sysdev/xics/ics-native.c
+++ b/arch/powerpc/sysdev/xics/ics-native.c
@@ -186,7 +186,7 @@ static int __init ics_native_add_one(struct device_node *np)
u32 ranges[2];
int rc, count;
- ics = kzalloc(sizeof(struct ics_native), GFP_KERNEL);
+ ics = kzalloc_obj(struct ics_native, GFP_KERNEL);
if (!ics)
return -ENOMEM;
ics->node = of_node_get(np);
diff --git a/arch/powerpc/sysdev/xive/common.c b/arch/powerpc/sysdev/xive/common.c
index 8d0123b0ae84..f0fbee162f47 100644
--- a/arch/powerpc/sysdev/xive/common.c
+++ b/arch/powerpc/sysdev/xive/common.c
@@ -1016,7 +1016,7 @@ static struct xive_irq_data *xive_irq_alloc_data(unsigned int virq, irq_hw_numbe
struct xive_irq_data *xd;
int rc;
- xd = kzalloc(sizeof(struct xive_irq_data), GFP_KERNEL);
+ xd = kzalloc_obj(struct xive_irq_data, GFP_KERNEL);
if (!xd)
return ERR_PTR(-ENOMEM);
rc = xive_ops->populate_irq_data(hw, xd);
@@ -1144,7 +1144,8 @@ static int __init xive_init_ipis(void)
if (!ipi_domain)
goto out_free_fwnode;
- xive_ipis = kcalloc(nr_node_ids, sizeof(*xive_ipis), GFP_KERNEL | __GFP_NOFAIL);
+ xive_ipis = kzalloc_objs(*xive_ipis, nr_node_ids,
+ GFP_KERNEL | __GFP_NOFAIL);
if (!xive_ipis)
goto out_free_domain;
diff --git a/arch/powerpc/sysdev/xive/spapr.c b/arch/powerpc/sysdev/xive/spapr.c
index 5aedbe3e8e6a..dca293f07303 100644
--- a/arch/powerpc/sysdev/xive/spapr.c
+++ b/arch/powerpc/sysdev/xive/spapr.c
@@ -52,7 +52,7 @@ static int __init xive_irq_bitmap_add(int base, int count)
{
struct xive_irq_bitmap *xibm;
- xibm = kzalloc(sizeof(*xibm), GFP_KERNEL);
+ xibm = kzalloc_obj(*xibm, GFP_KERNEL);
if (!xibm)
return -ENOMEM;
diff --git a/arch/riscv/kernel/hibernate.c b/arch/riscv/kernel/hibernate.c
index 671b686c0158..0e31c02cb554 100644
--- a/arch/riscv/kernel/hibernate.c
+++ b/arch/riscv/kernel/hibernate.c
@@ -415,7 +415,7 @@ int hibernate_resume_nonboot_cpu_disable(void)
static int __init riscv_hibernate_init(void)
{
- hibernate_cpu_context = kzalloc(sizeof(*hibernate_cpu_context), GFP_KERNEL);
+ hibernate_cpu_context = kzalloc_obj(*hibernate_cpu_context, GFP_KERNEL);
if (WARN_ON(!hibernate_cpu_context))
return -ENOMEM;
diff --git a/arch/riscv/kernel/machine_kexec_file.c b/arch/riscv/kernel/machine_kexec_file.c
index dd9d92a96517..a780d3e0955c 100644
--- a/arch/riscv/kernel/machine_kexec_file.c
+++ b/arch/riscv/kernel/machine_kexec_file.c
@@ -64,7 +64,7 @@ static int prepare_elf_headers(void **addr, unsigned long *sz)
nr_ranges = 1; /* For exclusion of crashkernel region */
walk_system_ram_res(0, -1, &nr_ranges, get_nr_ram_ranges_callback);
- cmem = kmalloc(struct_size(cmem, ranges, nr_ranges), GFP_KERNEL);
+ cmem = kmalloc_flex(*cmem, ranges, nr_ranges, GFP_KERNEL);
if (!cmem)
return -ENOMEM;
diff --git a/arch/riscv/kernel/module.c b/arch/riscv/kernel/module.c
index 7f6147c18033..addc7dac2424 100644
--- a/arch/riscv/kernel/module.c
+++ b/arch/riscv/kernel/module.c
@@ -663,7 +663,7 @@ static int add_relocation_to_accumulate(struct module *me, int type,
struct used_bucket *bucket;
unsigned long hash;
- entry = kmalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kmalloc_obj(*entry, GFP_KERNEL);
if (!entry)
return -ENOMEM;
@@ -697,7 +697,7 @@ static int add_relocation_to_accumulate(struct module *me, int type,
* relocation_entry.
*/
if (!found) {
- rel_head = kmalloc(sizeof(*rel_head), GFP_KERNEL);
+ rel_head = kmalloc_obj(*rel_head, GFP_KERNEL);
if (!rel_head) {
kfree(entry);
@@ -709,7 +709,7 @@ static int add_relocation_to_accumulate(struct module *me, int type,
INIT_HLIST_NODE(&rel_head->node);
if (!current_head->first) {
bucket =
- kmalloc(sizeof(struct used_bucket), GFP_KERNEL);
+ kmalloc_obj(struct used_bucket, GFP_KERNEL);
if (!bucket) {
kfree(entry);
@@ -753,9 +753,8 @@ initialize_relocation_hashtable(unsigned int num_relocations,
hashtable_size <<= should_double_size;
/* Number of relocations may be large, so kvmalloc it */
- *relocation_hashtable = kvmalloc_array(hashtable_size,
- sizeof(**relocation_hashtable),
- GFP_KERNEL);
+ *relocation_hashtable = kvmalloc_objs(**relocation_hashtable,
+ hashtable_size, GFP_KERNEL);
if (!*relocation_hashtable)
return 0;
diff --git a/arch/riscv/kernel/tests/kprobes/test-kprobes.c b/arch/riscv/kernel/tests/kprobes/test-kprobes.c
index 664535ca0a98..c0526c0c7527 100644
--- a/arch/riscv/kernel/tests/kprobes/test-kprobes.c
+++ b/arch/riscv/kernel/tests/kprobes/test-kprobes.c
@@ -20,7 +20,7 @@ static void test_kprobe_riscv(struct kunit *test)
while (test_kprobes_addresses[num_kprobe])
num_kprobe++;
- kp = kcalloc(num_kprobe, sizeof(*kp), GFP_KERNEL);
+ kp = kzalloc_objs(*kp, num_kprobe, GFP_KERNEL);
KUNIT_EXPECT_TRUE(test, kp);
if (!kp)
return;
diff --git a/arch/riscv/kernel/unaligned_access_speed.c b/arch/riscv/kernel/unaligned_access_speed.c
index 70b5e6927620..63ed6e6b24eb 100644
--- a/arch/riscv/kernel/unaligned_access_speed.c
+++ b/arch/riscv/kernel/unaligned_access_speed.c
@@ -139,7 +139,7 @@ static void __init check_unaligned_access_speed_all_cpus(void)
{
unsigned int cpu;
unsigned int cpu_count = num_possible_cpus();
- struct page **bufs = kcalloc(cpu_count, sizeof(*bufs), GFP_KERNEL);
+ struct page **bufs = kzalloc_objs(*bufs, cpu_count, GFP_KERNEL);
if (!bufs) {
pr_warn("Allocation failure, not measuring misaligned performance\n");
diff --git a/arch/riscv/kernel/vdso.c b/arch/riscv/kernel/vdso.c
index 43f70198ac3c..7e3749131c59 100644
--- a/arch/riscv/kernel/vdso.c
+++ b/arch/riscv/kernel/vdso.c
@@ -55,9 +55,8 @@ static void __init __vdso_init(struct __vdso_info *vdso_info)
vdso_info->vdso_code_start) >>
PAGE_SHIFT;
- vdso_pagelist = kcalloc(vdso_info->vdso_pages,
- sizeof(struct page *),
- GFP_KERNEL);
+ vdso_pagelist = kzalloc_objs(struct page *, vdso_info->vdso_pages,
+ GFP_KERNEL);
if (vdso_pagelist == NULL)
panic("vDSO kcalloc failed!\n");
diff --git a/arch/riscv/kvm/aia_aplic.c b/arch/riscv/kvm/aia_aplic.c
index f59d1c0c8c43..25d9c2a3a85a 100644
--- a/arch/riscv/kvm/aia_aplic.c
+++ b/arch/riscv/kvm/aia_aplic.c
@@ -580,7 +580,7 @@ int kvm_riscv_aia_aplic_init(struct kvm *kvm)
return 0;
/* Allocate APLIC global state */
- aplic = kzalloc(sizeof(*aplic), GFP_KERNEL);
+ aplic = kzalloc_obj(*aplic, GFP_KERNEL);
if (!aplic)
return -ENOMEM;
kvm->arch.aia.aplic_state = aplic;
@@ -588,8 +588,7 @@ int kvm_riscv_aia_aplic_init(struct kvm *kvm)
/* Setup APLIC IRQs */
aplic->nr_irqs = kvm->arch.aia.nr_sources + 1;
aplic->nr_words = DIV_ROUND_UP(aplic->nr_irqs, 32);
- aplic->irqs = kcalloc(aplic->nr_irqs,
- sizeof(*aplic->irqs), GFP_KERNEL);
+ aplic->irqs = kzalloc_objs(*aplic->irqs, aplic->nr_irqs, GFP_KERNEL);
if (!aplic->irqs) {
ret = -ENOMEM;
goto fail_free_aplic;
diff --git a/arch/riscv/kvm/aia_imsic.c b/arch/riscv/kvm/aia_imsic.c
index 60da5fa155a6..aafa19629524 100644
--- a/arch/riscv/kvm/aia_imsic.c
+++ b/arch/riscv/kvm/aia_imsic.c
@@ -1095,7 +1095,7 @@ int kvm_riscv_vcpu_aia_imsic_init(struct kvm_vcpu *vcpu)
return -EINVAL;
/* Allocate IMSIC context */
- imsic = kzalloc(sizeof(*imsic), GFP_KERNEL);
+ imsic = kzalloc_obj(*imsic, GFP_KERNEL);
if (!imsic)
return -ENOMEM;
vcpu->arch.aia_context.imsic_state = imsic;
diff --git a/arch/riscv/kvm/vcpu_sbi_fwft.c b/arch/riscv/kvm/vcpu_sbi_fwft.c
index 62cc9c3d5759..14cea431b863 100644
--- a/arch/riscv/kvm/vcpu_sbi_fwft.c
+++ b/arch/riscv/kvm/vcpu_sbi_fwft.c
@@ -352,8 +352,8 @@ static int kvm_sbi_ext_fwft_init(struct kvm_vcpu *vcpu)
struct kvm_sbi_fwft_config *conf;
int i;
- fwft->configs = kcalloc(ARRAY_SIZE(features), sizeof(struct kvm_sbi_fwft_config),
- GFP_KERNEL);
+ fwft->configs = kzalloc_objs(struct kvm_sbi_fwft_config,
+ ARRAY_SIZE(features), GFP_KERNEL);
if (!fwft->configs)
return -ENOMEM;
diff --git a/arch/riscv/kvm/vm.c b/arch/riscv/kvm/vm.c
index 66d91ae6e9b2..ca3da58dc968 100644
--- a/arch/riscv/kvm/vm.c
+++ b/arch/riscv/kvm/vm.c
@@ -95,7 +95,7 @@ int kvm_riscv_setup_default_irq_routing(struct kvm *kvm, u32 lines)
struct kvm_irq_routing_entry *ents;
int i, rc;
- ents = kcalloc(lines, sizeof(*ents), GFP_KERNEL);
+ ents = kzalloc_objs(*ents, lines, GFP_KERNEL);
if (!ents)
return -ENOMEM;
diff --git a/arch/riscv/net/bpf_jit_comp64.c b/arch/riscv/net/bpf_jit_comp64.c
index f065b45e8d8f..4d1c2639a64f 100644
--- a/arch/riscv/net/bpf_jit_comp64.c
+++ b/arch/riscv/net/bpf_jit_comp64.c
@@ -1195,7 +1195,7 @@ static int __arch_prepare_bpf_trampoline(struct bpf_tramp_image *im,
}
if (fmod_ret->nr_links) {
- branches_off = kcalloc(fmod_ret->nr_links, sizeof(int), GFP_KERNEL);
+ branches_off = kzalloc_objs(int, fmod_ret->nr_links, GFP_KERNEL);
if (!branches_off)
return -ENOMEM;
diff --git a/arch/riscv/net/bpf_jit_core.c b/arch/riscv/net/bpf_jit_core.c
index f6ca5cfa6b2f..af48c94e300a 100644
--- a/arch/riscv/net/bpf_jit_core.c
+++ b/arch/riscv/net/bpf_jit_core.c
@@ -63,7 +63,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
@@ -82,7 +82,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
ctx->arena_vm_start = bpf_arena_get_kern_vm_start(prog->aux->arena);
ctx->user_vm_start = bpf_arena_get_user_vm_start(prog->aux->arena);
ctx->prog = prog;
- ctx->offset = kcalloc(prog->len, sizeof(int), GFP_KERNEL);
+ ctx->offset = kzalloc_objs(int, prog->len, GFP_KERNEL);
if (!ctx->offset) {
prog = orig_prog;
goto out_offset;
diff --git a/arch/s390/appldata/appldata_base.c b/arch/s390/appldata/appldata_base.c
index feb43db63f30..0d6725fd881e 100644
--- a/arch/s390/appldata/appldata_base.c
+++ b/arch/s390/appldata/appldata_base.c
@@ -140,7 +140,7 @@ int appldata_diag(char record_nr, u16 function, unsigned long buffer,
struct appldata_product_id *id;
int rc;
- parm_list = kmalloc(sizeof(*parm_list), GFP_KERNEL);
+ parm_list = kmalloc_obj(*parm_list, GFP_KERNEL);
id = kmemdup(&appldata_id, sizeof(appldata_id), GFP_KERNEL);
rc = -ENOMEM;
if (parm_list && id) {
@@ -350,7 +350,7 @@ int appldata_register_ops(struct appldata_ops *ops)
if (ops->size > APPLDATA_MAX_REC_SIZE)
return -EINVAL;
- ops->ctl_table = kcalloc(1, sizeof(struct ctl_table), GFP_KERNEL);
+ ops->ctl_table = kzalloc_objs(struct ctl_table, 1, GFP_KERNEL);
if (!ops->ctl_table)
return -ENOMEM;
diff --git a/arch/s390/appldata/appldata_mem.c b/arch/s390/appldata/appldata_mem.c
index fc608f9b79ab..e24369ec3134 100644
--- a/arch/s390/appldata/appldata_mem.c
+++ b/arch/s390/appldata/appldata_mem.c
@@ -130,7 +130,7 @@ static int __init appldata_mem_init(void)
{
int ret;
- ops.data = kzalloc(sizeof(struct appldata_mem_data), GFP_KERNEL);
+ ops.data = kzalloc_obj(struct appldata_mem_data, GFP_KERNEL);
if (!ops.data)
return -ENOMEM;
diff --git a/arch/s390/appldata/appldata_net_sum.c b/arch/s390/appldata/appldata_net_sum.c
index 59c282ca002f..3a0574f33664 100644
--- a/arch/s390/appldata/appldata_net_sum.c
+++ b/arch/s390/appldata/appldata_net_sum.c
@@ -132,7 +132,7 @@ static int __init appldata_net_init(void)
{
int ret;
- ops.data = kzalloc(sizeof(struct appldata_net_sum_data), GFP_KERNEL);
+ ops.data = kzalloc_obj(struct appldata_net_sum_data, GFP_KERNEL);
if (!ops.data)
return -ENOMEM;
diff --git a/arch/s390/hypfs/hypfs_dbfs.c b/arch/s390/hypfs/hypfs_dbfs.c
index 41a0d2066fa0..8002bdc692d6 100644
--- a/arch/s390/hypfs/hypfs_dbfs.c
+++ b/arch/s390/hypfs/hypfs_dbfs.c
@@ -16,7 +16,7 @@ static struct hypfs_dbfs_data *hypfs_dbfs_data_alloc(struct hypfs_dbfs_file *f)
{
struct hypfs_dbfs_data *data;
- data = kmalloc(sizeof(*data), GFP_KERNEL);
+ data = kmalloc_obj(*data, GFP_KERNEL);
if (!data)
return NULL;
data->dbfs_file = f;
diff --git a/arch/s390/hypfs/hypfs_diag0c.c b/arch/s390/hypfs/hypfs_diag0c.c
index 61220e717af0..5e27dc7a7569 100644
--- a/arch/s390/hypfs/hypfs_diag0c.c
+++ b/arch/s390/hypfs/hypfs_diag0c.c
@@ -35,13 +35,12 @@ static void *diag0c_store(unsigned int *count)
cpus_read_lock();
cpu_count = num_online_cpus();
- cpu_vec = kmalloc_array(num_possible_cpus(), sizeof(*cpu_vec),
- GFP_KERNEL);
+ cpu_vec = kmalloc_objs(*cpu_vec, num_possible_cpus(), GFP_KERNEL);
if (!cpu_vec)
goto fail_unlock_cpus;
/* Note: Diag 0c needs 8 byte alignment and real storage */
- diag0c_data = kzalloc(struct_size(diag0c_data, entry, cpu_count),
- GFP_KERNEL | GFP_DMA);
+ diag0c_data = kzalloc_flex(*diag0c_data, entry, cpu_count,
+ GFP_KERNEL | GFP_DMA);
if (!diag0c_data)
goto fail_kfree_cpu_vec;
i = 0;
diff --git a/arch/s390/hypfs/hypfs_sprp.c b/arch/s390/hypfs/hypfs_sprp.c
index a72576221cab..2e8847048dc1 100644
--- a/arch/s390/hypfs/hypfs_sprp.c
+++ b/arch/s390/hypfs/hypfs_sprp.c
@@ -74,7 +74,7 @@ static int __hypfs_sprp_ioctl(void __user *user_area)
rc = -ENOMEM;
data = (void *)get_zeroed_page(GFP_KERNEL);
- diag304 = kzalloc(sizeof(*diag304), GFP_KERNEL);
+ diag304 = kzalloc_obj(*diag304, GFP_KERNEL);
if (!data || !diag304)
goto out;
diff --git a/arch/s390/hypfs/inode.c b/arch/s390/hypfs/inode.c
index 3a47c2e24b6e..0f4a9113ec1a 100644
--- a/arch/s390/hypfs/inode.c
+++ b/arch/s390/hypfs/inode.c
@@ -292,7 +292,7 @@ static int hypfs_init_fs_context(struct fs_context *fc)
{
struct hypfs_sb_info *sbi;
- sbi = kzalloc(sizeof(struct hypfs_sb_info), GFP_KERNEL);
+ sbi = kzalloc_obj(struct hypfs_sb_info, GFP_KERNEL);
if (!sbi)
return -ENOMEM;
diff --git a/arch/s390/include/asm/idals.h b/arch/s390/include/asm/idals.h
index e5000ee6cdc6..94de4ddf503f 100644
--- a/arch/s390/include/asm/idals.h
+++ b/arch/s390/include/asm/idals.h
@@ -94,7 +94,7 @@ static inline int set_normalized_cda(struct ccw1 *ccw, void *vaddr)
return -EINVAL;
nridaws = idal_nr_words(vaddr, ccw->count);
if (nridaws > 0) {
- idal = kcalloc(nridaws, sizeof(*idal), GFP_ATOMIC | GFP_DMA);
+ idal = kzalloc_objs(*idal, nridaws, GFP_ATOMIC | GFP_DMA);
if (!idal)
return -ENOMEM;
idal_create_words(idal, vaddr, ccw->count);
@@ -137,7 +137,7 @@ static inline struct idal_buffer *idal_buffer_alloc(size_t size, int page_order)
nr_ptrs = (size + IDA_BLOCK_SIZE - 1) >> IDA_SIZE_SHIFT;
nr_chunks = (PAGE_SIZE << page_order) >> IDA_SIZE_SHIFT;
- ib = kmalloc(struct_size(ib, data, nr_ptrs), GFP_DMA | GFP_KERNEL);
+ ib = kmalloc_flex(*ib, data, nr_ptrs, GFP_DMA | GFP_KERNEL);
if (!ib)
return ERR_PTR(-ENOMEM);
ib->size = size;
@@ -195,7 +195,7 @@ static inline struct idal_buffer **idal_buffer_array_alloc(size_t size, int page
int i;
count = (size + CCW_MAX_BYTE_COUNT - 1) / CCW_MAX_BYTE_COUNT;
- ibs = kmalloc_array(count + 1, sizeof(*ibs), GFP_KERNEL);
+ ibs = kmalloc_objs(*ibs, count + 1, GFP_KERNEL);
for (i = 0; i < count; i++) {
/* Determine size for the current idal buffer */
ib_size = min(size, CCW_MAX_BYTE_COUNT);
diff --git a/arch/s390/kernel/cert_store.c b/arch/s390/kernel/cert_store.c
index c217a5e64094..8e3964c33ebb 100644
--- a/arch/s390/kernel/cert_store.c
+++ b/arch/s390/kernel/cert_store.c
@@ -322,7 +322,7 @@ static int invalidate_keyring_keys(struct key *keyring)
keyring_payload_len = key_type_keyring.read(keyring, NULL, 0);
num_keys = keyring_payload_len / sizeof(key_serial_t);
- key_array = kcalloc(num_keys, sizeof(key_serial_t), GFP_KERNEL);
+ key_array = kzalloc_objs(key_serial_t, num_keys, GFP_KERNEL);
if (!key_array)
return -ENOMEM;
diff --git a/arch/s390/kernel/debug.c b/arch/s390/kernel/debug.c
index e722243841f8..a917b4c899ef 100644
--- a/arch/s390/kernel/debug.c
+++ b/arch/s390/kernel/debug.c
@@ -181,14 +181,13 @@ static debug_entry_t ***debug_areas_alloc(int pages_per_area, int nr_areas)
debug_entry_t ***areas;
int i, j;
- areas = kmalloc_array(nr_areas, sizeof(debug_entry_t **), GFP_KERNEL);
+ areas = kmalloc_objs(debug_entry_t **, nr_areas, GFP_KERNEL);
if (!areas)
goto fail_malloc_areas;
for (i = 0; i < nr_areas; i++) {
/* GFP_NOWARN to avoid user triggerable WARN, we handle fails */
- areas[i] = kmalloc_array(pages_per_area,
- sizeof(debug_entry_t *),
- GFP_KERNEL | __GFP_NOWARN);
+ areas[i] = kmalloc_objs(debug_entry_t *, pages_per_area,
+ GFP_KERNEL | __GFP_NOWARN);
if (!areas[i])
goto fail_malloc_areas2;
for (j = 0; j < pages_per_area; j++) {
@@ -225,13 +224,13 @@ static debug_info_t *debug_info_alloc(const char *name, int pages_per_area,
debug_info_t *rc;
/* alloc everything */
- rc = kmalloc(sizeof(debug_info_t), GFP_KERNEL);
+ rc = kmalloc_obj(debug_info_t, GFP_KERNEL);
if (!rc)
goto fail_malloc_rc;
- rc->active_entries = kcalloc(nr_areas, sizeof(int), GFP_KERNEL);
+ rc->active_entries = kzalloc_objs(int, nr_areas, GFP_KERNEL);
if (!rc->active_entries)
goto fail_malloc_active_entries;
- rc->active_pages = kcalloc(nr_areas, sizeof(int), GFP_KERNEL);
+ rc->active_pages = kzalloc_objs(int, nr_areas, GFP_KERNEL);
if (!rc->active_pages)
goto fail_malloc_active_pages;
if ((mode == ALL_AREAS) && (pages_per_area != 0)) {
@@ -631,7 +630,7 @@ static file_private_info_t *debug_file_private_alloc(debug_info_t *debug_info,
if (!debug_info_snapshot)
return NULL;
- p_info = kmalloc(sizeof(file_private_info_t), GFP_KERNEL);
+ p_info = kmalloc_obj(file_private_info_t, GFP_KERNEL);
if (!p_info) {
debug_info_free(debug_info_snapshot);
return NULL;
diff --git a/arch/s390/kernel/guarded_storage.c b/arch/s390/kernel/guarded_storage.c
index cf26d7a37425..4d4101f19e3c 100644
--- a/arch/s390/kernel/guarded_storage.c
+++ b/arch/s390/kernel/guarded_storage.c
@@ -24,7 +24,7 @@ static int gs_enable(void)
struct gs_cb *gs_cb;
if (!current->thread.gs_cb) {
- gs_cb = kzalloc(sizeof(*gs_cb), GFP_KERNEL);
+ gs_cb = kzalloc_obj(*gs_cb, GFP_KERNEL);
if (!gs_cb)
return -ENOMEM;
gs_cb->gsd = 25;
@@ -55,7 +55,7 @@ static int gs_set_bc_cb(struct gs_cb __user *u_gs_cb)
gs_cb = current->thread.gs_bc_cb;
if (!gs_cb) {
- gs_cb = kzalloc(sizeof(*gs_cb), GFP_KERNEL);
+ gs_cb = kzalloc_obj(*gs_cb, GFP_KERNEL);
if (!gs_cb)
return -ENOMEM;
current->thread.gs_bc_cb = gs_cb;
diff --git a/arch/s390/kernel/irq.c b/arch/s390/kernel/irq.c
index bdf9c7cb5685..f81723bc8856 100644
--- a/arch/s390/kernel/irq.c
+++ b/arch/s390/kernel/irq.c
@@ -312,7 +312,7 @@ int register_external_irq(u16 code, ext_int_handler_t handler)
unsigned long flags;
int index;
- p = kmalloc(sizeof(*p), GFP_ATOMIC);
+ p = kmalloc_obj(*p, GFP_ATOMIC);
if (!p)
return -ENOMEM;
p->code = code;
diff --git a/arch/s390/kernel/os_info.c b/arch/s390/kernel/os_info.c
index 94fa44776d0c..37ab1c671b4d 100644
--- a/arch/s390/kernel/os_info.c
+++ b/arch/s390/kernel/os_info.c
@@ -154,7 +154,7 @@ static void os_info_old_init(void)
goto fail;
if (addr == 0 || addr % PAGE_SIZE)
goto fail;
- os_info_old = kzalloc(sizeof(*os_info_old), GFP_KERNEL);
+ os_info_old = kzalloc_obj(*os_info_old, GFP_KERNEL);
if (!os_info_old)
goto fail;
if (copy_oldmem_kernel(os_info_old, addr, sizeof(*os_info_old)))
diff --git a/arch/s390/kernel/perf_cpum_cf.c b/arch/s390/kernel/perf_cpum_cf.c
index 408ab93112bf..0c4074e717d4 100644
--- a/arch/s390/kernel/perf_cpum_cf.c
+++ b/arch/s390/kernel/perf_cpum_cf.c
@@ -252,7 +252,7 @@ static int cpum_cf_alloc_cpu(int cpu)
cpuhw = p->cpucf;
if (!cpuhw) {
- cpuhw = kzalloc(sizeof(*cpuhw), GFP_KERNEL);
+ cpuhw = kzalloc_obj(*cpuhw, GFP_KERNEL);
if (cpuhw) {
p->cpucf = cpuhw;
refcount_set(&cpuhw->refcnt, 1);
@@ -1616,7 +1616,7 @@ static long cfset_ioctl_start(unsigned long arg, struct file *file)
if (!start.counter_sets)
return -EINVAL; /* No counter set at all? */
- preq = kzalloc(sizeof(*preq), GFP_KERNEL);
+ preq = kzalloc_obj(*preq, GFP_KERNEL);
if (!preq)
return -ENOMEM;
cpumask_clear(&preq->mask);
diff --git a/arch/s390/kernel/perf_cpum_cf_events.c b/arch/s390/kernel/perf_cpum_cf_events.c
index 7ace1f9e4ccf..eb067beb5c51 100644
--- a/arch/s390/kernel/perf_cpum_cf_events.c
+++ b/arch/s390/kernel/perf_cpum_cf_events.c
@@ -976,7 +976,7 @@ static __init struct attribute **merge_attr(struct attribute **a,
j++;
j++;
- new = kmalloc_array(j, sizeof(struct attribute *), GFP_KERNEL);
+ new = kmalloc_objs(struct attribute *, j, GFP_KERNEL);
if (!new)
return NULL;
j = 0;
diff --git a/arch/s390/kernel/perf_cpum_sf.c b/arch/s390/kernel/perf_cpum_sf.c
index e8bd19ac82c7..d0adeabfce0c 100644
--- a/arch/s390/kernel/perf_cpum_sf.c
+++ b/arch/s390/kernel/perf_cpum_sf.c
@@ -1609,7 +1609,7 @@ static void *aux_buffer_setup(struct perf_event *event, void **pages,
}
/* Allocate aux_buffer struct for the event */
- aux = kzalloc(sizeof(struct aux_buffer), GFP_KERNEL);
+ aux = kzalloc_obj(struct aux_buffer, GFP_KERNEL);
if (!aux)
goto no_aux;
sfb = &aux->sfb;
diff --git a/arch/s390/kernel/perf_pai.c b/arch/s390/kernel/perf_pai.c
index 810f5b6c5e01..4c2ce0a2a8e4 100644
--- a/arch/s390/kernel/perf_pai.c
+++ b/arch/s390/kernel/perf_pai.c
@@ -252,7 +252,7 @@ static int pai_alloc_cpu(struct perf_event *event, int cpu)
cpump = mp->mapptr;
if (!cpump) { /* Paicrypt_map allocated? */
rc = -ENOMEM;
- cpump = kzalloc(sizeof(*cpump), GFP_KERNEL);
+ cpump = kzalloc_obj(*cpump, GFP_KERNEL);
if (!cpump)
goto undo;
/* Allocate memory for counter page and counter extraction.
@@ -281,9 +281,9 @@ static int pai_alloc_cpu(struct perf_event *event, int cpu)
cpump->paiext_cb = kzalloc(PAIE1_CB_SZ, GFP_KERNEL);
need_paiext_cb = true;
}
- cpump->save = kvmalloc_array(pai_pmu[idx].num_avail + 1,
- sizeof(struct pai_userdata),
- GFP_KERNEL);
+ cpump->save = kvmalloc_objs(struct pai_userdata,
+ pai_pmu[idx].num_avail + 1,
+ GFP_KERNEL);
if (!cpump->area || !cpump->save ||
(need_paiext_cb && !cpump->paiext_cb)) {
pai_free(mp);
@@ -315,7 +315,7 @@ static int pai_alloc(struct perf_event *event)
struct cpumask *maskptr;
int cpu, rc = -ENOMEM;
- maskptr = kzalloc(sizeof(*maskptr), GFP_KERNEL);
+ maskptr = kzalloc_obj(*maskptr, GFP_KERNEL);
if (!maskptr)
goto out;
@@ -1070,7 +1070,7 @@ static struct attribute * __init attr_event_init_one(int num,
{
struct perf_pmu_events_attr *pa;
- pa = kzalloc(sizeof(*pa), GFP_KERNEL);
+ pa = kzalloc_obj(*pa, GFP_KERNEL);
if (!pa)
return NULL;
@@ -1089,7 +1089,7 @@ static struct attribute ** __init attr_event_init(struct pai_pmu *p)
struct attribute **attrs;
unsigned int i;
- attrs = kmalloc_array(min_attr + 1, sizeof(*attrs), GFP_KERNEL | __GFP_ZERO);
+ attrs = kmalloc_objs(*attrs, min_attr + 1, GFP_KERNEL | __GFP_ZERO);
if (!attrs)
goto out;
for (i = 0; i < min_attr; i++) {
diff --git a/arch/s390/kernel/ptrace.c b/arch/s390/kernel/ptrace.c
index ceaa1726e328..3a08f8f6c865 100644
--- a/arch/s390/kernel/ptrace.c
+++ b/arch/s390/kernel/ptrace.c
@@ -749,7 +749,7 @@ static int s390_gs_cb_set(struct task_struct *target,
if (!cpu_has_gs())
return -ENODEV;
if (!target->thread.gs_cb) {
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
}
@@ -800,7 +800,7 @@ static int s390_gs_bc_set(struct task_struct *target,
if (!cpu_has_gs())
return -ENODEV;
if (!data) {
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
target->thread.gs_bc_cb = data;
@@ -861,7 +861,7 @@ static int s390_runtime_instr_set(struct task_struct *target,
return -ENODEV;
if (!target->thread.ri_cb) {
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
}
diff --git a/arch/s390/kernel/runtime_instr.c b/arch/s390/kernel/runtime_instr.c
index 1788a5454b6f..0331ee7af39d 100644
--- a/arch/s390/kernel/runtime_instr.c
+++ b/arch/s390/kernel/runtime_instr.c
@@ -83,7 +83,7 @@ SYSCALL_DEFINE2(s390_runtime_instr, int, command, int, signum)
return -EINVAL;
if (!current->thread.ri_cb) {
- cb = kzalloc(sizeof(*cb), GFP_KERNEL);
+ cb = kzalloc_obj(*cb, GFP_KERNEL);
if (!cb)
return -ENOMEM;
} else {
diff --git a/arch/s390/kernel/smp.c b/arch/s390/kernel/smp.c
index eb334539444a..615b76a7f2a0 100644
--- a/arch/s390/kernel/smp.c
+++ b/arch/s390/kernel/smp.c
@@ -1145,7 +1145,7 @@ int __ref smp_rescan_cpus(bool early)
struct sclp_core_info *info;
int nr;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info)
return -ENOMEM;
smp_get_core_info(info, 0);
diff --git a/arch/s390/kernel/vdso.c b/arch/s390/kernel/vdso.c
index a27a90a199be..1838a4696747 100644
--- a/arch/s390/kernel/vdso.c
+++ b/arch/s390/kernel/vdso.c
@@ -132,7 +132,7 @@ static struct page ** __init vdso_setup_pages(void *start, void *end)
struct page **pagelist;
int i;
- pagelist = kcalloc(pages + 1, sizeof(struct page *), GFP_KERNEL);
+ pagelist = kzalloc_objs(struct page *, pages + 1, GFP_KERNEL);
if (!pagelist)
panic("%s: Cannot allocate page list for VDSO", __func__);
for (i = 0; i < pages; i++)
diff --git a/arch/s390/kvm/dat.c b/arch/s390/kvm/dat.c
index 129dc55a4a0d..670404d4fa44 100644
--- a/arch/s390/kvm/dat.c
+++ b/arch/s390/kvm/dat.c
@@ -45,7 +45,7 @@ int kvm_s390_mmu_cache_topup(struct kvm_s390_mmu_cache *mc)
mc->pts[mc->n_pts] = o;
}
for ( ; mc->n_rmaps < KVM_S390_MMU_CACHE_N_RMAPS; mc->n_rmaps++) {
- o = kzalloc(sizeof(*mc->rmaps[0]), GFP_KERNEL_ACCOUNT);
+ o = kzalloc_obj(*mc->rmaps[0], GFP_KERNEL_ACCOUNT);
if (!o)
return -ENOMEM;
mc->rmaps[mc->n_rmaps] = o;
diff --git a/arch/s390/kvm/dat.h b/arch/s390/kvm/dat.h
index 8c7ae07dcc28..123e11dcd70d 100644
--- a/arch/s390/kvm/dat.h
+++ b/arch/s390/kvm/dat.h
@@ -572,7 +572,7 @@ static inline struct vsie_rmap *kvm_s390_mmu_cache_alloc_rmap(struct kvm_s390_mm
{
if (mc->n_rmaps)
return mc->rmaps[--mc->n_rmaps];
- return kzalloc(sizeof(struct vsie_rmap), GFP_KVM_S390_MMU_CACHE);
+ return kzalloc_obj(struct vsie_rmap, GFP_KVM_S390_MMU_CACHE);
}
static inline struct crst_table *crste_table_start(union crste *crstep)
@@ -920,7 +920,7 @@ static inline struct kvm_s390_mmu_cache *kvm_s390_new_mmu_cache(void)
{
struct kvm_s390_mmu_cache *mc __free(kvm_s390_mmu_cache) = NULL;
- mc = kzalloc(sizeof(*mc), GFP_KERNEL_ACCOUNT);
+ mc = kzalloc_obj(*mc, GFP_KERNEL_ACCOUNT);
if (mc && !kvm_s390_mmu_cache_topup(mc))
return_ptr(mc);
return NULL;
diff --git a/arch/s390/kvm/gmap.c b/arch/s390/kvm/gmap.c
index 26cd2b208b6f..ef0c6ebfdde2 100644
--- a/arch/s390/kvm/gmap.c
+++ b/arch/s390/kvm/gmap.c
@@ -57,7 +57,7 @@ struct gmap *gmap_new(struct kvm *kvm, gfn_t limit)
type = gmap_limit_to_type(limit);
- gmap = kzalloc(sizeof(*gmap), GFP_KERNEL_ACCOUNT);
+ gmap = kzalloc_obj(*gmap, GFP_KERNEL_ACCOUNT);
if (!gmap)
return NULL;
INIT_LIST_HEAD(&gmap->children);
@@ -918,7 +918,7 @@ int gmap_insert_rmap(struct gmap *sg, gfn_t p_gfn, gfn_t r_gfn, int level)
KVM_BUG_ON(!is_shadow(sg), sg->kvm);
lockdep_assert_held(&sg->host_to_rmap_lock);
- rmap = kzalloc(sizeof(*rmap), GFP_ATOMIC);
+ rmap = kzalloc_obj(*rmap, GFP_ATOMIC);
if (!rmap)
return -ENOMEM;
diff --git a/arch/s390/kvm/guestdbg.c b/arch/s390/kvm/guestdbg.c
index 80879fc73c90..69835e1d4f20 100644
--- a/arch/s390/kvm/guestdbg.c
+++ b/arch/s390/kvm/guestdbg.c
@@ -232,18 +232,14 @@ int kvm_s390_import_bp_data(struct kvm_vcpu *vcpu,
}
if (nr_wp > 0) {
- wp_info = kmalloc_array(nr_wp,
- sizeof(*wp_info),
- GFP_KERNEL_ACCOUNT);
+ wp_info = kmalloc_objs(*wp_info, nr_wp, GFP_KERNEL_ACCOUNT);
if (!wp_info) {
ret = -ENOMEM;
goto error;
}
}
if (nr_bp > 0) {
- bp_info = kmalloc_array(nr_bp,
- sizeof(*bp_info),
- GFP_KERNEL_ACCOUNT);
+ bp_info = kmalloc_objs(*bp_info, nr_bp, GFP_KERNEL_ACCOUNT);
if (!bp_info) {
ret = -ENOMEM;
goto error;
diff --git a/arch/s390/kvm/interrupt.c b/arch/s390/kvm/interrupt.c
index 1c2bb5cd7e12..18932a65ca68 100644
--- a/arch/s390/kvm/interrupt.c
+++ b/arch/s390/kvm/interrupt.c
@@ -1749,7 +1749,7 @@ struct kvm_s390_interrupt_info *kvm_s390_get_io_int(struct kvm *kvm,
goto out;
}
gisa_out:
- tmp_inti = kzalloc(sizeof(*inti), GFP_KERNEL_ACCOUNT);
+ tmp_inti = kzalloc_obj(*inti, GFP_KERNEL_ACCOUNT);
if (tmp_inti) {
tmp_inti->type = KVM_S390_INT_IO(1, 0, 0, 0);
tmp_inti->io.io_int_word = isc_to_int_word(isc);
@@ -1968,7 +1968,7 @@ int kvm_s390_inject_vm(struct kvm *kvm,
struct kvm_s390_interrupt_info *inti;
int rc;
- inti = kzalloc(sizeof(*inti), GFP_KERNEL_ACCOUNT);
+ inti = kzalloc_obj(*inti, GFP_KERNEL_ACCOUNT);
if (!inti)
return -ENOMEM;
@@ -2374,7 +2374,7 @@ static int enqueue_floating_irq(struct kvm_device *dev,
return -EINVAL;
while (len >= sizeof(struct kvm_s390_irq)) {
- inti = kzalloc(sizeof(*inti), GFP_KERNEL_ACCOUNT);
+ inti = kzalloc_obj(*inti, GFP_KERNEL_ACCOUNT);
if (!inti)
return -ENOMEM;
@@ -2422,7 +2422,7 @@ static int register_io_adapter(struct kvm_device *dev,
if (dev->kvm->arch.adapters[adapter_info.id] != NULL)
return -EINVAL;
- adapter = kzalloc(sizeof(*adapter), GFP_KERNEL_ACCOUNT);
+ adapter = kzalloc_obj(*adapter, GFP_KERNEL_ACCOUNT);
if (!adapter)
return -ENOMEM;
diff --git a/arch/s390/kvm/kvm-s390.c b/arch/s390/kvm/kvm-s390.c
index de645025db0f..7a175d86cef0 100644
--- a/arch/s390/kvm/kvm-s390.c
+++ b/arch/s390/kvm/kvm-s390.c
@@ -1418,7 +1418,7 @@ static int kvm_s390_set_processor(struct kvm *kvm, struct kvm_device_attr *attr)
ret = -EBUSY;
goto out;
}
- proc = kzalloc(sizeof(*proc), GFP_KERNEL_ACCOUNT);
+ proc = kzalloc_obj(*proc, GFP_KERNEL_ACCOUNT);
if (!proc) {
ret = -ENOMEM;
goto out;
@@ -1618,7 +1618,7 @@ static int kvm_s390_get_processor(struct kvm *kvm, struct kvm_device_attr *attr)
struct kvm_s390_vm_cpu_processor *proc;
int ret = 0;
- proc = kzalloc(sizeof(*proc), GFP_KERNEL_ACCOUNT);
+ proc = kzalloc_obj(*proc, GFP_KERNEL_ACCOUNT);
if (!proc) {
ret = -ENOMEM;
goto out;
@@ -1646,7 +1646,7 @@ static int kvm_s390_get_machine(struct kvm *kvm, struct kvm_device_attr *attr)
struct kvm_s390_vm_cpu_machine *mach;
int ret = 0;
- mach = kzalloc(sizeof(*mach), GFP_KERNEL_ACCOUNT);
+ mach = kzalloc_obj(*mach, GFP_KERNEL_ACCOUNT);
if (!mach) {
ret = -ENOMEM;
goto out;
diff --git a/arch/s390/kvm/pci.c b/arch/s390/kvm/pci.c
index 8c40154ff50f..2ac911e388bd 100644
--- a/arch/s390/kvm/pci.c
+++ b/arch/s390/kvm/pci.c
@@ -54,7 +54,7 @@ static int zpci_setup_aipb(u8 nisc)
struct page *page;
int size, rc;
- zpci_aipb = kzalloc(sizeof(union zpci_sic_iib), GFP_KERNEL);
+ zpci_aipb = kzalloc_obj(union zpci_sic_iib, GFP_KERNEL);
if (!zpci_aipb)
return -ENOMEM;
@@ -126,8 +126,8 @@ int kvm_s390_pci_aen_init(u8 nisc)
return -EPERM;
mutex_lock(&aift->aift_lock);
- aift->kzdev = kcalloc(ZPCI_NR_DEVICES, sizeof(struct kvm_zdev *),
- GFP_KERNEL);
+ aift->kzdev = kzalloc_objs(struct kvm_zdev *, ZPCI_NR_DEVICES,
+ GFP_KERNEL);
if (!aift->kzdev) {
rc = -ENOMEM;
goto unlock;
@@ -404,7 +404,7 @@ static int kvm_s390_pci_dev_open(struct zpci_dev *zdev)
{
struct kvm_zdev *kzdev;
- kzdev = kzalloc(sizeof(struct kvm_zdev), GFP_KERNEL);
+ kzdev = kzalloc_obj(struct kvm_zdev, GFP_KERNEL);
if (!kzdev)
return -ENOMEM;
@@ -666,7 +666,7 @@ int __init kvm_s390_pci_init(void)
if (!kvm_s390_pci_interp_allowed())
return 0;
- aift = kzalloc(sizeof(struct zpci_aift), GFP_KERNEL);
+ aift = kzalloc_obj(struct zpci_aift, GFP_KERNEL);
if (!aift)
return -ENOMEM;
diff --git a/arch/s390/kvm/pv.c b/arch/s390/kvm/pv.c
index 461b413c76a3..fd34a2f46ce3 100644
--- a/arch/s390/kvm/pv.c
+++ b/arch/s390/kvm/pv.c
@@ -466,7 +466,7 @@ int kvm_s390_pv_set_aside(struct kvm *kvm, u16 *rc, u16 *rrc)
if (kvm->arch.gmap->asce.dt == TABLE_TYPE_SEGMENT)
return -EINVAL;
- priv = kzalloc(sizeof(*priv), GFP_KERNEL);
+ priv = kzalloc_obj(*priv, GFP_KERNEL);
if (!priv)
return -ENOMEM;
diff --git a/arch/s390/mm/extmem.c b/arch/s390/mm/extmem.c
index 6cc33c705de2..db1ef34ad03e 100644
--- a/arch/s390/mm/extmem.c
+++ b/arch/s390/mm/extmem.c
@@ -171,8 +171,8 @@ query_segment_type (struct dcss_segment *seg)
struct qout64 *qout;
struct qin64 *qin;
- qin = kmalloc(sizeof(*qin), GFP_KERNEL | GFP_DMA);
- qout = kmalloc(sizeof(*qout), GFP_KERNEL | GFP_DMA);
+ qin = kmalloc_obj(*qin, GFP_KERNEL | GFP_DMA);
+ qout = kmalloc_obj(*qout, GFP_KERNEL | GFP_DMA);
if ((qin == NULL) || (qout == NULL)) {
rc = -ENOMEM;
goto out_free;
@@ -302,7 +302,7 @@ __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long
start_addr = end_addr = 0;
segtype = -1;
- seg = kmalloc(sizeof(*seg), GFP_KERNEL | GFP_DMA);
+ seg = kmalloc_obj(*seg, GFP_KERNEL | GFP_DMA);
if (seg == NULL) {
rc = -ENOMEM;
goto out;
@@ -317,7 +317,7 @@ __segment_load (char *name, int do_nonshared, unsigned long *addr, unsigned long
goto out_free;
}
- seg->res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ seg->res = kzalloc_obj(struct resource, GFP_KERNEL);
if (seg->res == NULL) {
rc = -ENOMEM;
goto out_free;
diff --git a/arch/s390/net/bpf_jit_comp.c b/arch/s390/net/bpf_jit_comp.c
index 579461d471bb..582afb486093 100644
--- a/arch/s390/net/bpf_jit_comp.c
+++ b/arch/s390/net/bpf_jit_comp.c
@@ -2323,7 +2323,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *fp)
jit_data = fp->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
fp = orig_fp;
goto out;
diff --git a/arch/s390/pci/pci.c b/arch/s390/pci/pci.c
index 97bab20bc163..b75065130639 100644
--- a/arch/s390/pci/pci.c
+++ b/arch/s390/pci/pci.c
@@ -523,7 +523,7 @@ static struct resource *__alloc_res(struct zpci_dev *zdev, unsigned long start,
{
struct resource *r;
- r = kzalloc(sizeof(*r), GFP_KERNEL);
+ r = kzalloc_obj(*r, GFP_KERNEL);
if (!r)
return NULL;
@@ -824,7 +824,7 @@ struct zpci_dev *zpci_create_device(u32 fid, u32 fh, enum zpci_state state)
struct zpci_dev *zdev;
int rc;
- zdev = kzalloc(sizeof(*zdev), GFP_KERNEL);
+ zdev = kzalloc_obj(*zdev, GFP_KERNEL);
if (!zdev)
return ERR_PTR(-ENOMEM);
@@ -1073,8 +1073,8 @@ static int zpci_mem_init(void)
if (!zdev_fmb_cache)
goto error_fmb;
- zpci_iomap_start = kcalloc(ZPCI_IOMAP_ENTRIES,
- sizeof(*zpci_iomap_start), GFP_KERNEL);
+ zpci_iomap_start = kzalloc_objs(*zpci_iomap_start, ZPCI_IOMAP_ENTRIES,
+ GFP_KERNEL);
if (!zpci_iomap_start)
goto error_iomap;
diff --git a/arch/s390/pci/pci_bus.c b/arch/s390/pci/pci_bus.c
index 42a13e451f64..3eba87a036b1 100644
--- a/arch/s390/pci/pci_bus.c
+++ b/arch/s390/pci/pci_bus.c
@@ -315,7 +315,7 @@ static struct zpci_bus *zpci_bus_alloc(int topo, bool topo_is_tid)
{
struct zpci_bus *zbus;
- zbus = kzalloc(sizeof(*zbus), GFP_KERNEL);
+ zbus = kzalloc_obj(*zbus, GFP_KERNEL);
if (!zbus)
return NULL;
diff --git a/arch/s390/pci/pci_irq.c b/arch/s390/pci/pci_irq.c
index e9dd45f3c09d..441356767437 100644
--- a/arch/s390/pci/pci_irq.c
+++ b/arch/s390/pci/pci_irq.c
@@ -563,8 +563,7 @@ static int __init zpci_directed_irq_init(void)
iib.diib.disb_addr = virt_to_phys(zpci_sbv->vector);
zpci_set_irq_ctrl(SIC_IRQ_MODE_DIRECT, 0, &iib);
- zpci_ibv = kcalloc(num_possible_cpus(), sizeof(*zpci_ibv),
- GFP_KERNEL);
+ zpci_ibv = kzalloc_objs(*zpci_ibv, num_possible_cpus(), GFP_KERNEL);
if (!zpci_ibv)
return -ENOMEM;
@@ -590,7 +589,7 @@ static int __init zpci_directed_irq_init(void)
static int __init zpci_floating_irq_init(void)
{
- zpci_ibv = kcalloc(ZPCI_NR_DEVICES, sizeof(*zpci_ibv), GFP_KERNEL);
+ zpci_ibv = kzalloc_objs(*zpci_ibv, ZPCI_NR_DEVICES, GFP_KERNEL);
if (!zpci_ibv)
return -ENOMEM;
diff --git a/arch/sh/drivers/dma/dmabrg.c b/arch/sh/drivers/dma/dmabrg.c
index 5b2c1fd254d7..72f90f0c799e 100644
--- a/arch/sh/drivers/dma/dmabrg.c
+++ b/arch/sh/drivers/dma/dmabrg.c
@@ -153,8 +153,7 @@ static int __init dmabrg_init(void)
unsigned long or;
int ret;
- dmabrg_handlers = kcalloc(10, sizeof(struct dmabrg_handler),
- GFP_KERNEL);
+ dmabrg_handlers = kzalloc_objs(struct dmabrg_handler, 10, GFP_KERNEL);
if (!dmabrg_handlers)
return -ENOMEM;
diff --git a/arch/sh/drivers/heartbeat.c b/arch/sh/drivers/heartbeat.c
index 42103038a7d0..aae320cef692 100644
--- a/arch/sh/drivers/heartbeat.c
+++ b/arch/sh/drivers/heartbeat.c
@@ -91,7 +91,7 @@ static int heartbeat_drv_probe(struct platform_device *pdev)
if (pdev->dev.platform_data) {
hd = pdev->dev.platform_data;
} else {
- hd = kzalloc(sizeof(struct heartbeat_data), GFP_KERNEL);
+ hd = kzalloc_obj(struct heartbeat_data, GFP_KERNEL);
if (unlikely(!hd))
return -ENOMEM;
}
diff --git a/arch/sh/drivers/pci/pcie-sh7786.c b/arch/sh/drivers/pci/pcie-sh7786.c
index a78b9a935585..1e67082eb3b4 100644
--- a/arch/sh/drivers/pci/pcie-sh7786.c
+++ b/arch/sh/drivers/pci/pcie-sh7786.c
@@ -558,8 +558,8 @@ static int __init sh7786_pcie_init(void)
if (unlikely(nr_ports == 0))
return -ENODEV;
- sh7786_pcie_ports = kcalloc(nr_ports, sizeof(struct sh7786_pcie_port),
- GFP_KERNEL);
+ sh7786_pcie_ports = kzalloc_objs(struct sh7786_pcie_port, nr_ports,
+ GFP_KERNEL);
if (unlikely(!sh7786_pcie_ports))
return -ENOMEM;
diff --git a/arch/sh/drivers/push-switch.c b/arch/sh/drivers/push-switch.c
index 443cc6fd26a8..492315fc96fd 100644
--- a/arch/sh/drivers/push-switch.c
+++ b/arch/sh/drivers/push-switch.c
@@ -46,7 +46,7 @@ static int switch_drv_probe(struct platform_device *pdev)
struct push_switch *psw;
int ret, irq;
- psw = kzalloc(sizeof(struct push_switch), GFP_KERNEL);
+ psw = kzalloc_obj(struct push_switch, GFP_KERNEL);
if (unlikely(!psw))
return -ENOMEM;
diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c
index d289e99dc118..2a465c440168 100644
--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -342,7 +342,7 @@ static int sq_dev_add(struct device *dev, struct subsys_interface *sif)
struct kobject *kobj;
int error;
- sq_kobject[cpu] = kzalloc(sizeof(struct kobject), GFP_KERNEL);
+ sq_kobject[cpu] = kzalloc_obj(struct kobject, GFP_KERNEL);
if (unlikely(!sq_kobject[cpu]))
return -ENOMEM;
diff --git a/arch/sh/kernel/dwarf.c b/arch/sh/kernel/dwarf.c
index a1b54bedc929..46df80942418 100644
--- a/arch/sh/kernel/dwarf.c
+++ b/arch/sh/kernel/dwarf.c
@@ -741,7 +741,7 @@ static int dwarf_parse_cie(void *entry, void *p, unsigned long len,
unsigned long flags;
int count;
- cie = kzalloc(sizeof(*cie), GFP_KERNEL);
+ cie = kzalloc_obj(*cie, GFP_KERNEL);
if (!cie)
return -ENOMEM;
@@ -874,7 +874,7 @@ static int dwarf_parse_fde(void *entry, u32 entry_type,
int count;
void *p = start;
- fde = kzalloc(sizeof(*fde), GFP_KERNEL);
+ fde = kzalloc_obj(*fde, GFP_KERNEL);
if (!fde)
return -ENOMEM;
diff --git a/arch/sparc/kernel/central.c b/arch/sparc/kernel/central.c
index a1a6485c9183..904c4223230f 100644
--- a/arch/sparc/kernel/central.c
+++ b/arch/sparc/kernel/central.c
@@ -63,7 +63,7 @@ static int clock_board_calc_nslots(struct clock_board *p)
static int clock_board_probe(struct platform_device *op)
{
- struct clock_board *p = kzalloc(sizeof(*p), GFP_KERNEL);
+ struct clock_board *p = kzalloc_obj(*p, GFP_KERNEL);
int err = -ENOMEM;
if (!p) {
@@ -159,7 +159,7 @@ static struct platform_driver clock_board_driver = {
static int fhc_probe(struct platform_device *op)
{
- struct fhc *p = kzalloc(sizeof(*p), GFP_KERNEL);
+ struct fhc *p = kzalloc_obj(*p, GFP_KERNEL);
int err = -ENOMEM;
u32 reg;
diff --git a/arch/sparc/kernel/chmc.c b/arch/sparc/kernel/chmc.c
index d4c74d6b2e1b..663b2d7ff7bc 100644
--- a/arch/sparc/kernel/chmc.c
+++ b/arch/sparc/kernel/chmc.c
@@ -417,7 +417,7 @@ static int jbusmc_probe(struct platform_device *op)
num_mem_regs = len / sizeof(*mem_regs);
err = -ENOMEM;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p) {
printk(KERN_ERR PFX "Cannot allocate struct jbusmc.\n");
goto out;
@@ -718,7 +718,7 @@ static int chmc_probe(struct platform_device *op)
}
err = -ENOMEM;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p) {
printk(KERN_ERR PFX "Could not allocate struct chmc.\n");
goto out;
diff --git a/arch/sparc/kernel/cpumap.c b/arch/sparc/kernel/cpumap.c
index 8fcf2d8c6bd2..d51ff010176c 100644
--- a/arch/sparc/kernel/cpumap.c
+++ b/arch/sparc/kernel/cpumap.c
@@ -194,7 +194,7 @@ static struct cpuinfo_tree *build_cpuinfo_tree(void)
n = enumerate_cpuinfo_nodes(tmp_level);
- new_tree = kzalloc(struct_size(new_tree, nodes, n), GFP_ATOMIC);
+ new_tree = kzalloc_flex(*new_tree, nodes, n, GFP_ATOMIC);
if (!new_tree)
return NULL;
diff --git a/arch/sparc/kernel/ds.c b/arch/sparc/kernel/ds.c
index f7fc6f2af2f2..df3fa6d96074 100644
--- a/arch/sparc/kernel/ds.c
+++ b/arch/sparc/kernel/ds.c
@@ -1175,7 +1175,7 @@ static int ds_probe(struct vio_dev *vdev, const struct vio_device_id *id)
if (ds_version_printed++ == 0)
printk(KERN_INFO "%s", version);
- dp = kzalloc(sizeof(*dp), GFP_KERNEL);
+ dp = kzalloc_obj(*dp, GFP_KERNEL);
err = -ENOMEM;
if (!dp)
goto out_err;
diff --git a/arch/sparc/kernel/ioport.c b/arch/sparc/kernel/ioport.c
index 5ebca5c7af1e..82d248e6b822 100644
--- a/arch/sparc/kernel/ioport.c
+++ b/arch/sparc/kernel/ioport.c
@@ -238,7 +238,7 @@ unsigned long sparc_dma_alloc_resource(struct device *dev, size_t len)
{
struct resource *res;
- res = kzalloc(sizeof(*res), GFP_KERNEL);
+ res = kzalloc_obj(*res, GFP_KERNEL);
if (!res)
return 0;
res->name = dev->of_node->full_name;
diff --git a/arch/sparc/kernel/irq_64.c b/arch/sparc/kernel/irq_64.c
index ded463c82abd..c5466a9fd560 100644
--- a/arch/sparc/kernel/irq_64.c
+++ b/arch/sparc/kernel/irq_64.c
@@ -628,7 +628,7 @@ unsigned int build_irq(int inofixup, unsigned long iclr, unsigned long imap)
if (unlikely(handler_data))
goto out;
- handler_data = kzalloc(sizeof(struct irq_handler_data), GFP_ATOMIC);
+ handler_data = kzalloc_obj(struct irq_handler_data, GFP_ATOMIC);
if (unlikely(!handler_data)) {
prom_printf("IRQ: kzalloc(irq_handler_data) failed.\n");
prom_halt();
@@ -654,7 +654,7 @@ static unsigned int sun4v_build_common(u32 devhandle, unsigned int devino,
if (!irq)
goto out;
- data = kzalloc(sizeof(struct irq_handler_data), GFP_ATOMIC);
+ data = kzalloc_obj(struct irq_handler_data, GFP_ATOMIC);
if (unlikely(!data)) {
pr_err("IRQ handler data allocation failed.\n");
irq_free(irq);
diff --git a/arch/sparc/kernel/ldc.c b/arch/sparc/kernel/ldc.c
index 7f3cdb6f644d..4fd357d5fc29 100644
--- a/arch/sparc/kernel/ldc.c
+++ b/arch/sparc/kernel/ldc.c
@@ -1171,7 +1171,7 @@ struct ldc_channel *ldc_alloc(unsigned long id,
mssbuf = NULL;
- lp = kzalloc(sizeof(*lp), GFP_KERNEL);
+ lp = kzalloc_obj(*lp, GFP_KERNEL);
err = -ENOMEM;
if (!lp)
goto out_err;
diff --git a/arch/sparc/kernel/leon_pci_grpci2.c b/arch/sparc/kernel/leon_pci_grpci2.c
index 9f662340b5b2..c6d5cec12b67 100644
--- a/arch/sparc/kernel/leon_pci_grpci2.c
+++ b/arch/sparc/kernel/leon_pci_grpci2.c
@@ -721,7 +721,7 @@ static int grpci2_of_probe(struct platform_device *ofdev)
goto err1;
}
- priv = grpci2priv = kzalloc(sizeof(struct grpci2_priv), GFP_KERNEL);
+ priv = grpci2priv = kzalloc_obj(struct grpci2_priv, GFP_KERNEL);
if (grpci2priv == NULL) {
err = -ENOMEM;
goto err1;
diff --git a/arch/sparc/kernel/of_device_32.c b/arch/sparc/kernel/of_device_32.c
index 284a4cafa432..51e90a093ee0 100644
--- a/arch/sparc/kernel/of_device_32.c
+++ b/arch/sparc/kernel/of_device_32.c
@@ -340,7 +340,7 @@ static void __init build_device_resources(struct platform_device *op,
static struct platform_device * __init scan_one_device(struct device_node *dp,
struct device *parent)
{
- struct platform_device *op = kzalloc(sizeof(*op), GFP_KERNEL);
+ struct platform_device *op = kzalloc_obj(*op, GFP_KERNEL);
const struct linux_prom_irqs *intr;
struct dev_archdata *sd;
int len, i;
diff --git a/arch/sparc/kernel/of_device_64.c b/arch/sparc/kernel/of_device_64.c
index f53092b07b9e..c30ad34525bd 100644
--- a/arch/sparc/kernel/of_device_64.c
+++ b/arch/sparc/kernel/of_device_64.c
@@ -633,7 +633,7 @@ out:
static struct platform_device * __init scan_one_device(struct device_node *dp,
struct device *parent)
{
- struct platform_device *op = kzalloc(sizeof(*op), GFP_KERNEL);
+ struct platform_device *op = kzalloc_obj(*op, GFP_KERNEL);
const unsigned int *irq;
struct dev_archdata *sd;
int len, i;
diff --git a/arch/sparc/kernel/pci.c b/arch/sparc/kernel/pci.c
index b290107170e9..432f83cf61aa 100644
--- a/arch/sparc/kernel/pci.c
+++ b/arch/sparc/kernel/pci.c
@@ -650,7 +650,7 @@ static void pci_claim_legacy_resources(struct pci_dev *dev)
if ((dev->class >> 8) != PCI_CLASS_DISPLAY_VGA)
return;
- p = kzalloc(sizeof(*p), GFP_KERNEL);
+ p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
return;
diff --git a/arch/sparc/kernel/pci_common.c b/arch/sparc/kernel/pci_common.c
index 2576f4f31309..588cfc595b84 100644
--- a/arch/sparc/kernel/pci_common.c
+++ b/arch/sparc/kernel/pci_common.c
@@ -336,7 +336,7 @@ static void pci_register_iommu_region(struct pci_pbm_info *pbm)
NULL);
if (vdma) {
- struct resource *rp = kzalloc(sizeof(*rp), GFP_KERNEL);
+ struct resource *rp = kzalloc_obj(*rp, GFP_KERNEL);
if (!rp) {
pr_info("%s: Cannot allocate IOMMU resource.\n",
diff --git a/arch/sparc/kernel/pci_fire.c b/arch/sparc/kernel/pci_fire.c
index 0b91bde80fdc..b72cf5acbdba 100644
--- a/arch/sparc/kernel/pci_fire.c
+++ b/arch/sparc/kernel/pci_fire.c
@@ -468,13 +468,13 @@ static int fire_probe(struct platform_device *op)
portid = of_getintprop_default(dp, "portid", 0xff);
err = -ENOMEM;
- pbm = kzalloc(sizeof(*pbm), GFP_KERNEL);
+ pbm = kzalloc_obj(*pbm, GFP_KERNEL);
if (!pbm) {
printk(KERN_ERR PFX "Cannot allocate pci_pbminfo.\n");
goto out_err;
}
- iommu = kzalloc(sizeof(struct iommu), GFP_KERNEL);
+ iommu = kzalloc_obj(struct iommu, GFP_KERNEL);
if (!iommu) {
printk(KERN_ERR PFX "Cannot allocate PBM iommu.\n");
goto out_free_controller;
diff --git a/arch/sparc/kernel/pci_psycho.c b/arch/sparc/kernel/pci_psycho.c
index 1efc98305ec7..9880b341a631 100644
--- a/arch/sparc/kernel/pci_psycho.c
+++ b/arch/sparc/kernel/pci_psycho.c
@@ -519,7 +519,7 @@ static int psycho_probe(struct platform_device *op)
upa_portid = of_getintprop_default(dp, "upa-portid", 0xff);
err = -ENOMEM;
- pbm = kzalloc(sizeof(*pbm), GFP_KERNEL);
+ pbm = kzalloc_obj(*pbm, GFP_KERNEL);
if (!pbm) {
printk(KERN_ERR PFX "Cannot allocate pci_pbm_info.\n");
goto out_err;
@@ -529,7 +529,7 @@ static int psycho_probe(struct platform_device *op)
if (pbm->sibling) {
iommu = pbm->sibling->iommu;
} else {
- iommu = kzalloc(sizeof(struct iommu), GFP_KERNEL);
+ iommu = kzalloc_obj(struct iommu, GFP_KERNEL);
if (!iommu) {
printk(KERN_ERR PFX "Cannot allocate PBM iommu.\n");
goto out_free_controller;
diff --git a/arch/sparc/kernel/pci_sabre.c b/arch/sparc/kernel/pci_sabre.c
index a84598568300..3b4116f23862 100644
--- a/arch/sparc/kernel/pci_sabre.c
+++ b/arch/sparc/kernel/pci_sabre.c
@@ -482,13 +482,13 @@ static int sabre_probe(struct platform_device *op)
}
err = -ENOMEM;
- pbm = kzalloc(sizeof(*pbm), GFP_KERNEL);
+ pbm = kzalloc_obj(*pbm, GFP_KERNEL);
if (!pbm) {
printk(KERN_ERR PFX "Cannot allocate pci_pbm_info.\n");
goto out_err;
}
- iommu = kzalloc(sizeof(*iommu), GFP_KERNEL);
+ iommu = kzalloc_obj(*iommu, GFP_KERNEL);
if (!iommu) {
printk(KERN_ERR PFX "Cannot allocate PBM iommu.\n");
goto out_free_controller;
diff --git a/arch/sparc/kernel/pci_schizo.c b/arch/sparc/kernel/pci_schizo.c
index 93cd9e5a8099..519a80a639d6 100644
--- a/arch/sparc/kernel/pci_schizo.c
+++ b/arch/sparc/kernel/pci_schizo.c
@@ -1426,7 +1426,7 @@ static int __schizo_init(struct platform_device *op, unsigned long chip_type)
portid = of_getintprop_default(dp, "portid", 0xff);
err = -ENOMEM;
- pbm = kzalloc(sizeof(*pbm), GFP_KERNEL);
+ pbm = kzalloc_obj(*pbm, GFP_KERNEL);
if (!pbm) {
printk(KERN_ERR PFX "Cannot allocate pci_pbm_info.\n");
goto out_err;
@@ -1434,7 +1434,7 @@ static int __schizo_init(struct platform_device *op, unsigned long chip_type)
pbm->sibling = schizo_find_sibling(portid, chip_type);
- iommu = kzalloc(sizeof(struct iommu), GFP_KERNEL);
+ iommu = kzalloc_obj(struct iommu, GFP_KERNEL);
if (!iommu) {
printk(KERN_ERR PFX "Cannot allocate PBM A iommu.\n");
goto out_free_pbm;
diff --git a/arch/sparc/kernel/pci_sun4v.c b/arch/sparc/kernel/pci_sun4v.c
index 791f0a76665f..4e842fb48602 100644
--- a/arch/sparc/kernel/pci_sun4v.c
+++ b/arch/sparc/kernel/pci_sun4v.c
@@ -754,7 +754,7 @@ static int pci_sun4v_atu_alloc_iotsb(struct pci_pbm_info *pbm)
unsigned long order;
unsigned long err;
- iotsb = kzalloc(sizeof(*iotsb), GFP_KERNEL);
+ iotsb = kzalloc_obj(*iotsb, GFP_KERNEL);
if (!iotsb) {
err = -ENOMEM;
goto out_err;
@@ -1292,13 +1292,13 @@ static int pci_sun4v_probe(struct platform_device *op)
iommu_batch_initialized = 1;
}
- pbm = kzalloc(sizeof(*pbm), GFP_KERNEL);
+ pbm = kzalloc_obj(*pbm, GFP_KERNEL);
if (!pbm) {
printk(KERN_ERR PFX "Could not allocate pci_pbm_info\n");
goto out_err;
}
- iommu = kzalloc(sizeof(struct iommu), GFP_KERNEL);
+ iommu = kzalloc_obj(struct iommu, GFP_KERNEL);
if (!iommu) {
printk(KERN_ERR PFX "Could not allocate pbm iommu\n");
goto out_free_controller;
@@ -1307,7 +1307,7 @@ static int pci_sun4v_probe(struct platform_device *op)
pbm->iommu = iommu;
iommu->atu = NULL;
if (hv_atu) {
- atu = kzalloc(sizeof(*atu), GFP_KERNEL);
+ atu = kzalloc_obj(*atu, GFP_KERNEL);
if (!atu)
pr_err(PFX "Could not allocate atu\n");
else
diff --git a/arch/sparc/kernel/pcic.c b/arch/sparc/kernel/pcic.c
index d7c911724435..4cd32ccc5191 100644
--- a/arch/sparc/kernel/pcic.c
+++ b/arch/sparc/kernel/pcic.c
@@ -466,7 +466,7 @@ static int pdev_to_pnode(struct linux_pbm_info *pbm, struct pci_dev *pdev)
static inline struct pcidev_cookie *pci_devcookie_alloc(void)
{
- return kmalloc(sizeof(struct pcidev_cookie), GFP_ATOMIC);
+ return kmalloc_obj(struct pcidev_cookie, GFP_ATOMIC);
}
static void pcic_map_pci_device(struct linux_pcic *pcic,
diff --git a/arch/sparc/kernel/sbus.c b/arch/sparc/kernel/sbus.c
index 0bababf6f2bc..bb2794ce7aad 100644
--- a/arch/sparc/kernel/sbus.c
+++ b/arch/sparc/kernel/sbus.c
@@ -556,8 +556,8 @@ static void __init sbus_iommu_init(struct platform_device *op)
}
regs = pr->phys_addr;
- iommu = kzalloc(sizeof(*iommu), GFP_ATOMIC);
- strbuf = kzalloc(sizeof(*strbuf), GFP_ATOMIC);
+ iommu = kzalloc_obj(*iommu, GFP_ATOMIC);
+ strbuf = kzalloc_obj(*strbuf, GFP_ATOMIC);
if (!iommu || !strbuf)
goto fatal_memory_error;
diff --git a/arch/sparc/kernel/setup_32.c b/arch/sparc/kernel/setup_32.c
index 704375c061e7..46a7b53737d4 100644
--- a/arch/sparc/kernel/setup_32.c
+++ b/arch/sparc/kernel/setup_32.c
@@ -388,7 +388,7 @@ static int __init topology_init(void)
err = 0;
for_each_online_cpu(i) {
- struct cpu *p = kzalloc(sizeof(*p), GFP_KERNEL);
+ struct cpu *p = kzalloc_obj(*p, GFP_KERNEL);
if (!p)
err = -ENOMEM;
else
diff --git a/arch/sparc/kernel/smp_64.c b/arch/sparc/kernel/smp_64.c
index 5cbd6ed5ef6f..81f0be76f48a 100644
--- a/arch/sparc/kernel/smp_64.c
+++ b/arch/sparc/kernel/smp_64.c
@@ -297,8 +297,8 @@ static void ldom_startcpu_cpuid(unsigned int cpu, unsigned long thread_reg,
unsigned long hv_err;
int i;
- hdesc = kzalloc(struct_size(hdesc, maps, num_kernel_image_mappings),
- GFP_KERNEL);
+ hdesc = kzalloc_flex(*hdesc, maps, num_kernel_image_mappings,
+ GFP_KERNEL);
if (!hdesc) {
printk(KERN_ERR "ldom_startcpu_cpuid: Cannot allocate "
"hvtramp_descr.\n");
diff --git a/arch/sparc/kernel/starfire.c b/arch/sparc/kernel/starfire.c
index b8cd57d9182b..7736dc34f6ad 100644
--- a/arch/sparc/kernel/starfire.c
+++ b/arch/sparc/kernel/starfire.c
@@ -50,7 +50,7 @@ void starfire_hookup(int upaid)
struct starfire_irqinfo *p;
unsigned long treg_base, hwmid, i;
- p = kmalloc(sizeof(*p), GFP_KERNEL);
+ p = kmalloc_obj(*p, GFP_KERNEL);
if (!p) {
prom_printf("starfire_hookup: No memory, this is insane.\n");
prom_halt();
diff --git a/arch/sparc/kernel/sun4d_irq.c b/arch/sparc/kernel/sun4d_irq.c
index 9a137c70e8d1..95683ecdc590 100644
--- a/arch/sparc/kernel/sun4d_irq.c
+++ b/arch/sparc/kernel/sun4d_irq.c
@@ -304,7 +304,7 @@ static unsigned int _sun4d_build_device_irq(unsigned int real_irq,
if (unlikely(handler_data))
goto err_out;
- handler_data = kzalloc(sizeof(struct sun4d_handler_data), GFP_ATOMIC);
+ handler_data = kzalloc_obj(struct sun4d_handler_data, GFP_ATOMIC);
if (unlikely(!handler_data)) {
prom_printf("IRQ: kzalloc(sun4d_handler_data) failed.\n");
prom_halt();
diff --git a/arch/sparc/kernel/sun4m_irq.c b/arch/sparc/kernel/sun4m_irq.c
index 1079638986b5..fe8cfb1cdd3a 100644
--- a/arch/sparc/kernel/sun4m_irq.c
+++ b/arch/sparc/kernel/sun4m_irq.c
@@ -268,7 +268,7 @@ static unsigned int sun4m_build_device_irq(struct platform_device *op,
if (unlikely(handler_data))
goto out;
- handler_data = kzalloc(sizeof(struct sun4m_handler_data), GFP_ATOMIC);
+ handler_data = kzalloc_obj(struct sun4m_handler_data, GFP_ATOMIC);
if (unlikely(!handler_data)) {
prom_printf("IRQ: kzalloc(sun4m_handler_data) failed.\n");
prom_halt();
diff --git a/arch/sparc/kernel/sys_sparc_64.c b/arch/sparc/kernel/sys_sparc_64.c
index dbf118b40601..8d5e2d5c0bc5 100644
--- a/arch/sparc/kernel/sys_sparc_64.c
+++ b/arch/sparc/kernel/sys_sparc_64.c
@@ -647,8 +647,8 @@ SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
}
if (!current_thread_info()->utraps) {
current_thread_info()->utraps =
- kcalloc(UT_TRAP_INSTRUCTION_31 + 1, sizeof(long),
- GFP_KERNEL);
+ kzalloc_objs(long, UT_TRAP_INSTRUCTION_31 + 1,
+ GFP_KERNEL);
if (!current_thread_info()->utraps)
return -ENOMEM;
current_thread_info()->utraps[0] = 1;
@@ -658,9 +658,8 @@ SYSCALL_DEFINE5(utrap_install, utrap_entry_t, type,
unsigned long *p = current_thread_info()->utraps;
current_thread_info()->utraps =
- kmalloc_array(UT_TRAP_INSTRUCTION_31 + 1,
- sizeof(long),
- GFP_KERNEL);
+ kmalloc_objs(long, UT_TRAP_INSTRUCTION_31 + 1,
+ GFP_KERNEL);
if (!current_thread_info()->utraps) {
current_thread_info()->utraps = p;
return -ENOMEM;
diff --git a/arch/sparc/kernel/vio.c b/arch/sparc/kernel/vio.c
index 8c7dd72ef334..0d21a8e567da 100644
--- a/arch/sparc/kernel/vio.c
+++ b/arch/sparc/kernel/vio.c
@@ -325,7 +325,7 @@ static struct vio_dev *vio_create_one(struct mdesc_handle *hp, u64 mp,
return NULL;
}
- vdev = kzalloc(sizeof(*vdev), GFP_KERNEL);
+ vdev = kzalloc_obj(*vdev, GFP_KERNEL);
if (!vdev) {
printk(KERN_ERR "VIO: Could not allocate vio_dev\n");
return NULL;
diff --git a/arch/sparc/mm/init_64.c b/arch/sparc/mm/init_64.c
index 3c3a6607fa51..2c4986e95713 100644
--- a/arch/sparc/mm/init_64.c
+++ b/arch/sparc/mm/init_64.c
@@ -3070,7 +3070,7 @@ static int __init report_memory(void)
kernel_lds_init();
for (i = 0; i < pavail_ents; i++) {
- res = kzalloc(sizeof(struct resource), GFP_KERNEL);
+ res = kzalloc_obj(struct resource, GFP_KERNEL);
if (!res) {
pr_warn("Failed to allocate source.\n");
diff --git a/arch/sparc/mm/io-unit.c b/arch/sparc/mm/io-unit.c
index d409cb450de4..2b5e40cc9d58 100644
--- a/arch/sparc/mm/io-unit.c
+++ b/arch/sparc/mm/io-unit.c
@@ -44,7 +44,7 @@ static void __init iounit_iommu_init(struct platform_device *op)
iopte_t __iomem *xpt;
iopte_t __iomem *xptend;
- iounit = kzalloc(sizeof(struct iounit_struct), GFP_ATOMIC);
+ iounit = kzalloc_obj(struct iounit_struct, GFP_ATOMIC);
if (!iounit) {
prom_printf("SUN4D: Cannot alloc iounit, halting.\n");
prom_halt();
diff --git a/arch/sparc/mm/iommu.c b/arch/sparc/mm/iommu.c
index f48adf62724a..3ca7cc2b9bfb 100644
--- a/arch/sparc/mm/iommu.c
+++ b/arch/sparc/mm/iommu.c
@@ -64,7 +64,7 @@ static void __init sbus_iommu_init(struct platform_device *op)
unsigned long base;
unsigned long tmp;
- iommu = kmalloc(sizeof(struct iommu_struct), GFP_KERNEL);
+ iommu = kmalloc_obj(struct iommu_struct, GFP_KERNEL);
if (!iommu) {
prom_printf("Unable to allocate iommu structure\n");
prom_halt();
diff --git a/arch/sparc/net/bpf_jit_comp_64.c b/arch/sparc/net/bpf_jit_comp_64.c
index 73bf0aea8baf..884b201259d6 100644
--- a/arch/sparc/net/bpf_jit_comp_64.c
+++ b/arch/sparc/net/bpf_jit_comp_64.c
@@ -1505,7 +1505,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
diff --git a/arch/sparc/vdso/vma.c b/arch/sparc/vdso/vma.c
index bab7a59575e8..bba84959c69d 100644
--- a/arch/sparc/vdso/vma.c
+++ b/arch/sparc/vdso/vma.c
@@ -266,7 +266,7 @@ static int __init init_vdso_image(const struct vdso_image *image,
if (WARN_ON(image->size % PAGE_SIZE != 0))
goto oom;
- cpp = kcalloc(cnpages, sizeof(struct page *), GFP_KERNEL);
+ cpp = kzalloc_objs(struct page *, cnpages, GFP_KERNEL);
vdso_mapping->pages = cpp;
if (!cpp)
@@ -288,7 +288,7 @@ static int __init init_vdso_image(const struct vdso_image *image,
dnpages = (sizeof(struct vvar_data) / PAGE_SIZE) + 1;
if (WARN_ON(dnpages != 1))
goto oom;
- dpp = kcalloc(dnpages, sizeof(struct page *), GFP_KERNEL);
+ dpp = kzalloc_objs(struct page *, dnpages, GFP_KERNEL);
vvar_mapping.pages = dpp;
if (!dpp)
diff --git a/arch/um/drivers/chan_kern.c b/arch/um/drivers/chan_kern.c
index 26442db7d608..db2bb032be30 100644
--- a/arch/um/drivers/chan_kern.c
+++ b/arch/um/drivers/chan_kern.c
@@ -504,7 +504,7 @@ static struct chan *parse_chan(struct line *line, char *str, int device,
return NULL;
}
- chan = kmalloc(sizeof(*chan), GFP_ATOMIC);
+ chan = kmalloc_obj(*chan, GFP_ATOMIC);
if (chan == NULL) {
*error_out = "Memory allocation failed";
return NULL;
diff --git a/arch/um/drivers/hostaudio_kern.c b/arch/um/drivers/hostaudio_kern.c
index 0ac149de1ac0..6983a35a9ead 100644
--- a/arch/um/drivers/hostaudio_kern.c
+++ b/arch/um/drivers/hostaudio_kern.c
@@ -186,7 +186,7 @@ static int hostaudio_open(struct inode *inode, struct file *file)
kernel_param_unlock(THIS_MODULE);
#endif
- state = kmalloc(sizeof(struct hostaudio_state), GFP_KERNEL);
+ state = kmalloc_obj(struct hostaudio_state, GFP_KERNEL);
if (state == NULL)
return -ENOMEM;
@@ -247,7 +247,7 @@ static int hostmixer_open_mixdev(struct inode *inode, struct file *file)
printk(KERN_DEBUG "hostmixer: open called (host: %s)\n", mixer);
#endif
- state = kmalloc(sizeof(struct hostmixer_state), GFP_KERNEL);
+ state = kmalloc_obj(struct hostmixer_state, GFP_KERNEL);
if (state == NULL)
return -ENOMEM;
diff --git a/arch/um/drivers/line.c b/arch/um/drivers/line.c
index 43d8959cc746..62545319d0eb 100644
--- a/arch/um/drivers/line.c
+++ b/arch/um/drivers/line.c
@@ -672,7 +672,7 @@ void register_winch_irq(int fd, int tty_fd, int pid, struct tty_port *port,
{
struct winch *winch;
- winch = kmalloc(sizeof(*winch), GFP_KERNEL);
+ winch = kmalloc_obj(*winch, GFP_KERNEL);
if (winch == NULL) {
printk(KERN_ERR "register_winch_irq - kmalloc failed\n");
goto cleanup;
diff --git a/arch/um/drivers/mconsole_kern.c b/arch/um/drivers/mconsole_kern.c
index ff4bda95b9c7..e2a9e8879f58 100644
--- a/arch/um/drivers/mconsole_kern.c
+++ b/arch/um/drivers/mconsole_kern.c
@@ -87,7 +87,7 @@ static irqreturn_t mconsole_interrupt(int irq, void *dev_id)
if (req.cmd->context == MCONSOLE_INTR)
(*req.cmd->handler)(&req);
else {
- new = kmalloc(sizeof(*new), GFP_NOWAIT);
+ new = kmalloc_obj(*new, GFP_NOWAIT);
if (new == NULL)
mconsole_reply(&req, "Out of memory", 1, 0);
else {
diff --git a/arch/um/drivers/port_kern.c b/arch/um/drivers/port_kern.c
index a4508470df78..c51d6ca4de70 100644
--- a/arch/um/drivers/port_kern.c
+++ b/arch/um/drivers/port_kern.c
@@ -88,7 +88,7 @@ static int port_accept(struct port_list *port)
goto out;
}
- conn = kmalloc(sizeof(*conn), GFP_ATOMIC);
+ conn = kmalloc_obj(*conn, GFP_ATOMIC);
if (conn == NULL) {
printk(KERN_ERR "port_accept : failed to allocate "
"connection\n");
@@ -170,7 +170,7 @@ void *port_data(int port_num)
if (port->port == port_num)
goto found;
}
- port = kmalloc(sizeof(struct port_list), GFP_KERNEL);
+ port = kmalloc_obj(struct port_list, GFP_KERNEL);
if (port == NULL) {
printk(KERN_ERR "Allocation of port list failed\n");
goto out;
@@ -202,7 +202,7 @@ void *port_data(int port_num)
list_add(&port->list, &ports);
found:
- dev = kmalloc(sizeof(struct port_dev), GFP_KERNEL);
+ dev = kmalloc_obj(struct port_dev, GFP_KERNEL);
if (dev == NULL) {
printk(KERN_ERR "Allocation of port device entry failed\n");
goto out;
diff --git a/arch/um/drivers/ubd_kern.c b/arch/um/drivers/ubd_kern.c
index 37455e74d314..42f392e6add3 100644
--- a/arch/um/drivers/ubd_kern.c
+++ b/arch/um/drivers/ubd_kern.c
@@ -1069,20 +1069,16 @@ static int __init ubd_init(void)
if (register_blkdev(UBD_MAJOR, "ubd"))
return -1;
- irq_req_buffer = kmalloc_array(UBD_REQ_BUFFER_SIZE,
- sizeof(struct io_thread_req *),
- GFP_KERNEL
- );
+ irq_req_buffer = kmalloc_objs(struct io_thread_req *,
+ UBD_REQ_BUFFER_SIZE, GFP_KERNEL);
irq_remainder = 0;
if (irq_req_buffer == NULL) {
printk(KERN_ERR "Failed to initialize ubd buffering\n");
return -ENOMEM;
}
- io_req_buffer = kmalloc_array(UBD_REQ_BUFFER_SIZE,
- sizeof(struct io_thread_req *),
- GFP_KERNEL
- );
+ io_req_buffer = kmalloc_objs(struct io_thread_req *,
+ UBD_REQ_BUFFER_SIZE, GFP_KERNEL);
io_remainder = 0;
diff --git a/arch/um/drivers/vector_kern.c b/arch/um/drivers/vector_kern.c
index 28cfe1c700f0..8882ad7c983a 100644
--- a/arch/um/drivers/vector_kern.c
+++ b/arch/um/drivers/vector_kern.c
@@ -515,7 +515,7 @@ static struct vector_queue *create_queue(
struct iovec *iov;
struct mmsghdr *mmsg_vector;
- result = kmalloc(sizeof(struct vector_queue), GFP_KERNEL);
+ result = kmalloc_obj(struct vector_queue, GFP_KERNEL);
if (result == NULL)
return NULL;
result->max_depth = max_size;
@@ -544,15 +544,11 @@ static struct vector_queue *create_queue(
result->max_iov_frags = num_extra_frags;
for (i = 0; i < max_size; i++) {
if (vp->header_size > 0)
- iov = kmalloc_array(3 + num_extra_frags,
- sizeof(struct iovec),
- GFP_KERNEL
- );
+ iov = kmalloc_objs(struct iovec, 3 + num_extra_frags,
+ GFP_KERNEL);
else
- iov = kmalloc_array(2 + num_extra_frags,
- sizeof(struct iovec),
- GFP_KERNEL
- );
+ iov = kmalloc_objs(struct iovec, 2 + num_extra_frags,
+ GFP_KERNEL);
if (iov == NULL)
goto out_fail;
mmsg_vector->msg_hdr.msg_iov = iov;
@@ -1385,7 +1381,7 @@ static int vector_net_load_bpf_flash(struct net_device *dev,
kfree(vp->bpf->filter);
vp->bpf->filter = NULL;
} else {
- vp->bpf = kmalloc(sizeof(struct sock_fprog), GFP_ATOMIC);
+ vp->bpf = kmalloc_obj(struct sock_fprog, GFP_ATOMIC);
if (vp->bpf == NULL) {
netdev_err(dev, "failed to allocate memory for firmware\n");
goto flash_fail;
@@ -1587,7 +1583,7 @@ static void vector_eth_configure(
struct vector_private *vp;
int err;
- device = kzalloc(sizeof(*device), GFP_KERNEL);
+ device = kzalloc_obj(*device, GFP_KERNEL);
if (device == NULL) {
pr_err("Failed to allocate struct vector_device for vec%d\n", n);
return;
diff --git a/arch/um/drivers/vector_transports.c b/arch/um/drivers/vector_transports.c
index 0794d23f07cb..da5d2083ed49 100644
--- a/arch/um/drivers/vector_transports.c
+++ b/arch/um/drivers/vector_transports.c
@@ -245,7 +245,7 @@ static int build_gre_transport_data(struct vector_private *vp)
int temp_rx;
int temp_tx;
- vp->transport_data = kmalloc(sizeof(struct uml_gre_data), GFP_KERNEL);
+ vp->transport_data = kmalloc_obj(struct uml_gre_data, GFP_KERNEL);
if (vp->transport_data == NULL)
return -ENOMEM;
td = vp->transport_data;
@@ -307,8 +307,7 @@ static int build_l2tpv3_transport_data(struct vector_private *vp)
unsigned long temp_rx;
unsigned long temp_tx;
- vp->transport_data = kmalloc(
- sizeof(struct uml_l2tpv3_data), GFP_KERNEL);
+ vp->transport_data = kmalloc_obj(struct uml_l2tpv3_data, GFP_KERNEL);
if (vp->transport_data == NULL)
return -ENOMEM;
diff --git a/arch/um/drivers/vfio_kern.c b/arch/um/drivers/vfio_kern.c
index 915812a79bfc..5f349be2fce7 100644
--- a/arch/um/drivers/vfio_kern.c
+++ b/arch/um/drivers/vfio_kern.c
@@ -107,7 +107,7 @@ static int uml_vfio_open_group(int group_id)
}
}
- group = kzalloc(sizeof(*group), GFP_KERNEL);
+ group = kzalloc_obj(*group, GFP_KERNEL);
if (!group)
return -ENOMEM;
@@ -514,9 +514,8 @@ static void uml_vfio_open_device(struct uml_vfio_device *dev)
goto teardown_udev;
}
- dev->intr_ctx = kmalloc_array(dev->udev.irq_count,
- sizeof(struct uml_vfio_intr_ctx),
- GFP_KERNEL);
+ dev->intr_ctx = kmalloc_objs(struct uml_vfio_intr_ctx,
+ dev->udev.irq_count, GFP_KERNEL);
if (!dev->intr_ctx) {
pr_err("Failed to allocate interrupt context (%s)\n",
dev->name);
@@ -600,7 +599,7 @@ static struct uml_vfio_device *uml_vfio_add_device(const char *device)
if (uml_vfio_find_device(device))
return ERR_PTR(-EEXIST);
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return ERR_PTR(-ENOMEM);
diff --git a/arch/um/drivers/virtio_pcidev.c b/arch/um/drivers/virtio_pcidev.c
index f9b4b6f7582c..5db9a4461766 100644
--- a/arch/um/drivers/virtio_pcidev.c
+++ b/arch/um/drivers/virtio_pcidev.c
@@ -537,7 +537,7 @@ static int virtio_pcidev_virtio_probe(struct virtio_device *vdev)
struct virtio_pcidev_device *dev;
int err;
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return -ENOMEM;
diff --git a/arch/um/drivers/virtio_uml.c b/arch/um/drivers/virtio_uml.c
index c24da0cf1627..ac269e6148fc 100644
--- a/arch/um/drivers/virtio_uml.c
+++ b/arch/um/drivers/virtio_uml.c
@@ -965,7 +965,7 @@ static struct virtqueue *vu_setup_vq(struct virtio_device *vdev,
int num = MAX_SUPPORTED_QUEUE_SIZE;
int rc;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info) {
rc = -ENOMEM;
goto error_kzalloc;
@@ -1217,7 +1217,7 @@ static int virtio_uml_probe(struct platform_device *pdev)
return PTR_ERR(pdata);
}
- vu_dev = kzalloc(sizeof(*vu_dev), GFP_KERNEL);
+ vu_dev = kzalloc_obj(*vu_dev, GFP_KERNEL);
if (!vu_dev)
return -ENOMEM;
diff --git a/arch/um/drivers/xterm_kern.c b/arch/um/drivers/xterm_kern.c
index 3971252cb1a6..7740d9a3b090 100644
--- a/arch/um/drivers/xterm_kern.c
+++ b/arch/um/drivers/xterm_kern.c
@@ -45,7 +45,7 @@ int xterm_fd(int socket, int *pid_out)
struct xterm_wait *data;
int err, ret;
- data = kmalloc(sizeof(*data), GFP_KERNEL);
+ data = kmalloc_obj(*data, GFP_KERNEL);
if (data == NULL) {
printk(KERN_ERR "xterm_fd : failed to allocate xterm_wait\n");
return -ENOMEM;
diff --git a/arch/um/kernel/irq.c b/arch/um/kernel/irq.c
index f4b13f15a9c1..5929d498b65f 100644
--- a/arch/um/kernel/irq.c
+++ b/arch/um/kernel/irq.c
@@ -326,7 +326,7 @@ already:
/* don't restore interrupts */
raw_spin_unlock(&irq_lock);
- new = kzalloc(sizeof(*irq_entry), GFP_ATOMIC);
+ new = kzalloc_obj(*irq_entry, GFP_ATOMIC);
if (!new) {
local_irq_restore(flags);
return -ENOMEM;
diff --git a/arch/x86/coco/sev/core.c b/arch/x86/coco/sev/core.c
index 1b86f48c7e84..7bf44927519d 100644
--- a/arch/x86/coco/sev/core.c
+++ b/arch/x86/coco/sev/core.c
@@ -1542,7 +1542,7 @@ static struct aesgcm_ctx *snp_init_crypto(u8 *key, size_t keylen)
{
struct aesgcm_ctx *ctx;
- ctx = kzalloc(sizeof(*ctx), GFP_KERNEL);
+ ctx = kzalloc_obj(*ctx, GFP_KERNEL);
if (!ctx)
return NULL;
@@ -1590,7 +1590,7 @@ struct snp_msg_desc *snp_msg_alloc(void)
BUILD_BUG_ON(sizeof(struct snp_guest_msg) > PAGE_SIZE);
- mdesc = kzalloc(sizeof(struct snp_msg_desc), GFP_KERNEL);
+ mdesc = kzalloc_obj(struct snp_msg_desc, GFP_KERNEL);
if (!mdesc)
return ERR_PTR(-ENOMEM);
@@ -1945,7 +1945,7 @@ static int __init snp_get_tsc_info(void)
struct snp_guest_req req = {};
int rc = -ENOMEM;
- tsc_req = kzalloc(sizeof(*tsc_req), GFP_KERNEL);
+ tsc_req = kzalloc_obj(*tsc_req, GFP_KERNEL);
if (!tsc_req)
return rc;
diff --git a/arch/x86/events/amd/iommu.c b/arch/x86/events/amd/iommu.c
index a721da9987dd..17e383c20271 100644
--- a/arch/x86/events/amd/iommu.c
+++ b/arch/x86/events/amd/iommu.c
@@ -387,7 +387,7 @@ static __init int _init_events_attrs(void)
while (amd_iommu_v2_event_descs[i].attr.attr.name)
i++;
- attrs = kcalloc(i + 1, sizeof(*attrs), GFP_KERNEL);
+ attrs = kzalloc_objs(*attrs, i + 1, GFP_KERNEL);
if (!attrs)
return -ENOMEM;
@@ -422,7 +422,7 @@ static __init int init_one_iommu(unsigned int idx)
struct perf_amd_iommu *perf_iommu;
int ret;
- perf_iommu = kzalloc(sizeof(struct perf_amd_iommu), GFP_KERNEL);
+ perf_iommu = kzalloc_obj(struct perf_amd_iommu, GFP_KERNEL);
if (!perf_iommu)
return -ENOMEM;
diff --git a/arch/x86/events/amd/uncore.c b/arch/x86/events/amd/uncore.c
index 9293ce50574d..c0ed0dfbaeaa 100644
--- a/arch/x86/events/amd/uncore.c
+++ b/arch/x86/events/amd/uncore.c
@@ -726,7 +726,7 @@ int amd_uncore_df_ctx_init(struct amd_uncore *uncore, unsigned int cpu)
goto done;
/* No grouping, single instance for a system */
- uncore->pmus = kzalloc(sizeof(*uncore->pmus), GFP_KERNEL);
+ uncore->pmus = kzalloc_obj(*uncore->pmus, GFP_KERNEL);
if (!uncore->pmus)
goto done;
@@ -860,7 +860,7 @@ int amd_uncore_l3_ctx_init(struct amd_uncore *uncore, unsigned int cpu)
goto done;
/* No grouping, single instance for a system */
- uncore->pmus = kzalloc(sizeof(*uncore->pmus), GFP_KERNEL);
+ uncore->pmus = kzalloc_obj(*uncore->pmus, GFP_KERNEL);
if (!uncore->pmus)
goto done;
diff --git a/arch/x86/events/core.c b/arch/x86/events/core.c
index d4468efbdcd9..52f7ad5adeb1 100644
--- a/arch/x86/events/core.c
+++ b/arch/x86/events/core.c
@@ -2389,7 +2389,7 @@ static struct cpu_hw_events *allocate_fake_cpuc(struct pmu *event_pmu)
struct cpu_hw_events *cpuc;
int cpu;
- cpuc = kzalloc(sizeof(*cpuc), GFP_KERNEL);
+ cpuc = kzalloc_obj(*cpuc, GFP_KERNEL);
if (!cpuc)
return ERR_PTR(-ENOMEM);
cpuc->is_fake = 1;
diff --git a/arch/x86/events/intel/core.c b/arch/x86/events/intel/core.c
index f3ae1f8ee3cd..41f571040145 100644
--- a/arch/x86/events/intel/core.c
+++ b/arch/x86/events/intel/core.c
@@ -7378,9 +7378,8 @@ static __always_inline int intel_pmu_init_hybrid(enum hybrid_pmu_type pmus)
int idx = 0, bit;
x86_pmu.num_hybrid_pmus = hweight_long(pmus_mask);
- x86_pmu.hybrid_pmu = kcalloc(x86_pmu.num_hybrid_pmus,
- sizeof(struct x86_hybrid_pmu),
- GFP_KERNEL);
+ x86_pmu.hybrid_pmu = kzalloc_objs(struct x86_hybrid_pmu,
+ x86_pmu.num_hybrid_pmus, GFP_KERNEL);
if (!x86_pmu.hybrid_pmu)
return -ENOMEM;
diff --git a/arch/x86/events/intel/uncore.c b/arch/x86/events/intel/uncore.c
index 4684649109d9..9095f1eeff6e 100644
--- a/arch/x86/events/intel/uncore.c
+++ b/arch/x86/events/intel/uncore.c
@@ -107,7 +107,7 @@ lookup:
if (!alloc) {
raw_spin_unlock(&pci2phy_map_lock);
- alloc = kmalloc(sizeof(struct pci2phy_map), GFP_KERNEL);
+ alloc = kmalloc_obj(struct pci2phy_map, GFP_KERNEL);
raw_spin_lock(&pci2phy_map_lock);
if (!alloc)
@@ -990,7 +990,7 @@ static int __init uncore_type_init(struct intel_uncore_type *type)
size_t size;
int i, j;
- pmus = kcalloc(type->num_boxes, sizeof(*pmus), GFP_KERNEL);
+ pmus = kzalloc_objs(*pmus, type->num_boxes, GFP_KERNEL);
if (!pmus)
return -ENOMEM;
@@ -1016,8 +1016,7 @@ static int __init uncore_type_init(struct intel_uncore_type *type)
} *attr_group;
for (i = 0; type->event_descs[i].attr.attr.name; i++);
- attr_group = kzalloc(struct_size(attr_group, attrs, i + 1),
- GFP_KERNEL);
+ attr_group = kzalloc_flex(*attr_group, attrs, i + 1, GFP_KERNEL);
if (!attr_group)
goto err;
diff --git a/arch/x86/events/intel/uncore_discovery.c b/arch/x86/events/intel/uncore_discovery.c
index b46575254dbe..f8d1328d8346 100644
--- a/arch/x86/events/intel/uncore_discovery.c
+++ b/arch/x86/events/intel/uncore_discovery.c
@@ -68,7 +68,7 @@ add_uncore_discovery_type(struct uncore_unit_discovery *unit)
return NULL;
}
- type = kzalloc(sizeof(struct intel_uncore_discovery_type), GFP_KERNEL);
+ type = kzalloc_obj(struct intel_uncore_discovery_type, GFP_KERNEL);
if (!type)
return NULL;
@@ -215,7 +215,7 @@ uncore_insert_box_info(struct uncore_unit_discovery *unit,
return;
}
- node = kzalloc(sizeof(*node), GFP_KERNEL);
+ node = kzalloc_obj(*node, GFP_KERNEL);
if (!node)
return;
@@ -744,8 +744,9 @@ intel_uncore_generic_init_uncores(enum uncore_access_type type_id, int num_extra
struct rb_node *node;
int i = 0;
- uncores = kcalloc(num_discovered_types[type_id] + num_extra + 1,
- sizeof(struct intel_uncore_type *), GFP_KERNEL);
+ uncores = kzalloc_objs(struct intel_uncore_type *,
+ num_discovered_types[type_id] + num_extra + 1,
+ GFP_KERNEL);
if (!uncores)
return empty_uncore;
@@ -754,7 +755,7 @@ intel_uncore_generic_init_uncores(enum uncore_access_type type_id, int num_extra
if (type->access_type != type_id)
continue;
- uncore = kzalloc(sizeof(struct intel_uncore_type), GFP_KERNEL);
+ uncore = kzalloc_obj(struct intel_uncore_type, GFP_KERNEL);
if (!uncore)
break;
diff --git a/arch/x86/events/intel/uncore_snbep.c b/arch/x86/events/intel/uncore_snbep.c
index 7ca0429c4004..94682b067e35 100644
--- a/arch/x86/events/intel/uncore_snbep.c
+++ b/arch/x86/events/intel/uncore_snbep.c
@@ -3748,12 +3748,13 @@ static int pmu_alloc_topology(struct intel_uncore_type *type, int topology_type)
if (!type->num_boxes)
return -EPERM;
- topology = kcalloc(uncore_max_dies(), sizeof(*topology), GFP_KERNEL);
+ topology = kzalloc_objs(*topology, uncore_max_dies(), GFP_KERNEL);
if (!topology)
goto err;
for (die = 0; die < uncore_max_dies(); die++) {
- topology[die] = kcalloc(type->num_boxes, sizeof(**topology), GFP_KERNEL);
+ topology[die] = kzalloc_objs(**topology, type->num_boxes,
+ GFP_KERNEL);
if (!topology[die])
goto clear;
for (idx = 0; idx < type->num_boxes; idx++) {
@@ -3882,11 +3883,11 @@ pmu_set_mapping(struct intel_uncore_type *type, struct attribute_group *ag,
goto clear_topology;
/* One more for NULL. */
- attrs = kcalloc((uncore_max_dies() + 1), sizeof(*attrs), GFP_KERNEL);
+ attrs = kzalloc_objs(*attrs, (uncore_max_dies() + 1), GFP_KERNEL);
if (!attrs)
goto clear_topology;
- eas = kcalloc(uncore_max_dies(), sizeof(*eas), GFP_KERNEL);
+ eas = kzalloc_objs(*eas, uncore_max_dies(), GFP_KERNEL);
if (!eas)
goto clear_attrs;
@@ -6411,7 +6412,7 @@ static void spr_update_device_location(int type_id)
} else
return;
- root = kzalloc(sizeof(struct rb_root), GFP_KERNEL);
+ root = kzalloc_obj(struct rb_root, GFP_KERNEL);
if (!root) {
type->num_boxes = 0;
return;
@@ -6424,7 +6425,7 @@ static void spr_update_device_location(int type_id)
if (die < 0)
continue;
- unit = kzalloc(sizeof(*unit), GFP_KERNEL);
+ unit = kzalloc_obj(*unit, GFP_KERNEL);
if (!unit)
continue;
unit->die = die;
diff --git a/arch/x86/events/rapl.c b/arch/x86/events/rapl.c
index defd86137f12..27b3fd6e663c 100644
--- a/arch/x86/events/rapl.c
+++ b/arch/x86/events/rapl.c
@@ -704,7 +704,7 @@ static int __init init_rapl_pmu(struct rapl_pmus *rapl_pmus)
int idx;
for (idx = 0; idx < rapl_pmus->nr_rapl_pmu; idx++) {
- rapl_pmu = kzalloc(sizeof(*rapl_pmu), GFP_KERNEL);
+ rapl_pmu = kzalloc_obj(*rapl_pmu, GFP_KERNEL);
if (!rapl_pmu)
goto free;
@@ -742,7 +742,7 @@ static int __init init_rapl_pmus(struct rapl_pmus **rapl_pmus_ptr, int rapl_pmu_
else if (rapl_pmu_scope != PERF_PMU_SCOPE_PKG)
return -EINVAL;
- rapl_pmus = kzalloc(struct_size(rapl_pmus, rapl_pmu, nr_rapl_pmu), GFP_KERNEL);
+ rapl_pmus = kzalloc_flex(*rapl_pmus, rapl_pmu, nr_rapl_pmu, GFP_KERNEL);
if (!rapl_pmus)
return -ENOMEM;
diff --git a/arch/x86/hyperv/hv_init.c b/arch/x86/hyperv/hv_init.c
index 5dbe9bd67891..e945ed623027 100644
--- a/arch/x86/hyperv/hv_init.c
+++ b/arch/x86/hyperv/hv_init.c
@@ -467,9 +467,8 @@ void __init hyperv_init(void)
if (hv_isolation_type_tdx())
hv_vp_assist_page = NULL;
else
- hv_vp_assist_page = kcalloc(nr_cpu_ids,
- sizeof(*hv_vp_assist_page),
- GFP_KERNEL);
+ hv_vp_assist_page = kzalloc_objs(*hv_vp_assist_page, nr_cpu_ids,
+ GFP_KERNEL);
if (!hv_vp_assist_page) {
ms_hyperv.hints &= ~HV_X64_ENLIGHTENED_VMCS_RECOMMENDED;
diff --git a/arch/x86/hyperv/irqdomain.c b/arch/x86/hyperv/irqdomain.c
index c3ba12b1bc07..365e364268d9 100644
--- a/arch/x86/hyperv/irqdomain.c
+++ b/arch/x86/hyperv/irqdomain.c
@@ -248,7 +248,7 @@ static void hv_irq_compose_msi_msg(struct irq_data *data, struct msi_msg *msg)
return;
}
- stored_entry = kzalloc(sizeof(*stored_entry), GFP_ATOMIC);
+ stored_entry = kzalloc_obj(*stored_entry, GFP_ATOMIC);
if (!stored_entry) {
pr_debug("%s: failed to allocate chip data\n", __func__);
return;
diff --git a/arch/x86/hyperv/ivm.c b/arch/x86/hyperv/ivm.c
index be7fad43a88d..07f125668852 100644
--- a/arch/x86/hyperv/ivm.c
+++ b/arch/x86/hyperv/ivm.c
@@ -531,7 +531,7 @@ static int hv_list_enc_add(const u64 *pfn_list, int count)
raw_spin_unlock_irqrestore(&hv_list_enc_lock, flags);
/* No adjacent region found -- create a new one */
- ent = kzalloc(sizeof(struct hv_enc_pfn_region), GFP_KERNEL);
+ ent = kzalloc_obj(struct hv_enc_pfn_region, GFP_KERNEL);
if (!ent)
return -ENOMEM;
@@ -598,7 +598,7 @@ unlock_done:
unlock_split:
raw_spin_unlock_irqrestore(&hv_list_enc_lock, flags);
- ent = kzalloc(sizeof(struct hv_enc_pfn_region), GFP_KERNEL);
+ ent = kzalloc_obj(struct hv_enc_pfn_region, GFP_KERNEL);
if (!ent)
return -ENOMEM;
diff --git a/arch/x86/kernel/alternative.c b/arch/x86/kernel/alternative.c
index 693b59b2f7d0..0ffc7de200b1 100644
--- a/arch/x86/kernel/alternative.c
+++ b/arch/x86/kernel/alternative.c
@@ -2160,7 +2160,7 @@ void __init_or_module alternatives_smp_module_add(struct module *mod,
/* Don't bother remembering, we'll never have to undo it. */
goto smp_unlock;
- smp = kzalloc(sizeof(*smp), GFP_KERNEL);
+ smp = kzalloc_obj(*smp, GFP_KERNEL);
if (NULL == smp)
/* we'll run the (safe but slow) SMP code then ... */
goto unlock;
diff --git a/arch/x86/kernel/amd_nb.c b/arch/x86/kernel/amd_nb.c
index c1acead6227a..852e8ff5ebd9 100644
--- a/arch/x86/kernel/amd_nb.c
+++ b/arch/x86/kernel/amd_nb.c
@@ -68,7 +68,8 @@ static int amd_cache_northbridges(void)
amd_northbridges.num = amd_num_nodes();
- nb = kcalloc(amd_northbridges.num, sizeof(struct amd_northbridge), GFP_KERNEL);
+ nb = kzalloc_objs(struct amd_northbridge, amd_northbridges.num,
+ GFP_KERNEL);
if (!nb)
return -ENOMEM;
diff --git a/arch/x86/kernel/amd_node.c b/arch/x86/kernel/amd_node.c
index 3d0a4768d603..2091cb1089a2 100644
--- a/arch/x86/kernel/amd_node.c
+++ b/arch/x86/kernel/amd_node.c
@@ -282,7 +282,7 @@ static int __init amd_smn_init(void)
return -ENODEV;
num_nodes = amd_num_nodes();
- amd_roots = kcalloc(num_nodes, sizeof(*amd_roots), GFP_KERNEL);
+ amd_roots = kzalloc_objs(*amd_roots, num_nodes, GFP_KERNEL);
if (!amd_roots)
return -ENOMEM;
diff --git a/arch/x86/kernel/apic/io_apic.c b/arch/x86/kernel/apic/io_apic.c
index 28f934f05a85..aa3675ba08bb 100644
--- a/arch/x86/kernel/apic/io_apic.c
+++ b/arch/x86/kernel/apic/io_apic.c
@@ -2876,7 +2876,7 @@ int mp_irqdomain_alloc(struct irq_domain *domain, unsigned int virq,
if (irq_resolve_mapping(domain, (irq_hw_number_t)pin))
return -EEXIST;
- data = kzalloc(sizeof(*data), GFP_KERNEL);
+ data = kzalloc_obj(*data, GFP_KERNEL);
if (!data)
return -ENOMEM;
diff --git a/arch/x86/kernel/apm_32.c b/arch/x86/kernel/apm_32.c
index 3175d7c134e9..13efc166bd3f 100644
--- a/arch/x86/kernel/apm_32.c
+++ b/arch/x86/kernel/apm_32.c
@@ -1576,7 +1576,7 @@ static int do_open(struct inode *inode, struct file *filp)
{
struct apm_user *as;
- as = kmalloc(sizeof(*as), GFP_KERNEL);
+ as = kmalloc_obj(*as, GFP_KERNEL);
if (as == NULL)
return -ENOMEM;
diff --git a/arch/x86/kernel/cpu/amd_cache_disable.c b/arch/x86/kernel/cpu/amd_cache_disable.c
index 8843b9557aea..13985d2f8b1d 100644
--- a/arch/x86/kernel/cpu/amd_cache_disable.c
+++ b/arch/x86/kernel/cpu/amd_cache_disable.c
@@ -255,7 +255,7 @@ static void init_amd_l3_attrs(void)
if (amd_nb_has_feature(AMD_NB_L3_PARTITIONING))
n += 1;
- amd_l3_attrs = kcalloc(n, sizeof(*amd_l3_attrs), GFP_KERNEL);
+ amd_l3_attrs = kzalloc_objs(*amd_l3_attrs, n, GFP_KERNEL);
if (!amd_l3_attrs)
return;
diff --git a/arch/x86/kernel/cpu/mce/amd.c b/arch/x86/kernel/cpu/mce/amd.c
index 3f1dda355307..4e7a6101e7ed 100644
--- a/arch/x86/kernel/cpu/mce/amd.c
+++ b/arch/x86/kernel/cpu/mce/amd.c
@@ -1088,7 +1088,7 @@ static int allocate_threshold_blocks(unsigned int cpu, struct threshold_bank *tb
(high & MASK_LOCKED_HI))
goto recurse;
- b = kzalloc(sizeof(struct threshold_block), GFP_KERNEL);
+ b = kzalloc_obj(struct threshold_block, GFP_KERNEL);
if (!b)
return -ENOMEM;
@@ -1147,7 +1147,7 @@ static int threshold_create_bank(struct threshold_bank **bp, unsigned int cpu,
if (!dev)
return -ENODEV;
- b = kzalloc(sizeof(struct threshold_bank), GFP_KERNEL);
+ b = kzalloc_obj(struct threshold_bank, GFP_KERNEL);
if (!b) {
err = -ENOMEM;
goto out;
@@ -1250,7 +1250,7 @@ void mce_threshold_create_device(unsigned int cpu)
return;
numbanks = this_cpu_read(mce_num_banks);
- bp = kcalloc(numbanks, sizeof(*bp), GFP_KERNEL);
+ bp = kzalloc_objs(*bp, numbanks, GFP_KERNEL);
if (!bp)
return;
diff --git a/arch/x86/kernel/cpu/mce/core.c b/arch/x86/kernel/cpu/mce/core.c
index 34440021e8cf..dd6a06ab5270 100644
--- a/arch/x86/kernel/cpu/mce/core.c
+++ b/arch/x86/kernel/cpu/mce/core.c
@@ -2692,7 +2692,7 @@ static int mce_device_create(unsigned int cpu)
if (dev)
return 0;
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return -ENOMEM;
dev->id = cpu;
diff --git a/arch/x86/kernel/cpu/mce/dev-mcelog.c b/arch/x86/kernel/cpu/mce/dev-mcelog.c
index 8d023239ce18..ec603e2c089a 100644
--- a/arch/x86/kernel/cpu/mce/dev-mcelog.c
+++ b/arch/x86/kernel/cpu/mce/dev-mcelog.c
@@ -338,7 +338,7 @@ static __init int dev_mcelog_init_device(void)
int err;
mce_log_len = max(MCE_LOG_MIN_LEN, num_online_cpus());
- mcelog = kzalloc(struct_size(mcelog, entry, mce_log_len), GFP_KERNEL);
+ mcelog = kzalloc_flex(*mcelog, entry, mce_log_len, GFP_KERNEL);
if (!mcelog)
return -ENOMEM;
diff --git a/arch/x86/kernel/cpu/microcode/amd.c b/arch/x86/kernel/cpu/microcode/amd.c
index caa0f595abcf..e58a73ae431b 100644
--- a/arch/x86/kernel/cpu/microcode/amd.c
+++ b/arch/x86/kernel/cpu/microcode/amd.c
@@ -1086,7 +1086,7 @@ static int verify_and_add_patch(u8 family, u8 *fw, unsigned int leftover,
if (ret)
return ret;
- patch = kzalloc(sizeof(*patch), GFP_KERNEL);
+ patch = kzalloc_obj(*patch, GFP_KERNEL);
if (!patch) {
pr_err("Patch allocation failure.\n");
return -EINVAL;
diff --git a/arch/x86/kernel/cpu/mtrr/generic.c b/arch/x86/kernel/cpu/mtrr/generic.c
index 0863733858dc..d7db12c06950 100644
--- a/arch/x86/kernel/cpu/mtrr/generic.c
+++ b/arch/x86/kernel/cpu/mtrr/generic.c
@@ -410,7 +410,7 @@ void __init mtrr_copy_map(void)
mutex_lock(&mtrr_mutex);
- cache_map = kcalloc(new_size, sizeof(*cache_map), GFP_KERNEL);
+ cache_map = kzalloc_objs(*cache_map, new_size, GFP_KERNEL);
if (cache_map) {
memmove(cache_map, init_cache_map,
cache_map_n * sizeof(*cache_map));
diff --git a/arch/x86/kernel/cpu/mtrr/legacy.c b/arch/x86/kernel/cpu/mtrr/legacy.c
index 2415ffaaf02c..ee7bc7b5ce96 100644
--- a/arch/x86/kernel/cpu/mtrr/legacy.c
+++ b/arch/x86/kernel/cpu/mtrr/legacy.c
@@ -80,7 +80,7 @@ static struct syscore mtrr_syscore = {
void mtrr_register_syscore(void)
{
- mtrr_value = kcalloc(num_var_ranges, sizeof(*mtrr_value), GFP_KERNEL);
+ mtrr_value = kzalloc_objs(*mtrr_value, num_var_ranges, GFP_KERNEL);
/*
* The CPU has no MTRR and seems to not support SMP. They have
diff --git a/arch/x86/kernel/cpu/sgx/driver.c b/arch/x86/kernel/cpu/sgx/driver.c
index a42c7180900b..74fb59d96730 100644
--- a/arch/x86/kernel/cpu/sgx/driver.c
+++ b/arch/x86/kernel/cpu/sgx/driver.c
@@ -19,7 +19,7 @@ static int __sgx_open(struct inode *inode, struct file *file)
struct sgx_encl *encl;
int ret;
- encl = kzalloc(sizeof(*encl), GFP_KERNEL);
+ encl = kzalloc_obj(*encl, GFP_KERNEL);
if (!encl)
return -ENOMEM;
diff --git a/arch/x86/kernel/cpu/sgx/encl.c b/arch/x86/kernel/cpu/sgx/encl.c
index cf149b9f4916..8b6c400c4008 100644
--- a/arch/x86/kernel/cpu/sgx/encl.c
+++ b/arch/x86/kernel/cpu/sgx/encl.c
@@ -854,7 +854,7 @@ int sgx_encl_mm_add(struct sgx_encl *encl, struct mm_struct *mm)
if (sgx_encl_find_mm(encl, mm))
return 0;
- encl_mm = kzalloc(sizeof(*encl_mm), GFP_KERNEL);
+ encl_mm = kzalloc_obj(*encl_mm, GFP_KERNEL);
if (!encl_mm)
return -ENOMEM;
@@ -1163,7 +1163,7 @@ struct sgx_encl_page *sgx_encl_page_alloc(struct sgx_encl *encl,
struct sgx_encl_page *encl_page;
unsigned long prot;
- encl_page = kzalloc(sizeof(*encl_page), GFP_KERNEL);
+ encl_page = kzalloc_obj(*encl_page, GFP_KERNEL);
if (!encl_page)
return ERR_PTR(-ENOMEM);
diff --git a/arch/x86/kernel/cpu/sgx/ioctl.c b/arch/x86/kernel/cpu/sgx/ioctl.c
index 0bc36957979d..ef6674067d80 100644
--- a/arch/x86/kernel/cpu/sgx/ioctl.c
+++ b/arch/x86/kernel/cpu/sgx/ioctl.c
@@ -27,7 +27,7 @@ struct sgx_va_page *sgx_encl_grow(struct sgx_encl *encl, bool reclaim)
(SGX_ENCL_PAGE_VA_OFFSET_MASK >> 3) + 1);
if (!(encl->page_cnt % SGX_VA_SLOT_COUNT)) {
- va_page = kzalloc(sizeof(*va_page), GFP_KERNEL);
+ va_page = kzalloc_obj(*va_page, GFP_KERNEL);
if (!va_page)
return ERR_PTR(-ENOMEM);
diff --git a/arch/x86/kernel/cpu/sgx/main.c b/arch/x86/kernel/cpu/sgx/main.c
index dc73194416ac..1021a4e33ac6 100644
--- a/arch/x86/kernel/cpu/sgx/main.c
+++ b/arch/x86/kernel/cpu/sgx/main.c
@@ -798,7 +798,8 @@ static bool __init sgx_page_cache_init(void)
int nid;
int i;
- sgx_numa_nodes = kmalloc_array(num_possible_nodes(), sizeof(*sgx_numa_nodes), GFP_KERNEL);
+ sgx_numa_nodes = kmalloc_objs(*sgx_numa_nodes, num_possible_nodes(),
+ GFP_KERNEL);
if (!sgx_numa_nodes)
return false;
diff --git a/arch/x86/kernel/cpu/sgx/virt.c b/arch/x86/kernel/cpu/sgx/virt.c
index 8de1f1a755f2..c7be8d0ea869 100644
--- a/arch/x86/kernel/cpu/sgx/virt.c
+++ b/arch/x86/kernel/cpu/sgx/virt.c
@@ -264,7 +264,7 @@ static int __sgx_vepc_open(struct inode *inode, struct file *file)
{
struct sgx_vepc *vepc;
- vepc = kzalloc(sizeof(struct sgx_vepc), GFP_KERNEL);
+ vepc = kzalloc_obj(struct sgx_vepc, GFP_KERNEL);
if (!vepc)
return -ENOMEM;
mutex_init(&vepc->lock);
diff --git a/arch/x86/kernel/hpet.c b/arch/x86/kernel/hpet.c
index d6387dde3ff9..43884229c421 100644
--- a/arch/x86/kernel/hpet.c
+++ b/arch/x86/kernel/hpet.c
@@ -544,7 +544,7 @@ static struct irq_domain *hpet_create_irq_domain(int hpet_id)
if (x86_vector_domain == NULL)
return NULL;
- domain_info = kzalloc(sizeof(*domain_info), GFP_KERNEL);
+ domain_info = kzalloc_obj(*domain_info, GFP_KERNEL);
if (!domain_info)
return NULL;
@@ -1038,7 +1038,7 @@ int __init hpet_enable(void)
if (IS_ENABLED(CONFIG_HPET_EMULATE_RTC) && channels < 2)
goto out_nohpet;
- hc = kcalloc(channels, sizeof(*hc), GFP_KERNEL);
+ hc = kzalloc_objs(*hc, channels, GFP_KERNEL);
if (!hc) {
pr_warn("Disabling HPET.\n");
goto out_nohpet;
diff --git a/arch/x86/kernel/ioport.c b/arch/x86/kernel/ioport.c
index ff40f09ad911..30ab130329dc 100644
--- a/arch/x86/kernel/ioport.c
+++ b/arch/x86/kernel/ioport.c
@@ -90,7 +90,7 @@ long ksys_ioperm(unsigned long from, unsigned long num, int turn_on)
/* No point to allocate a bitmap just to clear permissions */
if (!turn_on)
return 0;
- iobm = kmalloc(sizeof(*iobm), GFP_KERNEL);
+ iobm = kmalloc_obj(*iobm, GFP_KERNEL);
if (!iobm)
return -ENOMEM;
diff --git a/arch/x86/kernel/kdebugfs.c b/arch/x86/kernel/kdebugfs.c
index e2e89bebcbc3..4d7bf56524d8 100644
--- a/arch/x86/kernel/kdebugfs.c
+++ b/arch/x86/kernel/kdebugfs.c
@@ -102,7 +102,7 @@ static int __init create_setup_data_nodes(struct dentry *parent)
pa_data = boot_params.hdr.setup_data;
while (pa_data) {
- node = kmalloc(sizeof(*node), GFP_KERNEL);
+ node = kmalloc_obj(*node, GFP_KERNEL);
if (!node) {
error = -ENOMEM;
goto err_dir;
diff --git a/arch/x86/kernel/kexec-bzimage64.c b/arch/x86/kernel/kexec-bzimage64.c
index 251edc5a040f..b7ba1ec486f9 100644
--- a/arch/x86/kernel/kexec-bzimage64.c
+++ b/arch/x86/kernel/kexec-bzimage64.c
@@ -682,7 +682,7 @@ static void *bzImage64_load(struct kimage *image, char *kernel,
goto out_free_params;
/* Allocate loader specific data */
- ldata = kzalloc(sizeof(struct bzimage64_data), GFP_KERNEL);
+ ldata = kzalloc_obj(struct bzimage64_data, GFP_KERNEL);
if (!ldata) {
ret = -ENOMEM;
goto out_free_params;
diff --git a/arch/x86/kernel/ksysfs.c b/arch/x86/kernel/ksysfs.c
index d547de9b3ed8..c5614b59be4a 100644
--- a/arch/x86/kernel/ksysfs.c
+++ b/arch/x86/kernel/ksysfs.c
@@ -344,7 +344,7 @@ static int __init create_setup_data_nodes(struct kobject *parent)
if (ret)
goto out_setup_data_kobj;
- kobjp = kmalloc_array(nr, sizeof(*kobjp), GFP_KERNEL);
+ kobjp = kmalloc_objs(*kobjp, nr, GFP_KERNEL);
if (!kobjp) {
ret = -ENOMEM;
goto out_setup_data_kobj;
diff --git a/arch/x86/kernel/kvm.c b/arch/x86/kernel/kvm.c
index 26ab6f8e36df..3bc062363814 100644
--- a/arch/x86/kernel/kvm.c
+++ b/arch/x86/kernel/kvm.c
@@ -226,7 +226,7 @@ again:
*/
if (!dummy) {
raw_spin_unlock(&b->lock);
- dummy = kzalloc(sizeof(*dummy), GFP_ATOMIC);
+ dummy = kzalloc_obj(*dummy, GFP_ATOMIC);
/*
* Continue looping on allocation failure, eventually
diff --git a/arch/x86/kernel/ldt.c b/arch/x86/kernel/ldt.c
index 0f19ef355f5f..40c5bf97dd5c 100644
--- a/arch/x86/kernel/ldt.c
+++ b/arch/x86/kernel/ldt.c
@@ -154,7 +154,7 @@ static struct ldt_struct *alloc_ldt_struct(unsigned int num_entries)
if (num_entries > LDT_ENTRIES)
return NULL;
- new_ldt = kmalloc(sizeof(struct ldt_struct), GFP_KERNEL_ACCOUNT);
+ new_ldt = kmalloc_obj(struct ldt_struct, GFP_KERNEL_ACCOUNT);
if (!new_ldt)
return NULL;
diff --git a/arch/x86/kernel/uprobes.c b/arch/x86/kernel/uprobes.c
index 619dddf54424..61d37f5a5ff9 100644
--- a/arch/x86/kernel/uprobes.c
+++ b/arch/x86/kernel/uprobes.c
@@ -696,7 +696,7 @@ static struct uprobe_trampoline *create_uprobe_trampoline(unsigned long vaddr)
if (IS_ERR_VALUE(vaddr))
return NULL;
- tramp = kzalloc(sizeof(*tramp), GFP_KERNEL);
+ tramp = kzalloc_obj(*tramp, GFP_KERNEL);
if (unlikely(!tramp))
return NULL;
diff --git a/arch/x86/kernel/vm86_32.c b/arch/x86/kernel/vm86_32.c
index e6cc84143f3e..3bb70763af9c 100644
--- a/arch/x86/kernel/vm86_32.c
+++ b/arch/x86/kernel/vm86_32.c
@@ -232,7 +232,7 @@ static long do_sys_vm86(struct vm86plus_struct __user *user_vm86, bool plus)
}
if (!vm86) {
- if (!(vm86 = kzalloc(sizeof(*vm86), GFP_KERNEL)))
+ if (!(vm86 = kzalloc_obj(*vm86, GFP_KERNEL)))
return -ENOMEM;
tsk->thread.vm86 = vm86;
}
diff --git a/arch/x86/kvm/cpuid.c b/arch/x86/kvm/cpuid.c
index 7fe4e58a6ebf..c196aa0c1bd1 100644
--- a/arch/x86/kvm/cpuid.c
+++ b/arch/x86/kvm/cpuid.c
@@ -602,7 +602,7 @@ int kvm_vcpu_ioctl_set_cpuid(struct kvm_vcpu *vcpu,
if (IS_ERR(e))
return PTR_ERR(e);
- e2 = kvmalloc_array(cpuid->nent, sizeof(*e2), GFP_KERNEL_ACCOUNT);
+ e2 = kvmalloc_objs(*e2, cpuid->nent, GFP_KERNEL_ACCOUNT);
if (!e2) {
r = -ENOMEM;
goto out_free_cpuid;
@@ -1991,7 +1991,8 @@ int kvm_dev_ioctl_get_cpuid(struct kvm_cpuid2 *cpuid,
if (sanity_check_entries(entries, cpuid->nent, type))
return -EINVAL;
- array.entries = kvcalloc(cpuid->nent, sizeof(struct kvm_cpuid_entry2), GFP_KERNEL);
+ array.entries = kvzalloc_objs(struct kvm_cpuid_entry2, cpuid->nent,
+ GFP_KERNEL);
if (!array.entries)
return -ENOMEM;
diff --git a/arch/x86/kvm/hyperv.c b/arch/x86/kvm/hyperv.c
index 49bf744ca8e3..30202942289a 100644
--- a/arch/x86/kvm/hyperv.c
+++ b/arch/x86/kvm/hyperv.c
@@ -968,7 +968,7 @@ int kvm_hv_vcpu_init(struct kvm_vcpu *vcpu)
if (hv_vcpu)
return 0;
- hv_vcpu = kzalloc(sizeof(struct kvm_vcpu_hv), GFP_KERNEL_ACCOUNT);
+ hv_vcpu = kzalloc_obj(struct kvm_vcpu_hv, GFP_KERNEL_ACCOUNT);
if (!hv_vcpu)
return -ENOMEM;
diff --git a/arch/x86/kvm/i8254.c b/arch/x86/kvm/i8254.c
index 850972deac8e..1982b0077ddd 100644
--- a/arch/x86/kvm/i8254.c
+++ b/arch/x86/kvm/i8254.c
@@ -740,7 +740,7 @@ struct kvm_pit *kvm_create_pit(struct kvm *kvm, u32 flags)
pid_t pid_nr;
int ret;
- pit = kzalloc(sizeof(struct kvm_pit), GFP_KERNEL_ACCOUNT);
+ pit = kzalloc_obj(struct kvm_pit, GFP_KERNEL_ACCOUNT);
if (!pit)
return NULL;
diff --git a/arch/x86/kvm/i8259.c b/arch/x86/kvm/i8259.c
index 2ac7f1678c46..59e28c45d7dc 100644
--- a/arch/x86/kvm/i8259.c
+++ b/arch/x86/kvm/i8259.c
@@ -587,7 +587,7 @@ int kvm_pic_init(struct kvm *kvm)
struct kvm_pic *s;
int ret;
- s = kzalloc(sizeof(struct kvm_pic), GFP_KERNEL_ACCOUNT);
+ s = kzalloc_obj(struct kvm_pic, GFP_KERNEL_ACCOUNT);
if (!s)
return -ENOMEM;
spin_lock_init(&s->lock);
diff --git a/arch/x86/kvm/ioapic.c b/arch/x86/kvm/ioapic.c
index a38a8e2ac70b..bb257793b6cb 100644
--- a/arch/x86/kvm/ioapic.c
+++ b/arch/x86/kvm/ioapic.c
@@ -717,7 +717,7 @@ int kvm_ioapic_init(struct kvm *kvm)
struct kvm_ioapic *ioapic;
int ret;
- ioapic = kzalloc(sizeof(struct kvm_ioapic), GFP_KERNEL_ACCOUNT);
+ ioapic = kzalloc_obj(struct kvm_ioapic, GFP_KERNEL_ACCOUNT);
if (!ioapic)
return -ENOMEM;
spin_lock_init(&ioapic->lock);
diff --git a/arch/x86/kvm/lapic.c b/arch/x86/kvm/lapic.c
index 2332a258de91..9381c58d4c85 100644
--- a/arch/x86/kvm/lapic.c
+++ b/arch/x86/kvm/lapic.c
@@ -3058,7 +3058,7 @@ int kvm_create_lapic(struct kvm_vcpu *vcpu)
return 0;
}
- apic = kzalloc(sizeof(*apic), GFP_KERNEL_ACCOUNT);
+ apic = kzalloc_obj(*apic, GFP_KERNEL_ACCOUNT);
if (!apic)
goto nomem;
diff --git a/arch/x86/kvm/mmu/mmu.c b/arch/x86/kvm/mmu/mmu.c
index 3911ac9bddfd..b922a8b00057 100644
--- a/arch/x86/kvm/mmu/mmu.c
+++ b/arch/x86/kvm/mmu/mmu.c
@@ -3971,7 +3971,7 @@ static int kvm_mmu_alloc_page_hash(struct kvm *kvm)
if (kvm->arch.mmu_page_hash)
return 0;
- h = kvcalloc(KVM_NUM_MMU_PAGES, sizeof(*h), GFP_KERNEL_ACCOUNT);
+ h = kvzalloc_objs(*h, KVM_NUM_MMU_PAGES, GFP_KERNEL_ACCOUNT);
if (!h)
return -ENOMEM;
diff --git a/arch/x86/kvm/svm/nested.c b/arch/x86/kvm/svm/nested.c
index de90b104a0dd..999fd3373dba 100644
--- a/arch/x86/kvm/svm/nested.c
+++ b/arch/x86/kvm/svm/nested.c
@@ -1781,7 +1781,7 @@ static int svm_get_nested_state(struct kvm_vcpu *vcpu,
if (clear_user(user_vmcb, KVM_STATE_NESTED_SVM_VMCB_SIZE))
return -EFAULT;
- ctl = kzalloc(sizeof(*ctl), GFP_KERNEL);
+ ctl = kzalloc_obj(*ctl, GFP_KERNEL);
if (!ctl)
return -ENOMEM;
diff --git a/arch/x86/kvm/svm/sev.c b/arch/x86/kvm/svm/sev.c
index ea515cf41168..3f9c1aa39a0a 100644
--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -2512,7 +2512,7 @@ static int snp_launch_finish(struct kvm *kvm, struct kvm_sev_cmd *argp)
if (ret)
return ret;
- data = kzalloc(sizeof(*data), GFP_KERNEL_ACCOUNT);
+ data = kzalloc_obj(*data, GFP_KERNEL_ACCOUNT);
if (!data)
return -ENOMEM;
@@ -2711,7 +2711,7 @@ int sev_mem_enc_register_region(struct kvm *kvm,
if (range->addr > ULONG_MAX || range->size > ULONG_MAX)
return -EINVAL;
- region = kzalloc(sizeof(*region), GFP_KERNEL_ACCOUNT);
+ region = kzalloc_obj(*region, GFP_KERNEL_ACCOUNT);
if (!region)
return -ENOMEM;
diff --git a/arch/x86/kvm/vmx/tdx.c b/arch/x86/kvm/vmx/tdx.c
index 5df9d32d2058..adbb3060ae2f 100644
--- a/arch/x86/kvm/vmx/tdx.c
+++ b/arch/x86/kvm/vmx/tdx.c
@@ -2218,8 +2218,8 @@ static int tdx_get_capabilities(struct kvm_tdx_cmd *cmd)
if (nr_user_entries < td_conf->num_cpuid_config)
return -E2BIG;
- caps = kzalloc(struct_size(caps, cpuid.entries,
- td_conf->num_cpuid_config), GFP_KERNEL);
+ caps = kzalloc_flex(*caps, cpuid.entries, td_conf->num_cpuid_config,
+ GFP_KERNEL);
if (!caps)
return -ENOMEM;
@@ -2407,8 +2407,8 @@ static int __tdx_td_init(struct kvm *kvm, struct td_params *td_params,
kvm_tdx->td.tdcs_nr_pages = tdx_sysinfo->td_ctrl.tdcs_base_size / PAGE_SIZE;
/* TDVPS = TDVPR(4K page) + TDCX(multiple 4K pages), -1 for TDVPR. */
kvm_tdx->td.tdcx_nr_pages = tdx_sysinfo->td_ctrl.tdvps_base_size / PAGE_SIZE - 1;
- tdcs_pages = kcalloc(kvm_tdx->td.tdcs_nr_pages, sizeof(*kvm_tdx->td.tdcs_pages),
- GFP_KERNEL);
+ tdcs_pages = kzalloc_objs(*kvm_tdx->td.tdcs_pages,
+ kvm_tdx->td.tdcs_nr_pages, GFP_KERNEL);
if (!tdcs_pages)
goto free_tdr;
@@ -2743,7 +2743,7 @@ static int tdx_td_init(struct kvm *kvm, struct kvm_tdx_cmd *cmd)
goto out;
}
- td_params = kzalloc(sizeof(struct td_params), GFP_KERNEL);
+ td_params = kzalloc_obj(struct td_params, GFP_KERNEL);
if (!td_params) {
ret = -ENOMEM;
goto out;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 391f4a5ce6dd..4344847f7119 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6208,7 +6208,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
r = -EINVAL;
if (!lapic_in_kernel(vcpu))
goto out;
- u.lapic = kzalloc(sizeof(struct kvm_lapic_state), GFP_KERNEL);
+ u.lapic = kzalloc_obj(struct kvm_lapic_state, GFP_KERNEL);
r = -ENOMEM;
if (!u.lapic)
@@ -6410,7 +6410,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
if (vcpu->arch.guest_fpu.uabi_size > sizeof(struct kvm_xsave))
break;
- u.xsave = kzalloc(sizeof(struct kvm_xsave), GFP_KERNEL);
+ u.xsave = kzalloc_obj(struct kvm_xsave, GFP_KERNEL);
r = -ENOMEM;
if (!u.xsave)
break;
@@ -6459,7 +6459,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
}
case KVM_GET_XCRS: {
- u.xcrs = kzalloc(sizeof(struct kvm_xcrs), GFP_KERNEL);
+ u.xcrs = kzalloc_obj(struct kvm_xcrs, GFP_KERNEL);
r = -ENOMEM;
if (!u.xcrs)
break;
@@ -6619,7 +6619,7 @@ long kvm_arch_vcpu_ioctl(struct file *filp,
vcpu->arch.guest_state_protected)
goto out;
- u.sregs2 = kzalloc(sizeof(struct kvm_sregs2), GFP_KERNEL);
+ u.sregs2 = kzalloc_obj(struct kvm_sregs2, GFP_KERNEL);
r = -ENOMEM;
if (!u.sregs2)
goto out;
@@ -6994,7 +6994,7 @@ static struct kvm_x86_msr_filter *kvm_alloc_msr_filter(bool default_allow)
{
struct kvm_x86_msr_filter *msr_filter;
- msr_filter = kzalloc(sizeof(*msr_filter), GFP_KERNEL_ACCOUNT);
+ msr_filter = kzalloc_obj(*msr_filter, GFP_KERNEL_ACCOUNT);
if (!msr_filter)
return NULL;
diff --git a/arch/x86/kvm/xen.c b/arch/x86/kvm/xen.c
index 28eeb1b2a16c..1838a49eee76 100644
--- a/arch/x86/kvm/xen.c
+++ b/arch/x86/kvm/xen.c
@@ -1514,8 +1514,7 @@ static bool kvm_xen_schedop_poll(struct kvm_vcpu *vcpu, bool longmode,
return true;
}
- ports = kmalloc_array(sched_poll.nr_ports,
- sizeof(*ports), GFP_KERNEL);
+ ports = kmalloc_objs(*ports, sched_poll.nr_ports, GFP_KERNEL);
if (!ports) {
*r = -ENOMEM;
return true;
@@ -2116,7 +2115,7 @@ static int kvm_xen_eventfd_assign(struct kvm *kvm,
struct evtchnfd *evtchnfd;
int ret = -EINVAL;
- evtchnfd = kzalloc(sizeof(struct evtchnfd), GFP_KERNEL);
+ evtchnfd = kzalloc_obj(struct evtchnfd, GFP_KERNEL);
if (!evtchnfd)
return -ENOMEM;
@@ -2214,7 +2213,7 @@ static int kvm_xen_eventfd_reset(struct kvm *kvm)
idr_for_each_entry(&kvm->arch.xen.evtchn_ports, evtchnfd, i)
n++;
- all_evtchnfds = kmalloc_array(n, sizeof(struct evtchnfd *), GFP_KERNEL);
+ all_evtchnfds = kmalloc_objs(struct evtchnfd *, n, GFP_KERNEL);
if (!all_evtchnfds) {
mutex_unlock(&kvm->arch.xen.xen_lock);
return -ENOMEM;
diff --git a/arch/x86/mm/kmmio.c b/arch/x86/mm/kmmio.c
index 9f82019179e1..6ac981cec652 100644
--- a/arch/x86/mm/kmmio.c
+++ b/arch/x86/mm/kmmio.c
@@ -387,7 +387,7 @@ static int add_kmmio_fault_page(unsigned long addr)
return 0;
}
- f = kzalloc(sizeof(*f), GFP_ATOMIC);
+ f = kzalloc_obj(*f, GFP_ATOMIC);
if (!f)
return -1;
@@ -562,7 +562,7 @@ void unregister_kmmio_probe(struct kmmio_probe *p)
if (!release_list)
return;
- drelease = kmalloc(sizeof(*drelease), GFP_ATOMIC);
+ drelease = kmalloc_obj(*drelease, GFP_ATOMIC);
if (!drelease) {
pr_crit("leaking kmmio_fault_page objects.\n");
return;
diff --git a/arch/x86/mm/mmio-mod.c b/arch/x86/mm/mmio-mod.c
index c3317f0650d8..63294d590346 100644
--- a/arch/x86/mm/mmio-mod.c
+++ b/arch/x86/mm/mmio-mod.c
@@ -220,7 +220,7 @@ static void ioremap_trace_core(resource_size_t offset, unsigned long size,
void __iomem *addr)
{
static atomic_t next_id;
- struct remap_trace *trace = kmalloc(sizeof(*trace), GFP_KERNEL);
+ struct remap_trace *trace = kmalloc_obj(*trace, GFP_KERNEL);
/* These are page-unaligned. */
struct mmiotrace_map map = {
.phys = offset,
diff --git a/arch/x86/mm/pat/memtype.c b/arch/x86/mm/pat/memtype.c
index 8a3d9722f602..fdf6ed96cbd0 100644
--- a/arch/x86/mm/pat/memtype.c
+++ b/arch/x86/mm/pat/memtype.c
@@ -574,7 +574,7 @@ int memtype_reserve(u64 start, u64 end, enum page_cache_mode req_type,
return -EINVAL;
}
- entry_new = kzalloc(sizeof(struct memtype), GFP_KERNEL);
+ entry_new = kzalloc_obj(struct memtype, GFP_KERNEL);
if (!entry_new)
return -ENOMEM;
@@ -966,7 +966,7 @@ static struct memtype *memtype_get_idx(loff_t pos)
struct memtype *entry_print;
int ret;
- entry_print = kzalloc(sizeof(struct memtype), GFP_KERNEL);
+ entry_print = kzalloc_obj(struct memtype, GFP_KERNEL);
if (!entry_print)
return NULL;
diff --git a/arch/x86/net/bpf_jit_comp.c b/arch/x86/net/bpf_jit_comp.c
index 070ba80e39d7..0a0127c9e2e2 100644
--- a/arch/x86/net/bpf_jit_comp.c
+++ b/arch/x86/net/bpf_jit_comp.c
@@ -3758,7 +3758,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
jit_data = prog->aux->jit_data;
if (!jit_data) {
- jit_data = kzalloc(sizeof(*jit_data), GFP_KERNEL);
+ jit_data = kzalloc_obj(*jit_data, GFP_KERNEL);
if (!jit_data) {
prog = orig_prog;
goto out;
@@ -3794,7 +3794,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
padding = true;
goto skip_init_addrs;
}
- addrs = kvmalloc_array(prog->len + 1, sizeof(*addrs), GFP_KERNEL);
+ addrs = kvmalloc_objs(*addrs, prog->len + 1, GFP_KERNEL);
if (!addrs) {
prog = orig_prog;
goto out_addrs;
diff --git a/arch/x86/net/bpf_jit_comp32.c b/arch/x86/net/bpf_jit_comp32.c
index de0f9e5f9f73..e6f3475bb773 100644
--- a/arch/x86/net/bpf_jit_comp32.c
+++ b/arch/x86/net/bpf_jit_comp32.c
@@ -2545,7 +2545,7 @@ struct bpf_prog *bpf_int_jit_compile(struct bpf_prog *prog)
prog = tmp;
}
- addrs = kmalloc_array(prog->len, sizeof(*addrs), GFP_KERNEL);
+ addrs = kmalloc_objs(*addrs, prog->len, GFP_KERNEL);
if (!addrs) {
prog = orig_prog;
goto out;
diff --git a/arch/x86/pci/acpi.c b/arch/x86/pci/acpi.c
index 0c316bae1726..d0e1cd677eba 100644
--- a/arch/x86/pci/acpi.c
+++ b/arch/x86/pci/acpi.c
@@ -562,7 +562,7 @@ struct pci_bus *pci_acpi_scan_root(struct acpi_pci_root *root)
} else {
struct pci_root_info *info;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info)
dev_err(&root->device->dev,
"pci_bus %04x:%02x: ignored (out of memory)\n",
diff --git a/arch/x86/pci/bus_numa.c b/arch/x86/pci/bus_numa.c
index e4a525e59eaf..53037dba4c97 100644
--- a/arch/x86/pci/bus_numa.c
+++ b/arch/x86/pci/bus_numa.c
@@ -72,7 +72,7 @@ struct pci_root_info __init *alloc_pci_root_info(int bus_min, int bus_max,
{
struct pci_root_info *info;
- info = kzalloc(sizeof(*info), GFP_KERNEL);
+ info = kzalloc_obj(*info, GFP_KERNEL);
if (!info)
return info;
@@ -132,7 +132,7 @@ void update_res(struct pci_root_info *info, resource_size_t start,
addit:
/* need to add that */
- root_res = kzalloc(sizeof(*root_res), GFP_KERNEL);
+ root_res = kzalloc_obj(*root_res, GFP_KERNEL);
if (!root_res)
return;
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index ddb798603201..12d4e522d863 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -461,7 +461,7 @@ void pcibios_scan_root(int busnum)
struct pci_sysdata *sd;
LIST_HEAD(resources);
- sd = kzalloc(sizeof(*sd), GFP_KERNEL);
+ sd = kzalloc_obj(*sd, GFP_KERNEL);
if (!sd) {
printk(KERN_ERR "PCI: OOM, skipping PCI bus %02x\n", busnum);
return;
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
index 25076a5acd96..3c92893ba725 100644
--- a/arch/x86/pci/fixup.c
+++ b/arch/x86/pci/fixup.c
@@ -771,7 +771,7 @@ static void pci_amd_enable_64bit_bar(struct pci_dev *dev)
if (i == 8)
return;
- res = kzalloc(sizeof(*res), GFP_KERNEL);
+ res = kzalloc_obj(*res, GFP_KERNEL);
if (!res)
return;
diff --git a/arch/x86/pci/i386.c b/arch/x86/pci/i386.c
index f2f4a5d50b27..5e99b12300c9 100644
--- a/arch/x86/pci/i386.c
+++ b/arch/x86/pci/i386.c
@@ -81,7 +81,7 @@ pcibios_save_fw_addr(struct pci_dev *dev, int idx, resource_size_t fw_addr)
map = pcibios_fwaddrmap_lookup(dev);
if (!map) {
spin_unlock_irqrestore(&pcibios_fwaddrmap_lock, flags);
- map = kzalloc(sizeof(*map), GFP_KERNEL);
+ map = kzalloc_obj(*map, GFP_KERNEL);
if (!map)
return;
diff --git a/arch/x86/pci/mmconfig-shared.c b/arch/x86/pci/mmconfig-shared.c
index 1f4522325920..14098363b841 100644
--- a/arch/x86/pci/mmconfig-shared.c
+++ b/arch/x86/pci/mmconfig-shared.c
@@ -77,7 +77,7 @@ static struct pci_mmcfg_region *pci_mmconfig_alloc(int segment, int start,
if (addr == 0)
return NULL;
- new = kzalloc(sizeof(*new), GFP_KERNEL);
+ new = kzalloc_obj(*new, GFP_KERNEL);
if (!new)
return NULL;
diff --git a/arch/x86/pci/xen.c b/arch/x86/pci/xen.c
index b8755cde2419..4f356d67cc31 100644
--- a/arch/x86/pci/xen.c
+++ b/arch/x86/pci/xen.c
@@ -173,7 +173,7 @@ static int xen_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
if (type == PCI_CAP_ID_MSI && nvec > 1)
return 1;
- v = kcalloc(max(1, nvec), sizeof(int), GFP_KERNEL);
+ v = kzalloc_objs(int, max(1, nvec), GFP_KERNEL);
if (!v)
return -ENOMEM;
diff --git a/arch/x86/platform/efi/runtime-map.c b/arch/x86/platform/efi/runtime-map.c
index a6f02cef3ca2..77699893b5bb 100644
--- a/arch/x86/platform/efi/runtime-map.c
+++ b/arch/x86/platform/efi/runtime-map.c
@@ -114,7 +114,7 @@ add_sysfs_runtime_map_entry(struct kobject *kobj, int nr,
return ERR_PTR(-ENOMEM);
}
- entry = kzalloc(sizeof(*entry), GFP_KERNEL);
+ entry = kzalloc_obj(*entry, GFP_KERNEL);
if (!entry) {
kset_unregister(map_kset);
map_kset = NULL;
@@ -166,7 +166,7 @@ static int __init efi_runtime_map_init(void)
if (!efi_enabled(EFI_MEMMAP) || !efi_kobj)
return 0;
- map_entries = kcalloc(efi.memmap.nr_map, sizeof(entry), GFP_KERNEL);
+ map_entries = kzalloc_objs(entry, efi.memmap.nr_map, GFP_KERNEL);
if (!map_entries) {
ret = -ENOMEM;
goto out;
diff --git a/arch/x86/platform/geode/geode-common.c b/arch/x86/platform/geode/geode-common.c
index 8fd78e60bf15..f3c9eff2d374 100644
--- a/arch/x86/platform/geode/geode-common.c
+++ b/arch/x86/platform/geode/geode-common.c
@@ -113,7 +113,7 @@ int __init geode_create_leds(const char *label, const struct geode_led *leds,
return -EINVAL;
}
- swnodes = kcalloc(n_leds, sizeof(*swnodes), GFP_KERNEL);
+ swnodes = kzalloc_objs(*swnodes, n_leds, GFP_KERNEL);
if (!swnodes)
return -ENOMEM;
@@ -121,7 +121,7 @@ int __init geode_create_leds(const char *label, const struct geode_led *leds,
* Each LED is represented by 3 properties: "gpios",
* "linux,default-trigger", and am empty terminator.
*/
- props = kcalloc(n_leds * 3, sizeof(*props), GFP_KERNEL);
+ props = kzalloc_objs(*props, n_leds * 3, GFP_KERNEL);
if (!props) {
err = -ENOMEM;
goto err_free_swnodes;
diff --git a/arch/x86/power/cpu.c b/arch/x86/power/cpu.c
index 916441f5e85c..5a7d96bbd6d8 100644
--- a/arch/x86/power/cpu.c
+++ b/arch/x86/power/cpu.c
@@ -394,7 +394,7 @@ static int msr_build_context(const u32 *msr_id, const int num)
total_num = saved_msrs->num + num;
- msr_array = kmalloc_array(total_num, sizeof(struct saved_msr), GFP_KERNEL);
+ msr_array = kmalloc_objs(struct saved_msr, total_num, GFP_KERNEL);
if (!msr_array) {
pr_err("x86/pm: Can not allocate memory to save/restore MSRs during suspend.\n");
return -ENOMEM;
diff --git a/arch/x86/virt/svm/sev.c b/arch/x86/virt/svm/sev.c
index ee643a6cd691..5a31ced2788c 100644
--- a/arch/x86/virt/svm/sev.c
+++ b/arch/x86/virt/svm/sev.c
@@ -313,7 +313,7 @@ static bool __init alloc_rmp_segment_desc(u64 segment_pa, u64 segment_size, u64
return false;
}
- desc = kzalloc(sizeof(*desc), GFP_KERNEL);
+ desc = kzalloc_obj(*desc, GFP_KERNEL);
if (!desc) {
memunmap(rmp_segment);
return false;
diff --git a/arch/x86/virt/vmx/tdx/tdx.c b/arch/x86/virt/vmx/tdx/tdx.c
index 5ce4ebe99774..047cb2063202 100644
--- a/arch/x86/virt/vmx/tdx/tdx.c
+++ b/arch/x86/virt/vmx/tdx/tdx.c
@@ -194,7 +194,7 @@ static int add_tdx_memblock(struct list_head *tmb_list, unsigned long start_pfn,
{
struct tdx_memblock *tmb;
- tmb = kmalloc(sizeof(*tmb), GFP_KERNEL);
+ tmb = kmalloc_obj(*tmb, GFP_KERNEL);
if (!tmb)
return -ENOMEM;
diff --git a/arch/x86/xen/grant-table.c b/arch/x86/xen/grant-table.c
index 1e681bf62561..d8149572b4f7 100644
--- a/arch/x86/xen/grant-table.c
+++ b/arch/x86/xen/grant-table.c
@@ -101,7 +101,7 @@ static int gnttab_apply(pte_t *pte, unsigned long addr, void *data)
static int arch_gnttab_valloc(struct gnttab_vm_area *area, unsigned nr_frames)
{
- area->ptes = kmalloc_array(nr_frames, sizeof(*area->ptes), GFP_KERNEL);
+ area->ptes = kmalloc_objs(*area->ptes, nr_frames, GFP_KERNEL);
if (area->ptes == NULL)
return -ENOMEM;
area->area = get_vm_area(PAGE_SIZE * nr_frames, VM_IOREMAP);
diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c
index c40f326f0c3a..82894426cb99 100644
--- a/arch/x86/xen/smp_pv.c
+++ b/arch/x86/xen/smp_pv.c
@@ -230,7 +230,7 @@ cpu_initialize_context(unsigned int cpu, struct task_struct *idle)
if (cpumask_test_and_set_cpu(cpu, xen_cpu_initialized_map))
return 0;
- ctxt = kzalloc(sizeof(*ctxt), GFP_KERNEL);
+ ctxt = kzalloc_obj(*ctxt, GFP_KERNEL);
if (ctxt == NULL) {
cpumask_clear_cpu(cpu, xen_cpu_initialized_map);
return -ENOMEM;
diff --git a/arch/xtensa/kernel/ptrace.c b/arch/xtensa/kernel/ptrace.c
index ff0600a0584c..b5de377dc96f 100644
--- a/arch/xtensa/kernel/ptrace.c
+++ b/arch/xtensa/kernel/ptrace.c
@@ -123,7 +123,7 @@ static int tie_get(struct task_struct *target,
int ret;
struct pt_regs *regs = task_pt_regs(target);
struct thread_info *ti = task_thread_info(target);
- elf_xtregs_t *newregs = kzalloc(sizeof(elf_xtregs_t), GFP_KERNEL);
+ elf_xtregs_t *newregs = kzalloc_obj(elf_xtregs_t, GFP_KERNEL);
if (!newregs)
return -ENOMEM;
@@ -156,7 +156,7 @@ static int tie_set(struct task_struct *target,
int ret;
struct pt_regs *regs = task_pt_regs(target);
struct thread_info *ti = task_thread_info(target);
- elf_xtregs_t *newregs = kzalloc(sizeof(elf_xtregs_t), GFP_KERNEL);
+ elf_xtregs_t *newregs = kzalloc_obj(elf_xtregs_t, GFP_KERNEL);
if (!newregs)
return -ENOMEM;
diff --git a/arch/xtensa/platforms/iss/simdisk.c b/arch/xtensa/platforms/iss/simdisk.c
index 3cafc8feddee..3e54f6377c81 100644
--- a/arch/xtensa/platforms/iss/simdisk.c
+++ b/arch/xtensa/platforms/iss/simdisk.c
@@ -320,7 +320,7 @@ static int __init simdisk_init(void)
if (simdisk_count > MAX_SIMDISK_COUNT)
simdisk_count = MAX_SIMDISK_COUNT;
- sddev = kmalloc_array(simdisk_count, sizeof(*sddev), GFP_KERNEL);
+ sddev = kmalloc_objs(*sddev, simdisk_count, GFP_KERNEL);
if (sddev == NULL)
goto out_unregister;