On 5/25/26 03:16, Dan Carpenter wrote:
If the *ppos is non-zero then simple_write_to_buffer() will not initialize the start of the buf[] buffer. It doesn't really make sense to allow non-zero values for *ppos, so check for that at the start and return -EINVAL.
non-zero ppos seems to be handled properly by simple_write_to_buffer. --Sean
Fixes: 28edaacb821c ("drm: zynqmp_dp: Add debugfs interface for compliance testing") Signed-off-by: Dan Carpenter <[email protected]> --- drivers/gpu/drm/xlnx/zynqmp_dp.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/drivers/gpu/drm/xlnx/zynqmp_dp.c b/drivers/gpu/drm/xlnx/zynqmp_dp.c index 7fb11b0a44f0..847179476041 100644 --- a/drivers/gpu/drm/xlnx/zynqmp_dp.c +++ b/drivers/gpu/drm/xlnx/zynqmp_dp.c @@ -1888,6 +1888,9 @@ static ssize_t zynqmp_dp_pattern_write(struct file *file, ssize_t ret; int pattern;+ if (*ppos != 0)+ return -EINVAL; + ret = simple_write_to_buffer(buf, sizeof(buf) - 1, ppos, user_buf, count); if (ret < 0) @@ -2028,6 +2031,9 @@ static ssize_t zynqmp_dp_custom_write(struct file *file, ssize_t ret; char buf[sizeof(dp->test.custom)];+ if (*ppos != 0)+ return -EINVAL; + ret = simple_write_to_buffer(buf, sizeof(buf), ppos, user_buf, count); if (ret < 0) return ret;
