On Thu, Jul 06, 2017 at 04:03:30PM +0100, Al Viro wrote:
> #define __SC_CAST(t, a) (__force t) a
> 
> in syscalls.h

Hmm.

> 
> > index a2d4a8ac94ca..a04adbc70ddf 100644
> > --- a/include/uapi/linux/aio_abi.h
> > +++ b/include/uapi/linux/aio_abi.h
> > @@ -28,6 +28,7 @@
> >  #define __LINUX__AIO_ABI_H
> >  
> >  #include <linux/types.h>
> > +#include <linux/fs.h>
> 
> Um...  Includes of non-uapi in uapi are wrong.  What do you need
> fs.h for, anyway?  Just put the typedef into uapi/linux/types.h
> and be done with that...

We automatically get the non-uapi one for userspace.  And we do in
fact need to write it that way as it will not show up as uapi/ in
userspace.

But yes, the type could be taken to types.h

> 
> > +#define    BLK_STS_OK 0
> > +#define BLK_STS_NOTSUPP            ((__force blk_status_t)1)
> > +#define BLK_STS_TIMEOUT            ((__force blk_status_t)2)
> > +#define BLK_STS_NOSPC              ((__force blk_status_t)3)
> > +#define BLK_STS_TRANSPORT  ((__force blk_status_t)4)
> > +#define BLK_STS_TARGET             ((__force blk_status_t)5)
> > +#define BLK_STS_NEXUS              ((__force blk_status_t)6)
> 
> WTF is that doing here?  If nothing else, it's a userland namespace
> pollution; typedefs with such names are OK in the kernel, but not
> is something that might be included from userland.  And that chunk
> doesn't seem to have anything to do with the rest of the patch...

It doesn't  that was the copy and paste of the __bitwise boilerplate
I staeted with..

Reply via email to