[PATCH] drm: zynqmp_dp: Fix uninitialized variable in debugfs()
Sean Anderson
sean.anderson at linux.dev
Thu May 28 01:00:53 PDT 2026
On 5/28/26 02:18, Dan Carpenter wrote:
> On Wed, May 27, 2026 at 08:31:59PM -0400, Sean Anderson wrote:
>> 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.
>>
>
> It's not an overflow bug, it's an uninitialized variable bug.
>
> The simple_write_to_buffer() is designed to handle partial writes so it
> leaves the first "written" (scare quotes) part of the string as is. But
> in this case, we can't handle a partial write and the first part of
> buf[] is left uninitialized.
>
> https://staticthinking.wordpress.com/2026/05/23/simple_write_to_buffer-is-complicated/
OK, that's a bit strange. Can you add this to the doc comment? I certainly
missed it when looking around for appropriate functions.
And I like the explicit copy_from_user variant better, especially since
we are setting the nul-terminator anyway.
> Also this appears to be dead code since fops_zynqmp_dp_pattern is never
> used.
It's of course used in zynqmp_dp_bridge_debugfs_init.
--Sean
More information about the linux-arm-kernel
mailing list