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

Dmitry Torokhov dtor at vmware.com
Fri Jan 25 18:29:25 UTC 2013


On Fri, Jan 25, 2013 at 07:23:35PM +0100, Borislav Petkov wrote:
> On Fri, Jan 25, 2013 at 10:07:31AM -0800, Dmitry Torokhov wrote:
> > > -	if (x86_hyper != &x86_hyper_ms_hyperv)
> > > +	if (!x86_hyper || strncmp(x86_hyper->name, "VMware", 6))
> > >  		return -ENODEV;
> > 
> > I assume this is a typo as I doubt MS is using the same signature as we
> > do.
> 
> Yeah, Vmware is assimilating Microsoft. :-)
> 
> Damn copy-paste crap. Sorry, will fix.
> 
> > > diff --git a/drivers/misc/vmw_balloon.c b/drivers/misc/vmw_balloon.c
> > > index cb56e270da11..85f15a6d8798 100644
> > > --- a/drivers/misc/vmw_balloon.c
> > > +++ b/drivers/misc/vmw_balloon.c
> > > @@ -786,7 +786,7 @@ static int __init vmballoon_init(void)
> > >  	 * Check if we are running on VMware's hypervisor and bail out
> > >  	 * if we are not.
> > >  	 */
> > > -	if (x86_hyper != &x86_hyper_vmware)
> > > +	if (!x86_hyper || strncmp(x86_hyper->name, "VMware", 6))
> > >  		return -ENODEV;
> > >
> > 
> > I wonder why you decided to switch from address matching (which is quite
> > precise and would potentially allow adding signatures without needing
> > to change the drivers) to string matching?
> 
> Ok, this is a bit more involved. If we put all hypervisor stuff behind
> CONFIG_HYPERVISOR_GUEST and in the cases where this is disabled,
> the build fails because the x86_hyper_vmware symbol is undefined.
> Alternatively, this doesn't happen when we look at the name.

Can't we make the balloon driver depend on CONFIG_HYPERVISOR_GUEST?

> 
> But why would you want to add signatures? Isn't "VMware" enough as a
> name for the vmware hypervisor and why would you need more? And besides,
> hypervisor_x86.name is only a single const char * so you'd need to
> change that struct to add more names...Hm.

We do not _need_ more and have no plans to introduce new ones AFAIK, but
I think that comparing an address of a structure instead of string
comparison is much more elegant and it is safer from typos.

Thanks,
Dmitry



More information about the devel mailing list