On Tue, Feb 12, 2019 at 09:47:39AM -0800, Linus Torvalds wrote:
> On Tue, Feb 12, 2019 at 9:15 AM Frederic Weisbecker <[email protected]> 
> wrote:
> >
> >
> > +static int save_trace_mask(struct lock_class *class, u64 mask)
> > +{
> > +       int bit = 0;
> > +
> > +       while (mask) {
> > +               long fs = __ffs64(mask) + 1;
> > +
> > +               mask >>= fs;
> > +               bit += fs;
> 
> Same buggy pattern of "ffs+1" and overflow of shift count.

You're right and there are more. I'll unify all that around
a safe iterator.

Thanks.

Reply via email to