Re: [git pull] vfs.git part 3
From: Christoph Hellwig
Date: Thu Jul 06 2017 - 11:06:37 EST
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..