Skip to content

Commit 49c2e01

Browse files
arndblumag
authored andcommitted
drm/msm: fix -Wformat-security warnings
Passing a variable string as a printf style format is potentially dangerous that -Wformat-security can warn about if enabled. A new instance just got added: drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c: In function 'dpu_kms_mdp_snapshot': drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c:1046:49: error: format not a string literal and no format arguments [-Werror=format-security] 1046 | vbif->name); | ~~~~^~~~~~ Fix this one and the preexisting -Wformat-security warnings the in the DRM code for snapdragon. Fixes: 1a40bb3 ("drm/msm/dpu: Add VBIF to DPU snapshot") # and others Signed-off-by: Arnd Bergmann <arnd@arndb.de> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org> Reviewed-by: Abhinav Kumar <quic_abhinavk@quicinc.com> Patchwork: https://patchwork.freedesktop.org/patch/629126/ Link: https://lore.kernel.org/r/20241216083319.1838449-1-arnd@kernel.org Signed-off-by: Dmitry Baryshkov <dmitry.baryshkov@linaro.org>
1 parent 3a7a4be commit 49c2e01

2 files changed

Lines changed: 19 additions & 11 deletions

File tree

drivers/gpu/drm/msm/adreno/a6xx_gmu.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1265,7 +1265,7 @@ static int a6xx_gmu_memory_alloc(struct a6xx_gmu *gmu, struct a6xx_gmu_bo *bo,
12651265
bo->virt = msm_gem_get_vaddr(bo->obj);
12661266
bo->size = size;
12671267

1268-
msm_gem_object_set_name(bo->obj, name);
1268+
msm_gem_object_set_name(bo->obj, "%s", name);
12691269

12701270
return 0;
12711271
}

drivers/gpu/drm/msm/disp/dpu1/dpu_kms.c

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -938,12 +938,14 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
938938
/* dump CTL sub-blocks HW regs info */
939939
for (i = 0; i < cat->ctl_count; i++)
940940
msm_disp_snapshot_add_block(disp_state, cat->ctl[i].len,
941-
dpu_kms->mmio + cat->ctl[i].base, cat->ctl[i].name);
941+
dpu_kms->mmio + cat->ctl[i].base, "%s",
942+
cat->ctl[i].name);
942943

943944
/* dump DSPP sub-blocks HW regs info */
944945
for (i = 0; i < cat->dspp_count; i++) {
945946
base = dpu_kms->mmio + cat->dspp[i].base;
946-
msm_disp_snapshot_add_block(disp_state, cat->dspp[i].len, base, cat->dspp[i].name);
947+
msm_disp_snapshot_add_block(disp_state, cat->dspp[i].len, base,
948+
"%s", cat->dspp[i].name);
947949

948950
if (cat->dspp[i].sblk && cat->dspp[i].sblk->pcc.len > 0)
949951
msm_disp_snapshot_add_block(disp_state, cat->dspp[i].sblk->pcc.len,
@@ -955,13 +957,14 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
955957
/* dump INTF sub-blocks HW regs info */
956958
for (i = 0; i < cat->intf_count; i++)
957959
msm_disp_snapshot_add_block(disp_state, cat->intf[i].len,
958-
dpu_kms->mmio + cat->intf[i].base, cat->intf[i].name);
960+
dpu_kms->mmio + cat->intf[i].base, "%s",
961+
cat->intf[i].name);
959962

960963
/* dump PP sub-blocks HW regs info */
961964
for (i = 0; i < cat->pingpong_count; i++) {
962965
base = dpu_kms->mmio + cat->pingpong[i].base;
963966
msm_disp_snapshot_add_block(disp_state, cat->pingpong[i].len, base,
964-
cat->pingpong[i].name);
967+
"%s", cat->pingpong[i].name);
965968

966969
/* TE2 sub-block has length of 0, so will not print it */
967970

@@ -975,7 +978,8 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
975978
/* dump SSPP sub-blocks HW regs info */
976979
for (i = 0; i < cat->sspp_count; i++) {
977980
base = dpu_kms->mmio + cat->sspp[i].base;
978-
msm_disp_snapshot_add_block(disp_state, cat->sspp[i].len, base, cat->sspp[i].name);
981+
msm_disp_snapshot_add_block(disp_state, cat->sspp[i].len, base,
982+
"%s", cat->sspp[i].name);
979983

980984
if (cat->sspp[i].sblk && cat->sspp[i].sblk->scaler_blk.len > 0)
981985
msm_disp_snapshot_add_block(disp_state, cat->sspp[i].sblk->scaler_blk.len,
@@ -993,12 +997,14 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
993997
/* dump LM sub-blocks HW regs info */
994998
for (i = 0; i < cat->mixer_count; i++)
995999
msm_disp_snapshot_add_block(disp_state, cat->mixer[i].len,
996-
dpu_kms->mmio + cat->mixer[i].base, cat->mixer[i].name);
1000+
dpu_kms->mmio + cat->mixer[i].base,
1001+
"%s", cat->mixer[i].name);
9971002

9981003
/* dump WB sub-blocks HW regs info */
9991004
for (i = 0; i < cat->wb_count; i++)
10001005
msm_disp_snapshot_add_block(disp_state, cat->wb[i].len,
1001-
dpu_kms->mmio + cat->wb[i].base, cat->wb[i].name);
1006+
dpu_kms->mmio + cat->wb[i].base, "%s",
1007+
cat->wb[i].name);
10021008

10031009
if (cat->mdp[0].features & BIT(DPU_MDP_PERIPH_0_REMOVED)) {
10041010
msm_disp_snapshot_add_block(disp_state, MDP_PERIPH_TOP0,
@@ -1013,7 +1019,8 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
10131019
/* dump DSC sub-blocks HW regs info */
10141020
for (i = 0; i < cat->dsc_count; i++) {
10151021
base = dpu_kms->mmio + cat->dsc[i].base;
1016-
msm_disp_snapshot_add_block(disp_state, cat->dsc[i].len, base, cat->dsc[i].name);
1022+
msm_disp_snapshot_add_block(disp_state, cat->dsc[i].len, base,
1023+
"%s", cat->dsc[i].name);
10171024

10181025
if (cat->dsc[i].features & BIT(DPU_DSC_HW_REV_1_2)) {
10191026
struct dpu_dsc_blk enc = cat->dsc[i].sblk->enc;
@@ -1028,14 +1035,15 @@ static void dpu_kms_mdp_snapshot(struct msm_disp_state *disp_state, struct msm_k
10281035

10291036
if (cat->cdm)
10301037
msm_disp_snapshot_add_block(disp_state, cat->cdm->len,
1031-
dpu_kms->mmio + cat->cdm->base, cat->cdm->name);
1038+
dpu_kms->mmio + cat->cdm->base,
1039+
"%s", cat->cdm->name);
10321040

10331041
for (i = 0; i < dpu_kms->catalog->vbif_count; i++) {
10341042
const struct dpu_vbif_cfg *vbif = &dpu_kms->catalog->vbif[i];
10351043

10361044
msm_disp_snapshot_add_block(disp_state, vbif->len,
10371045
dpu_kms->vbif[vbif->id] + vbif->base,
1038-
vbif->name);
1046+
"%s", vbif->name);
10391047
}
10401048

10411049
pm_runtime_put_sync(&dpu_kms->pdev->dev);

0 commit comments

Comments
 (0)