Re: [PATCH -v2 2/2] x86: Make Linux guest support optional

From: Dmitry Torokhov
Date: Fri Jan 25 2013 - 13:42:21 EST


On Fri, Jan 25, 2013 at 07:32:13PM +0100, Borislav Petkov wrote:
> On Fri, Jan 25, 2013 at 10:12:51AM -0800, Dmitry Torokhov wrote:
> > Hi Borislav,
> >
> > On Fri, Jan 25, 2013 at 06:59:37PM +0100, Borislav Petkov wrote:
> > > From: Borislav Petkov <bp@xxxxxxx>
> > >
> > > Put all config options needed to run Linux as a guest behind a
> > > CONFIG_HYPERVISOR_GUEST menu so that they don't get built-in by
> > > default but selected by the user. Also, move x86_hyper into an
> > > unconditionally-built compilation unit because it is exported with the
> > > non-GPL flavour and we can't know whatever uses it on the outside.
> >
> > I am confused by this statement... How can EXPORT_SYMBOL() vs
> > EXPORT_SYMBOL_GPL() help you determining if it is used out of tree or
> > not?
>
> Maybe this wasn't formulated clear enough - I wanted to say that with
> the !GPL flavor, any code (proprietary included) can link to those
> symbols and we cannot know who uses it and if we hide that symbol,
> someone would probably come crying.
>
> Because if we could, I would've done trivial accessor functions which
> would return NULL when CONFIG_HYPERVISOR_GUEST is not set so that those
> cases build and boot fine, and we wouldn't have the need to have this
> symbol always present (like is the case now and I had to move it to
> setup.c).
>
> If it were _GPL, we would've fixed all its users to switch to the
> accessors.
>
> Makes more sense?

No, not really as EXPORT_SYMBOL_GPL() in no way implies that the code
using it lives in the mainline. Also, EXPORT_SYMBOL() does not imply
that it forms an ABI and can't be changed ever.

Thanks.

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