Re: [PATCH] asm-generic/ioctl.h: use BUILD_BUG_ON_ZERO() for type check

From: Arnd Bergmann
Date: Wed Feb 24 2021 - 03:44:12 EST


On Wed, Feb 24, 2021 at 2:57 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> On Wed, Feb 24, 2021 at 5:04 AM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:
> >
> > On Tue, Feb 23, 2021 at 11:06 AM Masahiro Yamada <masahiroy@xxxxxxxxxx> wrote:
>
> My intention is to improve the UAPI/KAPI decoupling
> to decrease the task of scripts/headers_install.sh
>
> Ideally, we could export UAPI headers with
> almost no modification.
>
> It is true that scripts/unifdef can remove #ifndef __KERNEL__
> blocks, but having the kernel-space code in UAPI headers
> does not make sense. Otherwise, our initial motivation
> "separate them by directory structure" would be lost.
>
> So, I believe redefining _IOC_TYPECHECK is the right direction.
> I can add comments if this is not clear.

Maybe using '#ifndef _IOC_TYPECHECK' would help here?

Another alternative might be to find a way to rewrite the typecheck
macro to make it safe to be used in user space as well, and not
have two different versions.

Arnd