diff options
| author | Kees Cook <kees@kernel.org> | 2026-02-20 23:49:23 -0800 |
|---|---|---|
| committer | Kees Cook <kees@kernel.org> | 2026-02-21 01:02:28 -0800 |
| commit | 69050f8d6d075dc01af7a5f2f550a8067510366f (patch) | |
| tree | bb265f94d9dfa7876c06a5d9f88673d496a15341 /drivers/gpu/drm/msm | |
| parent | d39a1d7486d98668dd34aaa6732aad7977c45f5a (diff) | |
| download | lwn-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 'drivers/gpu/drm/msm')
32 files changed, 52 insertions, 55 deletions
diff --git a/drivers/gpu/drm/msm/adreno/a2xx_gpu.c b/drivers/gpu/drm/msm/adreno/a2xx_gpu.c index f6e48bb8cc69..9cf06fd3a21e 100644 --- a/drivers/gpu/drm/msm/adreno/a2xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a2xx_gpu.c @@ -457,7 +457,7 @@ static void a2xx_dump(struct msm_gpu *gpu) static struct msm_gpu_state *a2xx_gpu_state_get(struct msm_gpu *gpu) { - struct msm_gpu_state *state = kzalloc(sizeof(*state), GFP_KERNEL); + struct msm_gpu_state *state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return ERR_PTR(-ENOMEM); @@ -509,7 +509,7 @@ static struct msm_gpu *a2xx_gpu_init(struct drm_device *dev) goto fail; } - a2xx_gpu = kzalloc(sizeof(*a2xx_gpu), GFP_KERNEL); + a2xx_gpu = kzalloc_obj(*a2xx_gpu, GFP_KERNEL); if (!a2xx_gpu) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/adreno/a2xx_gpummu.c b/drivers/gpu/drm/msm/adreno/a2xx_gpummu.c index 0407c9bc8c1b..4e8148497295 100644 --- a/drivers/gpu/drm/msm/adreno/a2xx_gpummu.c +++ b/drivers/gpu/drm/msm/adreno/a2xx_gpummu.c @@ -95,7 +95,7 @@ struct msm_mmu *a2xx_gpummu_new(struct device *dev, struct msm_gpu *gpu) { struct a2xx_gpummu *gpummu; - gpummu = kzalloc(sizeof(*gpummu), GFP_KERNEL); + gpummu = kzalloc_obj(*gpummu, GFP_KERNEL); if (!gpummu) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c index f22d33e99e81..5d47f8c0b7ea 100644 --- a/drivers/gpu/drm/msm/adreno/a3xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a3xx_gpu.c @@ -480,7 +480,7 @@ static void a3xx_dump(struct msm_gpu *gpu) static struct msm_gpu_state *a3xx_gpu_state_get(struct msm_gpu *gpu) { - struct msm_gpu_state *state = kzalloc(sizeof(*state), GFP_KERNEL); + struct msm_gpu_state *state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return ERR_PTR(-ENOMEM); @@ -533,7 +533,7 @@ static struct msm_gpu *a3xx_gpu_init(struct drm_device *dev) goto fail; } - a3xx_gpu = kzalloc(sizeof(*a3xx_gpu), GFP_KERNEL); + a3xx_gpu = kzalloc_obj(*a3xx_gpu, GFP_KERNEL); if (!a3xx_gpu) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/adreno/a4xx_gpu.c b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c index db06c06067ae..e44e45ce0714 100644 --- a/drivers/gpu/drm/msm/adreno/a4xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a4xx_gpu.c @@ -550,7 +550,7 @@ static const unsigned int a405_registers[] = { static struct msm_gpu_state *a4xx_gpu_state_get(struct msm_gpu *gpu) { - struct msm_gpu_state *state = kzalloc(sizeof(*state), GFP_KERNEL); + struct msm_gpu_state *state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return ERR_PTR(-ENOMEM); @@ -645,7 +645,7 @@ static struct msm_gpu *a4xx_gpu_init(struct drm_device *dev) goto fail; } - a4xx_gpu = kzalloc(sizeof(*a4xx_gpu), GFP_KERNEL); + a4xx_gpu = kzalloc_obj(*a4xx_gpu, GFP_KERNEL); if (!a4xx_gpu) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c index 56eaff2ee4e4..66e6b828cb84 100644 --- a/drivers/gpu/drm/msm/adreno/a5xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a5xx_gpu.c @@ -1570,8 +1570,7 @@ static void a5xx_gpu_state_get_hlsq_regs(struct msm_gpu *gpu, static struct msm_gpu_state *a5xx_gpu_state_get(struct msm_gpu *gpu) { - struct a5xx_gpu_state *a5xx_state = kzalloc(sizeof(*a5xx_state), - GFP_KERNEL); + struct a5xx_gpu_state *a5xx_state = kzalloc_obj(*a5xx_state, GFP_KERNEL); bool stalled = !!(gpu_read(gpu, REG_A5XX_RBBM_STATUS3) & BIT(24)); if (!a5xx_state) @@ -1735,7 +1734,7 @@ static struct msm_gpu *a5xx_gpu_init(struct drm_device *dev) unsigned int nr_rings; int ret; - a5xx_gpu = kzalloc(sizeof(*a5xx_gpu), GFP_KERNEL); + a5xx_gpu = kzalloc_obj(*a5xx_gpu, GFP_KERNEL); if (!a5xx_gpu) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c index 2129d230a92b..b8cc33fe7279 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu.c @@ -2648,7 +2648,7 @@ static struct msm_gpu *a6xx_gpu_init(struct drm_device *dev) bool is_a7xx; int ret, nr_rings = 1; - a6xx_gpu = kzalloc(sizeof(*a6xx_gpu), GFP_KERNEL); + a6xx_gpu = kzalloc_obj(*a6xx_gpu, GFP_KERNEL); if (!a6xx_gpu) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c index d2d6b2fd3cba..40933f4d2424 100644 --- a/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c +++ b/drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c @@ -1584,8 +1584,7 @@ struct msm_gpu_state *a6xx_gpu_state_get(struct msm_gpu *gpu) struct a6xx_crashdumper _dumper = { 0 }, *dumper = NULL; struct adreno_gpu *adreno_gpu = to_adreno_gpu(gpu); struct a6xx_gpu *a6xx_gpu = to_a6xx_gpu(adreno_gpu); - struct a6xx_gpu_state *a6xx_state = kzalloc(sizeof(*a6xx_state), - GFP_KERNEL); + struct a6xx_gpu_state *a6xx_state = kzalloc_obj(*a6xx_state, GFP_KERNEL); bool stalled; if (!a6xx_state) diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c index 6bf7c46379ae..39c1165c93a7 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c @@ -887,7 +887,7 @@ static void _dpu_crtc_setup_cp_blocks(struct drm_crtc *crtc) if (!state->gamma_lut) { dspp->ops.setup_gc(dspp, NULL); } else { - gc_lut = kzalloc(sizeof(*gc_lut), GFP_KERNEL); + gc_lut = kzalloc_obj(*gc_lut, GFP_KERNEL); if (!gc_lut) continue; _dpu_crtc_get_gc_lut(state, gc_lut); @@ -1146,7 +1146,7 @@ end: static void dpu_crtc_reset(struct drm_crtc *crtc) { - struct dpu_crtc_state *cstate = kzalloc(sizeof(*cstate), GFP_KERNEL); + struct dpu_crtc_state *cstate = kzalloc_obj(*cstate, GFP_KERNEL); if (crtc->state) dpu_crtc_destroy_state(crtc, crtc->state); @@ -1343,7 +1343,7 @@ static int dpu_crtc_reassign_planes(struct drm_crtc *crtc, struct drm_crtc_state if (!crtc_state->enable) return 0; - states = kcalloc(total_planes, sizeof(*states), GFP_KERNEL); + states = kzalloc_objs(*states, total_planes, GFP_KERNEL); if (!states) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c index 0623f1dbed97..35986cefbf8b 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c @@ -385,7 +385,7 @@ static int dpu_kms_global_obj_init(struct dpu_kms *dpu_kms) { struct dpu_global_state *state; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c index 9b7a8b46bfa9..59c44cce6753 100644 --- a/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c +++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c @@ -1684,7 +1684,7 @@ static void dpu_plane_reset(struct drm_plane *plane) plane->state = NULL; } - pstate = kzalloc(sizeof(*pstate), GFP_KERNEL); + pstate = kzalloc_obj(*pstate, GFP_KERNEL); if (!pstate) { DPU_ERROR_PLANE(pdpu, "failed to allocate state\n"); return; diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c index 373ae7d9bf01..671f9857fbed 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c @@ -1130,8 +1130,8 @@ static void mdp5_crtc_destroy_state(struct drm_crtc *crtc, struct drm_crtc_state static void mdp5_crtc_reset(struct drm_crtc *crtc) { - struct mdp5_crtc_state *mdp5_cstate = - kzalloc(sizeof(*mdp5_cstate), GFP_KERNEL); + struct mdp5_crtc_state *mdp5_cstate = kzalloc_obj(*mdp5_cstate, + GFP_KERNEL); if (crtc->state) mdp5_crtc_destroy_state(crtc, crtc->state); diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c index 61edf6864092..743517e29626 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c @@ -133,7 +133,7 @@ static int mdp5_global_obj_init(struct mdp5_kms *mdp5_kms) { struct mdp5_global_state *state; - state = kzalloc(sizeof(*state), GFP_KERNEL); + state = kzalloc_obj(*state, GFP_KERNEL); if (!state) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c index 4ca183fb61a9..83088fd8f910 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c @@ -89,7 +89,7 @@ static void mdp5_plane_reset(struct drm_plane *plane) kfree(to_mdp5_plane_state(plane->state)); plane->state = NULL; - mdp5_state = kzalloc(sizeof(*mdp5_state), GFP_KERNEL); + mdp5_state = kzalloc_obj(*mdp5_state, GFP_KERNEL); if (!mdp5_state) return; __drm_atomic_helper_plane_reset(plane, &mdp5_state->base); diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.c b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.c index 2be00b11e557..60af5c02973f 100644 --- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot.c +++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot.c @@ -36,7 +36,7 @@ msm_disp_snapshot_state_sync(struct msm_kms *kms) WARN_ON(!mutex_is_locked(&kms->dump_mutex)); - disp_state = kzalloc(sizeof(struct msm_disp_state), GFP_KERNEL); + disp_state = kzalloc_obj(struct msm_disp_state, GFP_KERNEL); if (!disp_state) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c index 19b470968f4d..fdb8ca642794 100644 --- a/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c +++ b/drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c @@ -172,7 +172,7 @@ void msm_disp_snapshot_add_block(struct msm_disp_state *disp_state, u32 len, struct va_format vaf; va_list va; - new_blk = kzalloc(sizeof(struct msm_disp_state_block), GFP_KERNEL); + new_blk = kzalloc_obj(struct msm_disp_state_block, GFP_KERNEL); if (!new_blk) return; diff --git a/drivers/gpu/drm/msm/dp/dp_ctrl.c b/drivers/gpu/drm/msm/dp/dp_ctrl.c index 5fc261191cb7..00c36fa75c5c 100644 --- a/drivers/gpu/drm/msm/dp/dp_ctrl.c +++ b/drivers/gpu/drm/msm/dp/dp_ctrl.c @@ -921,7 +921,7 @@ static void _dp_ctrl_calc_tu(struct msm_dp_ctrl_private *ctrl, uint EXTRA_PIXCLK_CYCLE_DELAY = 4; uint HBLANK_MARGIN = 4; - tu = kzalloc(sizeof(*tu), GFP_KERNEL); + tu = kzalloc_obj(*tu, GFP_KERNEL); if (!tu) return; diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c b/drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c index 0752fe373351..c59c7b4c3ee0 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c @@ -1400,7 +1400,7 @@ struct hdmi_hdcp_ctrl *msm_hdmi_hdcp_init(struct hdmi *hdmi) return ERR_PTR(-EINVAL); } - hdcp_ctrl = kzalloc(sizeof(*hdcp_ctrl), GFP_KERNEL); + hdcp_ctrl = kzalloc_obj(*hdcp_ctrl, GFP_KERNEL); if (!hdcp_ctrl) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c index ebefea4fb408..020b2f432b38 100644 --- a/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c +++ b/drivers/gpu/drm/msm/hdmi/hdmi_i2c.c @@ -246,7 +246,7 @@ struct i2c_adapter *msm_hdmi_i2c_init(struct hdmi *hdmi) struct i2c_adapter *i2c = NULL; int ret; - hdmi_i2c = kzalloc(sizeof(*hdmi_i2c), GFP_KERNEL); + hdmi_i2c = kzalloc_obj(*hdmi_i2c, GFP_KERNEL); if (!hdmi_i2c) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/msm_debugfs.c b/drivers/gpu/drm/msm/msm_debugfs.c index 97dc70876442..785172f5d74f 100644 --- a/drivers/gpu/drm/msm/msm_debugfs.c +++ b/drivers/gpu/drm/msm/msm_debugfs.c @@ -76,7 +76,7 @@ static int msm_gpu_open(struct inode *inode, struct file *file) if (!gpu || !gpu->funcs->gpu_state_get) return -ENODEV; - show_priv = kmalloc(sizeof(*show_priv), GFP_KERNEL); + show_priv = kmalloc_obj(*show_priv, GFP_KERNEL); if (!show_priv) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index ed2a61c66ac9..2fc0fa82a275 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -247,7 +247,7 @@ static int context_init(struct drm_device *dev, struct drm_file *file) static atomic_t ident = ATOMIC_INIT(0); struct msm_context *ctx; - ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); + ctx = kzalloc_obj(*ctx, GFP_KERNEL); if (!ctx) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/msm_fb.c b/drivers/gpu/drm/msm/msm_fb.c index 1eff615ff9bf..d784d1773dee 100644 --- a/drivers/gpu/drm/msm/msm_fb.c +++ b/drivers/gpu/drm/msm/msm_fb.c @@ -194,7 +194,7 @@ static struct drm_framebuffer *msm_framebuffer_init(struct drm_device *dev, goto fail; } - msm_fb = kzalloc(sizeof(*msm_fb), GFP_KERNEL); + msm_fb = kzalloc_obj(*msm_fb, GFP_KERNEL); if (!msm_fb) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/msm_fence.c b/drivers/gpu/drm/msm/msm_fence.c index d41e5a6bbee0..eafd52f03d17 100644 --- a/drivers/gpu/drm/msm/msm_fence.c +++ b/drivers/gpu/drm/msm/msm_fence.c @@ -46,7 +46,7 @@ msm_fence_context_alloc(struct drm_device *dev, volatile uint32_t *fenceptr, struct msm_fence_context *fctx; static int index = 0; - fctx = kzalloc(sizeof(*fctx), GFP_KERNEL); + fctx = kzalloc_obj(*fctx, GFP_KERNEL); if (!fctx) return ERR_PTR(-ENOMEM); @@ -176,7 +176,7 @@ msm_fence_alloc(void) { struct msm_fence *f; - f = kzalloc(sizeof(*f), GFP_KERNEL); + f = kzalloc_obj(*f, GFP_KERNEL); if (!f) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/msm_gem.c b/drivers/gpu/drm/msm/msm_gem.c index da74f1413f94..5d4ab1900984 100644 --- a/drivers/gpu/drm/msm/msm_gem.c +++ b/drivers/gpu/drm/msm/msm_gem.c @@ -1215,7 +1215,7 @@ static int msm_gem_new_impl(struct drm_device *dev, uint32_t flags, return -EINVAL; } - msm_obj = kzalloc(sizeof(*msm_obj), GFP_KERNEL); + msm_obj = kzalloc_obj(*msm_obj, GFP_KERNEL); if (!msm_obj) return -ENOMEM; @@ -1301,7 +1301,7 @@ struct drm_gem_object *msm_gem_import(struct drm_device *dev, msm_obj = to_msm_bo(obj); msm_gem_lock(obj); msm_obj->sgt = sgt; - msm_obj->pages = kvmalloc_array(npages, sizeof(struct page *), GFP_KERNEL); + msm_obj->pages = kvmalloc_objs(struct page *, npages, GFP_KERNEL); if (!msm_obj->pages) { msm_gem_unlock(obj); ret = -ENOMEM; diff --git a/drivers/gpu/drm/msm/msm_gem_vma.c b/drivers/gpu/drm/msm/msm_gem_vma.c index 5fd58d910620..3c43e27ce553 100644 --- a/drivers/gpu/drm/msm/msm_gem_vma.c +++ b/drivers/gpu/drm/msm/msm_gem_vma.c @@ -375,7 +375,7 @@ msm_gem_vma_new(struct drm_gpuvm *gpuvm, struct drm_gem_object *obj, drm_gpuvm_resv_assert_held(&vm->base); - vma = kzalloc(sizeof(*vma), GFP_KERNEL); + vma = kzalloc_obj(*vma, GFP_KERNEL); if (!vma) return ERR_PTR(-ENOMEM); @@ -465,7 +465,7 @@ struct op_arg { static int vm_op_enqueue(struct op_arg *arg, struct msm_vm_op _op) { - struct msm_vm_op *op = kmalloc(sizeof(*op), GFP_KERNEL); + struct msm_vm_op *op = kmalloc_obj(*op, GFP_KERNEL); if (!op) return -ENOMEM; @@ -819,7 +819,7 @@ msm_gem_vm_create(struct drm_device *drm, struct msm_mmu *mmu, const char *name, if (IS_ERR(mmu)) return ERR_CAST(mmu); - vm = kzalloc(sizeof(*vm), GFP_KERNEL); + vm = kzalloc_obj(*vm, GFP_KERNEL); if (!vm) return ERR_PTR(-ENOMEM); @@ -869,8 +869,8 @@ msm_gem_vm_create(struct drm_device *drm, struct msm_mmu *mmu, const char *name, vm->log_shift = MIN(vm_log_shift, 8); if (vm->log_shift) { - vm->log = kmalloc_array(1 << vm->log_shift, sizeof(vm->log[0]), - GFP_KERNEL | __GFP_ZERO); + vm->log = kmalloc_objs(vm->log[0], 1 << vm->log_shift, + GFP_KERNEL | __GFP_ZERO); } return &vm->base; @@ -952,7 +952,7 @@ vm_bind_job_create(struct drm_device *dev, struct drm_file *file, struct msm_vm_bind_job *job; int ret; - job = kzalloc(struct_size(job, ops, nr_ops), GFP_KERNEL | __GFP_NOWARN); + job = kzalloc_flex(*job, ops, nr_ops, GFP_KERNEL | __GFP_NOWARN); if (!job) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 995549d0bbbc..24f164a04f59 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -346,8 +346,7 @@ static void crashstate_get_vm_logs(struct msm_gpu_state *state, struct msm_gem_v state->nr_vm_logs = vm_log_len; } - state->vm_logs = kmalloc_array( - state->nr_vm_logs, sizeof(vm->log[0]), GFP_KERNEL); + state->vm_logs = kmalloc_objs(vm->log[0], state->nr_vm_logs, GFP_KERNEL); if (!state->vm_logs) { state->nr_vm_logs = 0; } diff --git a/drivers/gpu/drm/msm/msm_iommu.c b/drivers/gpu/drm/msm/msm_iommu.c index 271baf4dc4e8..425ae5eb9af3 100644 --- a/drivers/gpu/drm/msm/msm_iommu.c +++ b/drivers/gpu/drm/msm/msm_iommu.c @@ -332,7 +332,7 @@ msm_iommu_pagetable_prealloc_allocate(struct msm_mmu *mmu, struct msm_mmu_preall struct kmem_cache *pt_cache = get_pt_cache(mmu); int ret; - p->pages = kvmalloc_array(p->count, sizeof(*p->pages), GFP_KERNEL); + p->pages = kvmalloc_objs(*p->pages, p->count, GFP_KERNEL); if (!p->pages) return -ENOMEM; @@ -521,7 +521,7 @@ struct msm_mmu *msm_iommu_pagetable_create(struct msm_mmu *parent, bool kernel_m if (WARN_ONCE(!ttbr1_cfg, "No per-process page tables")) return ERR_PTR(-ENODEV); - pagetable = kzalloc(sizeof(*pagetable), GFP_KERNEL); + pagetable = kzalloc_obj(*pagetable, GFP_KERNEL); if (!pagetable) return ERR_PTR(-ENOMEM); @@ -734,7 +734,7 @@ struct msm_mmu *msm_iommu_new(struct device *dev, unsigned long quirks) iommu_set_pgtable_quirks(domain, quirks); - iommu = kzalloc(sizeof(*iommu), GFP_KERNEL); + iommu = kzalloc_obj(*iommu, GFP_KERNEL); if (!iommu) { iommu_domain_free(domain); return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/msm_kms.c b/drivers/gpu/drm/msm/msm_kms.c index 6e5e94f5c9a7..e5d0ea629448 100644 --- a/drivers/gpu/drm/msm/msm_kms.c +++ b/drivers/gpu/drm/msm/msm_kms.c @@ -128,7 +128,7 @@ static int vblank_ctrl_queue_work(struct msm_drm_private *priv, { struct msm_vblank_work *vbl_work; - vbl_work = kzalloc(sizeof(*vbl_work), GFP_ATOMIC); + vbl_work = kzalloc_obj(*vbl_work, GFP_ATOMIC); if (!vbl_work) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/msm_perf.c b/drivers/gpu/drm/msm/msm_perf.c index c369d4acc378..e40f6aa5917d 100644 --- a/drivers/gpu/drm/msm/msm_perf.c +++ b/drivers/gpu/drm/msm/msm_perf.c @@ -204,7 +204,7 @@ int msm_perf_debugfs_init(struct drm_minor *minor) if (priv->perf) return 0; - perf = kzalloc(sizeof(*perf), GFP_KERNEL); + perf = kzalloc_obj(*perf, GFP_KERNEL); if (!perf) return -ENOMEM; diff --git a/drivers/gpu/drm/msm/msm_rd.c b/drivers/gpu/drm/msm/msm_rd.c index 54493a94dcb7..3275ce9a4f07 100644 --- a/drivers/gpu/drm/msm/msm_rd.c +++ b/drivers/gpu/drm/msm/msm_rd.c @@ -245,7 +245,7 @@ static struct msm_rd_state *rd_init(struct drm_minor *minor, const char *name) { struct msm_rd_state *rd; - rd = kzalloc(sizeof(*rd), GFP_KERNEL); + rd = kzalloc_obj(*rd, GFP_KERNEL); if (!rd) return ERR_PTR(-ENOMEM); diff --git a/drivers/gpu/drm/msm/msm_ringbuffer.c b/drivers/gpu/drm/msm/msm_ringbuffer.c index b2f612e5dc79..9540a615b7a9 100644 --- a/drivers/gpu/drm/msm/msm_ringbuffer.c +++ b/drivers/gpu/drm/msm/msm_ringbuffer.c @@ -79,7 +79,7 @@ struct msm_ringbuffer *msm_ringbuffer_new(struct msm_gpu *gpu, int id, /* We assume everywhere that MSM_GPU_RINGBUFFER_SZ is a power of 2 */ BUILD_BUG_ON(!is_power_of_2(MSM_GPU_RINGBUFFER_SZ)); - ring = kzalloc(sizeof(*ring), GFP_KERNEL); + ring = kzalloc_obj(*ring, GFP_KERNEL); if (!ring) { ret = -ENOMEM; goto fail; diff --git a/drivers/gpu/drm/msm/msm_submitqueue.c b/drivers/gpu/drm/msm/msm_submitqueue.c index d53dfad16bde..04e4a2f2a3b0 100644 --- a/drivers/gpu/drm/msm/msm_submitqueue.c +++ b/drivers/gpu/drm/msm/msm_submitqueue.c @@ -151,7 +151,7 @@ get_sched_entity(struct msm_context *ctx, struct msm_ringbuffer *ring, struct drm_gpu_scheduler *sched = &ring->sched; int ret; - entity = kzalloc(sizeof(*ctx->entities[idx]), GFP_KERNEL); + entity = kzalloc_obj(*ctx->entities[idx], GFP_KERNEL); ret = drm_sched_entity_init(entity, sched_prio, &sched, 1, NULL); if (ret) { @@ -207,7 +207,7 @@ int msm_submitqueue_create(struct drm_device *drm, struct msm_context *ctx, if (ret) return ret; - queue = kzalloc(sizeof(*queue), GFP_KERNEL); + queue = kzalloc_obj(*queue, GFP_KERNEL); } if (!queue) diff --git a/drivers/gpu/drm/msm/msm_syncobj.c b/drivers/gpu/drm/msm/msm_syncobj.c index 4baa9f522c54..c67aaf6f7105 100644 --- a/drivers/gpu/drm/msm/msm_syncobj.c +++ b/drivers/gpu/drm/msm/msm_syncobj.c @@ -19,8 +19,8 @@ msm_syncobj_parse_deps(struct drm_device *dev, int ret = 0; uint32_t i, j; - syncobjs = kcalloc(nr_in_syncobjs, sizeof(*syncobjs), - GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); + syncobjs = kzalloc_objs(*syncobjs, nr_in_syncobjs, + GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); if (!syncobjs) return ERR_PTR(-ENOMEM); @@ -94,8 +94,8 @@ msm_syncobj_parse_post_deps(struct drm_device *dev, int ret = 0; uint32_t i, j; - post_deps = kcalloc(nr_syncobjs, sizeof(*post_deps), - GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); + post_deps = kzalloc_objs(*post_deps, nr_syncobjs, + GFP_KERNEL | __GFP_NOWARN | __GFP_NORETRY); if (!post_deps) return ERR_PTR(-ENOMEM); |
