Re: include/linux/xattr.h: how much userpace visible?

From: H. Peter Anvin
Date: Mon Feb 26 2007 - 21:13:31 EST


Kyle Moffett wrote:

Not a bad idea, but it could use some extra error checking to make sure that somebody remembers to "#define __kstruct_foo" before "#include <linux/foo.h>" (perhaps indirectly through linux/bar.h). Maybe something like this (plays nice with the very-basic unifdef parsing too):

#ifdef __KERNEL__
# define __kstruct_stat stat
# define __kstruct_foo foo
# define __kstruct_bar bar
#endif

#ifdef __LINUX_KERNEL_EXPORT
# define __kstruct_stat stat
# define __kstruct_foo foo
# define __kstruct_bar bar
#endif

#ifndef __kstruct_stat
# error "Missing definition of __kstruct_stat, please insert:"
# error " #define __kstruct_stat <name-for-stat-struct>"
# error "into your C file before '#include <linux/foo.h>'"
#endif
struct __kstruct_stat {
}

Someone who wanted to keep the name __kstruct_stat could of course "#define __kstruct_stat __kstruct_stat" easily.


True, but if someone makes errors on that level in your libc, don't you think the fact that gcc will throw an error is sufficient? Writing that kind of error generators is a lot of work, and probably for little gain.

-hpa
-
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/