Re: [PATCH] include/log2.h: Fix rounddown_pow_of_two(1)

From: Andrei Warkentin
Date: Mon Nov 14 2011 - 16:17:14 EST


----- Original Message -----
> From: "Jesper Juhl" <jj@xxxxxxxxxxxxx>
> To: "Andrei Warkentin" <andreiw@xxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Sent: Tuesday, November 8, 2011 2:57:27 PM
> Subject: Re: [PATCH] include/log2.h: Fix rounddown_pow_of_two(1)
>
> On Tue, 8 Nov 2011, Andrei Warkentin wrote:
>
> > 1 is a power of two, therefore rounddown_pow_of_two(1) should
> > return 1. It does
> > in case the argument is a variable but in case it's a constant it
> > behaves
> > wrong and returns 0. Probably nobody ever did it so this was never
> > noticed,
> > however net/drivers/vmxnet3 with latest GCC does and breaks on
> > unicpu systems.
> >
> > Signed-off-by: Andrei Warkentin <andreiw@xxxxxxxxxx>
> > ---
> > include/linux/log2.h | 2 +-
> > 1 files changed, 1 insertions(+), 1 deletions(-)
> >
> > diff --git a/include/linux/log2.h b/include/linux/log2.h
> > index 25b8086..ccda848 100644
> > --- a/include/linux/log2.h
> > +++ b/include/linux/log2.h
> > @@ -185,7 +185,7 @@ unsigned long __rounddown_pow_of_two(unsigned
> > long n)
> > #define rounddown_pow_of_two(n) \
> > ( \
> > __builtin_constant_p(n) ? ( \
> > - (n == 1) ? 0 : \
> > + (n == 1) ? 1 : \
> > (1UL << ilog2(n))) : \
> > __rounddown_pow_of_two(n) \
> > )
> >
>
> For what it's worth; looks good to me.

Is that an Acked-by or a Reviewed-by?

Thanks,
A
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/