[PATCH] drm/xe/debugfs: fixed the return value of wedged_mode_set
Rodrigo Vivi
rodrigo.vivi at intel.com
Thu Feb 13 23:13:12 UTC 2025
On Fri, Feb 14, 2025 at 06:36:15AM +0800, Xin Wang wrote:
> It is generally expected that the write() function should return a
> positive value indicating the number of bytes written or a negative
> error code if an error occurs. Returning 0 is unusual and can lead
> to unexpected behavior.
>
> When the user program writes the same value to wedged_mode twice in
> a row, a lockup will occur, because the value expected to be
> returned by the write() function inside the program should be equal
> to the actual written value instead of 0.
>
> To reproduce the issue:
> echo 1 > /sys/kernel/debug/dri/0/wedged_mode
> echo 1 > /sys/kernel/debug/dri/0/wedged_mode <- lockup here
>
> Signed-off-by: Xin Wang <x.wang at intel.com>
> Cc: Rodrigo Vivi <rodrigo.vivi at intel.com>
> Cc: Fei Yang <fei.yang at intel.com>
> Cc: Shuicheng Lin <shuicheng.lin at intel.com>
> ---
> drivers/gpu/drm/xe/xe_debugfs.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/xe/xe_debugfs.c b/drivers/gpu/drm/xe/xe_debugfs.c
> index 56cb3788e752..b46075edf60a 100644
> --- a/drivers/gpu/drm/xe/xe_debugfs.c
> +++ b/drivers/gpu/drm/xe/xe_debugfs.c
> @@ -167,7 +167,7 @@ static ssize_t wedged_mode_set(struct file *f, const char __user *ubuf,
> return -EINVAL;
>
> if (xe->wedged.mode == wedged_mode)
> - return 0;
> + return size;
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
>
> xe->wedged.mode = wedged_mode;
>
> --
> 2.43.0
>
More information about the Intel-xe
mailing list