kernel/unwind/deferred.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
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@linaro.org>
---
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;
*cookie = 0;
--
2.51.0
On Wed, 19 Nov 2025 11:10:43 +0300
Dan Carpenter <dan.carpenter@linaro.org> 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@linaro.org>
> ---
> 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;
>
On Wed, Nov 19, 2025 at 09:24:58AM -0500, Steven Rostedt wrote:
> On Wed, 19 Nov 2025 11:10:43 +0300
> Dan Carpenter <dan.carpenter@linaro.org> 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@linaro.org>
> > ---
> > 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.
Sure, I've sent a v2.
regards,
dan carpenter
© 2016 - 2025 Red Hat, Inc.