Subject: Re: asm/kvm_para.h from asm-generic (was: Re: linux-next: triage for April 19, 2012)

From: Paul Mundt <[email-masked]>
Date: Thu, 14 Jun 2012 12:29:49 +0900

On Wed, Jun 13, 2012 at 02:46:32PM +0200, Geert Uytterhoeven wrote:
> There's a similar rule for kvm_para.h:
> 
> ifneq ($(wildcard $(srctree)/arch/$(SRCARCH)/include/asm/kvm_para.h \
>                   $(srctree)/include/asm-$(SRCARCH)/kvm_para.h),)
> header-y  += kvm_para.h
> endif
> 
> It's this rule that's now biting m68k, as it no longer works when using
> arch/*/include/asm/Kbuild to import <asm-generic/kvm_para.h>.
> (I guess it'll bite SH soon, too).
> 
So it did, thanks for catching it, today looks to be chock full of header
excitement.

> I found two ways to fix it:
>   1. Remove the "ifneq" above from include/asm-generic/Kbuild.asm,
>      so kvm_para.h is exported unconditionally.
>      Note that this breaks m32r and cris, as they don't have
> asm/kvm_para.h yet),
>    2. Add a similar "ifneq" to include/asm-generic/Kbuild, to make
>      the export of <linux/kvm_para.h> conditional.
>      I guess we want to remove all "dummy" kvm_para.h again, too?
> 
m32r and cris are broken at the moment anyways because they were
overlooked to begin with, so stubbing in generic-y += kvm_para.h rules
there should be sufficient. Presumably with those in place it should be
possible to kill off the wildcarding and just have it exported
unconditionally, as per your initial fix.

As to the merit of exporting a header with nothing in it to userspace,
Avi will have to figure that one out.