summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/msm
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 /drivers/gpu/drm/msm
parentd39a1d7486d98668dd34aaa6732aad7977c45f5a (diff)
downloadlwn-69050f8d6d075dc01af7a5f2f550a8067510366f.tar.gz
lwn-69050f8d6d075dc01af7a5f2f550a8067510366f.zip
treewide: Replace kmalloc with kmalloc_obj for non-scalar types
This is the result of running the Coccinelle script from scripts/coccinelle/api/kmalloc_objs.cocci. The script is designed to avoid scalar types (which need careful case-by-case checking), and instead replace kmalloc-family calls that allocate struct or union object instances: Single allocations: kmalloc(sizeof(TYPE), ...) are replaced with: kmalloc_obj(TYPE, ...) Array allocations: kmalloc_array(COUNT, sizeof(TYPE), ...) are replaced with: kmalloc_objs(TYPE, COUNT, ...) Flex array allocations: kmalloc(struct_size(PTR, FAM, COUNT), ...) are replaced with: kmalloc_flex(*PTR, FAM, COUNT, ...) (where TYPE may also be *VAR) The resulting allocations no longer return "void *", instead returning "TYPE *". Signed-off-by: Kees Cook <kees@kernel.org>
Diffstat (limited to 'drivers/gpu/drm/msm')
-rw-r--r--drivers/gpu/drm/msm/adreno/a2xx_gpu.c4
-rw-r--r--drivers/gpu/drm/msm/adreno/a2xx_gpummu.c2
-rw-r--r--drivers/gpu/drm/msm/adreno/a3xx_gpu.c4
-rw-r--r--drivers/gpu/drm/msm/adreno/a4xx_gpu.c4
-rw-r--r--drivers/gpu/drm/msm/adreno/a5xx_gpu.c5
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gpu.c2
-rw-r--r--drivers/gpu/drm/msm/adreno/a6xx_gpu_state.c3
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_crtc.c6
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c2
-rw-r--r--drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c2
-rw-r--r--drivers/gpu/drm/msm/disp/mdp5/mdp5_crtc.c4
-rw-r--r--drivers/gpu/drm/msm/disp/mdp5/mdp5_kms.c2
-rw-r--r--drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c2
-rw-r--r--drivers/gpu/drm/msm/disp/msm_disp_snapshot.c2
-rw-r--r--drivers/gpu/drm/msm/disp/msm_disp_snapshot_util.c2
-rw-r--r--drivers/gpu/drm/msm/dp/dp_ctrl.c2
-rw-r--r--drivers/gpu/drm/msm/hdmi/hdmi_hdcp.c2
-rw-r--r--drivers/gpu/drm/msm/hdmi/hdmi_i2c.c2
-rw-r--r--drivers/gpu/drm/msm/msm_debugfs.c2
-rw-r--r--drivers/gpu/drm/msm/msm_drv.c2
-rw-r--r--drivers/gpu/drm/msm/msm_fb.c2
-rw-r--r--drivers/gpu/drm/msm/msm_fence.c4
-rw-r--r--drivers/gpu/drm/msm/msm_gem.c4
-rw-r--r--drivers/gpu/drm/msm/msm_gem_vma.c12
-rw-r--r--drivers/gpu/drm/msm/msm_gpu.c3
-rw-r--r--drivers/gpu/drm/msm/msm_iommu.c6
-rw-r--r--drivers/gpu/drm/msm/msm_kms.c2
-rw-r--r--drivers/gpu/drm/msm/msm_perf.c2
-rw-r--r--drivers/gpu/drm/msm/msm_rd.c2
-rw-r--r--drivers/gpu/drm/msm/msm_ringbuffer.c2
-rw-r--r--drivers/gpu/drm/msm/msm_submitqueue.c4
-rw-r--r--drivers/gpu/drm/msm/msm_syncobj.c8
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);