提交 c01226c3 编写于 作者: A Arnd Bergmann 提交者: Sam Ravnborg

warn about use of uninstalled kernel headers

User applications frequently hit problems when they try to use
the kernel headers directly, rather than the exported headers.

This adds an explicit warning for this case, and points to
a URL holding an explanation of why this is wrong and what
to do about it.
Signed-off-by: NArnd Bergmann <arnd@arndb.de>
Signed-off-by: NSam Ravnborg <sam@ravnborg.org>
上级 17c5ca98
...@@ -659,6 +659,12 @@ extern int do_sysinfo(struct sysinfo *info); ...@@ -659,6 +659,12 @@ extern int do_sysinfo(struct sysinfo *info);
#endif /* __KERNEL__ */ #endif /* __KERNEL__ */
#ifndef __EXPORTED_HEADERS__
#ifndef __KERNEL__
#warning Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders
#endif /* __KERNEL__ */
#endif /* __EXPORTED_HEADERS__ */
#define SI_LOAD_SHIFT 16 #define SI_LOAD_SHIFT 16
struct sysinfo { struct sysinfo {
long uptime; /* Seconds since boot */ long uptime; /* Seconds since boot */
......
...@@ -20,7 +20,7 @@ use strict; ...@@ -20,7 +20,7 @@ use strict;
my ($readdir, $installdir, $arch, @files) = @ARGV; my ($readdir, $installdir, $arch, @files) = @ARGV;
my $unifdef = "scripts/unifdef -U__KERNEL__"; my $unifdef = "scripts/unifdef -U__KERNEL__ -D__EXPORTED_HEADERS__";
foreach my $file (@files) { foreach my $file (@files) {
local *INFILE; local *INFILE;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册