summaryrefslogtreecommitdiff
path: root/arch/powerpc
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/powerpc
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
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/powerpc')
-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
111 files changed, 234 insertions, 246 deletions
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;