summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/vkms
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/vkms
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 'drivers/gpu/drm/vkms')
-rw-r--r--drivers/gpu/drm/vkms/vkms_colorop.c8
-rw-r--r--drivers/gpu/drm/vkms/vkms_config.c10
-rw-r--r--drivers/gpu/drm/vkms/vkms_configfs.c2
-rw-r--r--drivers/gpu/drm/vkms/vkms_crtc.c9
-rw-r--r--drivers/gpu/drm/vkms/vkms_plane.c6
-rw-r--r--drivers/gpu/drm/vkms/vkms_writeback.c2
6 files changed, 19 insertions, 18 deletions
diff --git a/drivers/gpu/drm/vkms/vkms_colorop.c b/drivers/gpu/drm/vkms/vkms_colorop.c
index d03a1f2e9c41..8aeea73de617 100644
--- a/drivers/gpu/drm/vkms/vkms_colorop.c
+++ b/drivers/gpu/drm/vkms/vkms_colorop.c
@@ -24,7 +24,7 @@ static int vkms_initialize_color_pipeline(struct drm_plane *plane, struct drm_pr
memset(ops, 0, sizeof(ops));
/* 1st op: 1d curve */
- ops[i] = kzalloc(sizeof(*ops[i]), GFP_KERNEL);
+ ops[i] = kzalloc_obj(*ops[i], GFP_KERNEL);
if (!ops[i]) {
drm_err(dev, "KMS: Failed to allocate colorop\n");
ret = -ENOMEM;
@@ -41,7 +41,7 @@ static int vkms_initialize_color_pipeline(struct drm_plane *plane, struct drm_pr
i++;
/* 2nd op: 3x4 matrix */
- ops[i] = kzalloc(sizeof(*ops[i]), GFP_KERNEL);
+ ops[i] = kzalloc_obj(*ops[i], GFP_KERNEL);
if (!ops[i]) {
drm_err(dev, "KMS: Failed to allocate colorop\n");
ret = -ENOMEM;
@@ -57,7 +57,7 @@ static int vkms_initialize_color_pipeline(struct drm_plane *plane, struct drm_pr
i++;
/* 3rd op: 3x4 matrix */
- ops[i] = kzalloc(sizeof(*ops[i]), GFP_KERNEL);
+ ops[i] = kzalloc_obj(*ops[i], GFP_KERNEL);
if (!ops[i]) {
drm_err(dev, "KMS: Failed to allocate colorop\n");
ret = -ENOMEM;
@@ -73,7 +73,7 @@ static int vkms_initialize_color_pipeline(struct drm_plane *plane, struct drm_pr
i++;
/* 4th op: 1d curve */
- ops[i] = kzalloc(sizeof(*ops[i]), GFP_KERNEL);
+ ops[i] = kzalloc_obj(*ops[i], GFP_KERNEL);
if (!ops[i]) {
drm_err(dev, "KMS: Failed to allocate colorop\n");
ret = -ENOMEM;
diff --git a/drivers/gpu/drm/vkms/vkms_config.c b/drivers/gpu/drm/vkms/vkms_config.c
index 8788df9edb7c..8447b654e229 100644
--- a/drivers/gpu/drm/vkms/vkms_config.c
+++ b/drivers/gpu/drm/vkms/vkms_config.c
@@ -12,7 +12,7 @@ struct vkms_config *vkms_config_create(const char *dev_name)
{
struct vkms_config *config;
- config = kzalloc(sizeof(*config), GFP_KERNEL);
+ config = kzalloc_obj(*config, GFP_KERNEL);
if (!config)
return ERR_PTR(-ENOMEM);
@@ -388,7 +388,7 @@ struct vkms_config_plane *vkms_config_create_plane(struct vkms_config *config)
{
struct vkms_config_plane *plane_cfg;
- plane_cfg = kzalloc(sizeof(*plane_cfg), GFP_KERNEL);
+ plane_cfg = kzalloc_obj(*plane_cfg, GFP_KERNEL);
if (!plane_cfg)
return ERR_PTR(-ENOMEM);
@@ -448,7 +448,7 @@ struct vkms_config_crtc *vkms_config_create_crtc(struct vkms_config *config)
{
struct vkms_config_crtc *crtc_cfg;
- crtc_cfg = kzalloc(sizeof(*crtc_cfg), GFP_KERNEL);
+ crtc_cfg = kzalloc_obj(*crtc_cfg, GFP_KERNEL);
if (!crtc_cfg)
return ERR_PTR(-ENOMEM);
@@ -527,7 +527,7 @@ struct vkms_config_encoder *vkms_config_create_encoder(struct vkms_config *confi
{
struct vkms_config_encoder *encoder_cfg;
- encoder_cfg = kzalloc(sizeof(*encoder_cfg), GFP_KERNEL);
+ encoder_cfg = kzalloc_obj(*encoder_cfg, GFP_KERNEL);
if (!encoder_cfg)
return ERR_PTR(-ENOMEM);
@@ -591,7 +591,7 @@ struct vkms_config_connector *vkms_config_create_connector(struct vkms_config *c
{
struct vkms_config_connector *connector_cfg;
- connector_cfg = kzalloc(sizeof(*connector_cfg), GFP_KERNEL);
+ connector_cfg = kzalloc_obj(*connector_cfg, GFP_KERNEL);
if (!connector_cfg)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/gpu/drm/vkms/vkms_configfs.c b/drivers/gpu/drm/vkms/vkms_configfs.c
index 506666e21c91..f6471ee9a58c 100644
--- a/drivers/gpu/drm/vkms/vkms_configfs.c
+++ b/drivers/gpu/drm/vkms/vkms_configfs.c
@@ -769,7 +769,7 @@ static struct config_group *make_device_group(struct config_group *group,
if (strcmp(name, DEFAULT_DEVICE_NAME) == 0)
return ERR_PTR(-EINVAL);
- dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+ dev = kzalloc_obj(*dev, GFP_KERNEL);
if (!dev)
return ERR_PTR(-ENOMEM);
diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c
index 9a7db1d51022..f5b99ebb37e3 100644
--- a/drivers/gpu/drm/vkms/vkms_crtc.c
+++ b/drivers/gpu/drm/vkms/vkms_crtc.c
@@ -62,7 +62,7 @@ vkms_atomic_crtc_duplicate_state(struct drm_crtc *crtc)
if (WARN_ON(!crtc->state))
return NULL;
- vkms_state = kzalloc(sizeof(*vkms_state), GFP_KERNEL);
+ vkms_state = kzalloc_obj(*vkms_state, GFP_KERNEL);
if (!vkms_state)
return NULL;
@@ -87,8 +87,8 @@ static void vkms_atomic_crtc_destroy_state(struct drm_crtc *crtc,
static void vkms_atomic_crtc_reset(struct drm_crtc *crtc)
{
- struct vkms_crtc_state *vkms_state =
- kzalloc(sizeof(*vkms_state), GFP_KERNEL);
+ struct vkms_crtc_state *vkms_state = kzalloc_obj(*vkms_state,
+ GFP_KERNEL);
if (crtc->state)
vkms_atomic_crtc_destroy_state(crtc, crtc->state);
@@ -137,7 +137,8 @@ static int vkms_crtc_atomic_check(struct drm_crtc *crtc,
i++;
}
- vkms_state->active_planes = kcalloc(i, sizeof(*vkms_state->active_planes), GFP_KERNEL);
+ vkms_state->active_planes = kzalloc_objs(*vkms_state->active_planes, i,
+ GFP_KERNEL);
if (!vkms_state->active_planes)
return -ENOMEM;
vkms_state->num_active_planes = i;
diff --git a/drivers/gpu/drm/vkms/vkms_plane.c b/drivers/gpu/drm/vkms/vkms_plane.c
index 19fe6acad306..73d3c4af7743 100644
--- a/drivers/gpu/drm/vkms/vkms_plane.c
+++ b/drivers/gpu/drm/vkms/vkms_plane.c
@@ -56,11 +56,11 @@ vkms_plane_duplicate_state(struct drm_plane *plane)
struct vkms_plane_state *vkms_state;
struct vkms_frame_info *frame_info;
- vkms_state = kzalloc(sizeof(*vkms_state), GFP_KERNEL);
+ vkms_state = kzalloc_obj(*vkms_state, GFP_KERNEL);
if (!vkms_state)
return NULL;
- frame_info = kzalloc(sizeof(*frame_info), GFP_KERNEL);
+ frame_info = kzalloc_obj(*frame_info, GFP_KERNEL);
if (!frame_info) {
DRM_DEBUG_KMS("Couldn't allocate frame_info\n");
kfree(vkms_state);
@@ -104,7 +104,7 @@ static void vkms_plane_reset(struct drm_plane *plane)
plane->state = NULL; /* must be set to NULL here */
}
- vkms_state = kzalloc(sizeof(*vkms_state), GFP_KERNEL);
+ vkms_state = kzalloc_obj(*vkms_state, GFP_KERNEL);
if (!vkms_state) {
DRM_ERROR("Cannot allocate vkms_plane_state\n");
return;
diff --git a/drivers/gpu/drm/vkms/vkms_writeback.c b/drivers/gpu/drm/vkms/vkms_writeback.c
index 097ae1f0a230..1cd760f75779 100644
--- a/drivers/gpu/drm/vkms/vkms_writeback.c
+++ b/drivers/gpu/drm/vkms/vkms_writeback.c
@@ -81,7 +81,7 @@ static int vkms_wb_prepare_job(struct drm_writeback_connector *wb_connector,
if (!job->fb)
return 0;
- vkmsjob = kzalloc(sizeof(*vkmsjob), GFP_KERNEL);
+ vkmsjob = kzalloc_obj(*vkmsjob, GFP_KERNEL);
if (!vkmsjob)
return -ENOMEM;