Re: [PATCH] unwind: Fix signedness bug in unwind_deferred_request()
From: Steven Rostedt
Date: Wed Nov 19 2025 - 09:25:02 EST
On Wed, 19 Nov 2025 11:10:43 +0300
Dan Carpenter <dan.carpenter@xxxxxxxxxx> wrote:
> The "bit" value comes from "work->bit". It is set to -1 if we cancel
> the work in unwind_deferred_cancel(). It needs to be signed because
> we check for negative values. Change the type from unsigned long to int.
>
> Fixes: 357eda2d7450 ("unwind deferred: Use SRCU unwind_deferred_task_work()")
> Signed-off-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
> ---
> kernel/unwind/deferred.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/kernel/unwind/deferred.c b/kernel/unwind/deferred.c
> index a88fb481c4a3..8dc11e0d9374 100644
> --- a/kernel/unwind/deferred.c
> +++ b/kernel/unwind/deferred.c
> @@ -232,8 +232,7 @@ int unwind_deferred_request(struct unwind_work *work, u64 *cookie)
> struct unwind_task_info *info = ¤t->unwind_info;
> int twa_mode = TWA_RESUME;
> unsigned long old, bits;
> - unsigned long bit;
> - int ret;
> + int bit, ret;
I'm fine with the change to bit, but please do not put them on the same
row. I only do that when the values are related. bit and ret are *not*
related.
Thanks,
-- Steve
>
> *cookie = 0;
>