Re: [PATCH] IB/core: Fix bit curruption in ib_device_cap_flags structure

Greg KH
2016-06-02T16:52:26Z

On Thu, Jun 02, 2016 at 09:41:03AM -0700, Bart Van Assche wrote:
> On 06/02/2016 09:24 AM, Greg KH wrote:
> > On Thu, Jun 02, 2016 at 12:28:05PM +0300, Max Gurtovoy wrote:
> > > diff --git a/include/rdma/ib_verbs.h b/include/rdma/ib_verbs.h
> > > index 432bed5..c97357b 100644
> > > --- a/include/rdma/ib_verbs.h
> > > +++ b/include/rdma/ib_verbs.h
> > > @@ -217,7 +217,7 @@ enum ib_device_cap_flags {
> > > IB_DEVICE_CROSS_CHANNEL = (1 << 27),
> > > IB_DEVICE_MANAGED_FLOW_STEERING = (1 << 29),
> > > IB_DEVICE_SIGNATURE_HANDOVER = (1 << 30),
> > > - IB_DEVICE_ON_DEMAND_PAGING = (1 << 31),
> > > + IB_DEVICE_ON_DEMAND_PAGING = (1ULL << 31),
> > > IB_DEVICE_SG_GAPS_REG = (1ULL << 32),
> > > IB_DEVICE_VIRTUAL_FUNCTION = ((u64)1 << 33),
> > > IB_DEVICE_RAW_SCATTER_FCS = ((u64)1 << 34),
> >
> > Why not just use the BIT() and BIT_ULL() macros instead of "open coding"
> > these?
>
> Hi Greg,
>
> Are you sure that these macros are useful?

Yes.

> My personal opinion is that these macros makes code harder to read
> instead of easier. I'd like to see these macros disappear.

Sorry but we are converting the whole kernel to use them, I suggest you
get used to them :)

greg k-h