Hi,

On Fri, 13 Oct 2017 10:01:22 +0300
Dan Carpenter <dan.carpen...@oracle.com> wrote:

> It doesn't cause a run-time bug, but these bitfields should be unsigned.
> When it's signed ->dl_throttled is set to either 0 or -1, instead of
> 0 and 1 as expected.  The sched.h file is included into tons of places
> so Sparse generates a flood of warnings like this:
> 
> ./include/linux/sched.h:477:54: error: dubious one-bit signed bitfield
> 
> Signed-off-by: Dan Carpenter <dan.carpen...@oracle.com>

I did not notice any issue when testing, but if "unsigned int" is the
common practice for bitfields, I agree with the change.

Reviewed-by: Luca Abeni <luca.ab...@santannapisa.it>


                        Thanks,
                                Luca
> 
> diff --git a/include/linux/sched.h b/include/linux/sched.h
> index 0f897dfc195e..105eaff8a5e7 100644
> --- a/include/linux/sched.h
> +++ b/include/linux/sched.h
> @@ -474,10 +474,10 @@ struct sched_dl_entity {
>        * conditions between the inactive timer handler and the wakeup
>        * code.
>        */
> -     int                             dl_throttled      : 1;
> -     int                             dl_boosted        : 1;
> -     int                             dl_yielded        : 1;
> -     int                             dl_non_contending : 1;
> +     unsigned int                    dl_throttled      : 1;
> +     unsigned int                    dl_boosted        : 1;
> +     unsigned int                    dl_yielded        : 1;
> +     unsigned int                    dl_non_contending : 1;
>  
>       /*
>        * Bandwidth enforcement timer. Each -deadline task has its

Reply via email to