Re: [patch] inotify: make user visible types portable

From: Robert Love
Date: Fri Oct 01 2004 - 02:41:29 EST


On Thu, 2004-09-30 at 23:44 -0700, Paul Jackson wrote:

> I've no doubt you're right here. But I'm a little confused.
>
> Are you saying to use __u32 so user code can compile with these kernel
> headers and see your new inotify symbols w/o polluting their name space
> with the non-underscored typedef symbols?

I am saying I have to use __u32, because they are user visible and u32
is not. Also, the rule is to use __u32.

> I though such use of kernel headers in compiling user code was
> deprecated. I'd have figured this meant while we might not go out of
> way to break someone already doing it, we wouldn't make any effort, or
> tolerate any ugly as sin __foo names, in order to add to the list of
> symbols so accessible.
>
> If you have a few minutes more patience, perhaps you could explain
> where my understanding departed from reality.

How else is user-space to know about this structure?

It has always been a no-no for user-space to access __KERNEL__ wrapped
parts of headers, but sharing a header (or at least generating
user-space's version of the header from the kernel header) is the only
way to ensure that both kernel and user-space speak the same language.

And not just structures, but flags, ioctl commands, ...

Robert Love


-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/