Re: [PATCH v3 1/5] drm/msm/dpu: don't allow overriding data from catalog

2024-03-19 Thread Abhinav Kumar




On 3/13/2024 6:10 PM, Dmitry Baryshkov wrote:

The data from catalog is marked as const, so it is a part of the RO
segment. Allowing userspace to write to it through debugfs can cause
protection faults. Set debugfs file mode to read-only for debug entries
corresponding to perf_cfg coming from catalog.

Fixes: abda0d925f9c ("drm/msm/dpu: Mark various data tables as const")
Signed-off-by: Dmitry Baryshkov 
---
  drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 10 +-
  1 file changed, 5 insertions(+), 5 deletions(-)



Thanks for the fix,

Reviewed-by: Abhinav Kumar 



[PATCH v3 1/5] drm/msm/dpu: don't allow overriding data from catalog

2024-03-13 Thread Dmitry Baryshkov
The data from catalog is marked as const, so it is a part of the RO
segment. Allowing userspace to write to it through debugfs can cause
protection faults. Set debugfs file mode to read-only for debug entries
corresponding to perf_cfg coming from catalog.

Fixes: abda0d925f9c ("drm/msm/dpu: Mark various data tables as const")
Signed-off-by: Dmitry Baryshkov 
---
 drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c | 10 +-
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c 
b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
index ef871239adb2..68fae048a9a8 100644
--- a/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
+++ b/drivers/gpu/drm/msm/disp/dpu1/dpu_core_perf.c
@@ -459,15 +459,15 @@ int dpu_core_perf_debugfs_init(struct dpu_kms *dpu_kms, 
struct dentry *parent)
>core_clk_rate);
debugfs_create_u32("enable_bw_release", 0600, entry,
(u32 *)>enable_bw_release);
-   debugfs_create_u32("threshold_low", 0600, entry,
+   debugfs_create_u32("threshold_low", 0400, entry,
(u32 *)>perf_cfg->max_bw_low);
-   debugfs_create_u32("threshold_high", 0600, entry,
+   debugfs_create_u32("threshold_high", 0400, entry,
(u32 *)>perf_cfg->max_bw_high);
-   debugfs_create_u32("min_core_ib", 0600, entry,
+   debugfs_create_u32("min_core_ib", 0400, entry,
(u32 *)>perf_cfg->min_core_ib);
-   debugfs_create_u32("min_llcc_ib", 0600, entry,
+   debugfs_create_u32("min_llcc_ib", 0400, entry,
(u32 *)>perf_cfg->min_llcc_ib);
-   debugfs_create_u32("min_dram_ib", 0600, entry,
+   debugfs_create_u32("min_dram_ib", 0400, entry,
(u32 *)>perf_cfg->min_dram_ib);
debugfs_create_file("perf_mode", 0600, entry,
(u32 *)perf, _core_perf_mode_fops);

-- 
2.39.2