Re: [PATCH v2 1/2] linux/types.h: Remove unnecessary __bitwise__

From: Bjorn Helgaas
Date: Wed May 25 2022 - 10:34:16 EST


On Wed, May 25, 2022 at 08:51:29AM +0200, Jiri Slaby wrote:
> On 15. 03. 22, 16:30, Bjorn Helgaas wrote:
> > From: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> >
> > There are no users of "__bitwise__" except the definition of "__bitwise".
> > Remove __bitwise__ and define __bitwise directly.
> >
> > This is a follow-up to 05de97003c77 ("linux/types.h: enable endian checks
> > for all sparse builds").
> >
> > Signed-off-by: Bjorn Helgaas <bhelgaas@xxxxxxxxxx>
> > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx>
> > ---
> > include/uapi/linux/types.h | 5 ++---
> > tools/include/linux/types.h | 5 ++---
> > 2 files changed, 4 insertions(+), 6 deletions(-)
> >
> > diff --git a/include/uapi/linux/types.h b/include/uapi/linux/types.h
> > index f6d2f83cbe29..71696f424ac8 100644
> > --- a/include/uapi/linux/types.h
> > +++ b/include/uapi/linux/types.h
> > @@ -20,11 +20,10 @@
> > */
> > #ifdef __CHECKER__
> > -#define __bitwise__ __attribute__((bitwise))
> > +#define __bitwise __attribute__((bitwise))
> > #else
> > -#define __bitwise__
> > +#define __bitwise
> > #endif
> > -#define __bitwise __bitwise__
>
> Hi,
>
> this broke userspace, like open-iscsi:
> > [ 34s] In file included from session_info.h:9,
> > [ 34s] from iscsi_util.c:38:
> > [ 34s] ../include/iscsi_proto.h:66:30: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'itt_t'
> > [ 34s] 66 | typedef uint32_t __bitwise__ itt_t;
> > [ 34s] | ^~~~~
>
> It looks like we need __bitwise__ back.

Crap, sorry. I don't know why I thought it would be safe to remove
something from uapi. I'll send a revert.

Bjorn