Re: [PATCH] kvm: user: include arch specific headers from $(KERNELDIR)

Arnd Bergmann
2009-05-13T21:57:06Z

On Wednesday 13 May 2009 08:32:21 Mark McLoughlin wrote:
> Currently we only include $(KERNELDIR)/include in CFLAGS,
> but we also have $(KERNELDIR)/arch/$(arch)/include or else
> we'll get mis-matched headers.
>

I think this is fundamentally wrong. User files should never directly
access kernel headers, because they are postprocessed in various
ways in order to get files that are valid in user space, e.g. __user
annotations are removed.

The three possible sources for kernel headers are:

/usr/include
- system provided headers, may be older than the running kernel
/lib/modules/$(uname -r)/build/usr/include
- user space headers for the currently running kernel
$(KERNELDIR)/usr/include
- user space headers from a configured kernel tree after 'make headers_install'