2007-12-10 21:00:56

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: [PATCH] xen: relax signature check

Some versions of Xen 3.x set their magic number to "xen-3.[12]", so
relax the test to match them.

[ Linus: Please apply for 2.6.24. Thanks - J ]

Signed-off-by: Jeremy Fitzhardinge <[email protected]>

---
arch/x86/xen/enlighten.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

===================================================================
--- a/arch/x86/xen/enlighten.c
+++ b/arch/x86/xen/enlighten.c
@@ -1131,7 +1131,7 @@ asmlinkage void __init xen_start_kernel(
if (!xen_start_info)
return;

- BUG_ON(memcmp(xen_start_info->magic, "xen-3.0", 7) != 0);
+ BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);

/* Install Xen paravirt ops */
pv_info = xen_info;


2007-12-11 15:52:27

by Bodo Eggert

[permalink] [raw]
Subject: Re: [PATCH] xen: relax signature check

Jeremy Fitzhardinge <[email protected]> wrote:

> Some versions of Xen 3.x set their magic number to "xen-3.[12]", so
> relax the test to match them.


> - BUG_ON(memcmp(xen_start_info->magic, "xen-3.0", 7) != 0);
> + BUG_ON(memcmp(xen_start_info->magic, "xen-3", 5) != 0);

Not BUG_ON(memcmp(xen_start_info->magic, "xen-3.", 6) != 0); ?
I don't thin Xen version 32 will be compatible ...

2007-12-11 17:16:31

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [PATCH] xen: relax signature check

Bodo Eggert wrote:
> Not BUG_ON(memcmp(xen_start_info->magic, "xen-3.", 6) != 0); ?
> I don't thin Xen version 32 will be compatible ...
>

It had better be; if it loads the kernel, it should present a xen-3
compatible ABI.

But this is just a sanity check to make sure things are basically OK;
BUG_ON is hardly nice error reporting (not that there's much else we can
do at that point).

J

2007-12-12 19:15:33

by Anthony Liguori

[permalink] [raw]
Subject: Re: [PATCH] xen: relax signature check

Jeremy Fitzhardinge wrote:
> Bodo Eggert wrote:
>> Not BUG_ON(memcmp(xen_start_info->magic, "xen-3.", 6) != 0); ?
>> I don't thin Xen version 32 will be compatible ...
>>
>
> It had better be; if it loads the kernel, it should present a xen-3
> compatible ABI.

If xen-32.0 should be compatible than wouldn't xen-24.0 be compatible
too? I think the point was that you should either be checking for
'xen-3.x' or something more general that would accept anything >= xen-3.0.

Regards,

Anthony Liguori

> But this is just a sanity check to make sure things are basically OK;
> BUG_ON is hardly nice error reporting (not that there's much else we can
> do at that point).
>
> J

2007-12-12 19:36:44

by Jeremy Fitzhardinge

[permalink] [raw]
Subject: Re: [PATCH] xen: relax signature check

Anthony Liguori wrote:
> If xen-32.0 should be compatible than wouldn't xen-24.0 be compatible
> too? I think the point was that you should either be checking for
> 'xen-3.x' or something more general that would accept anything >=
> xen-3.0.

The signature is supposed to be an ABI signature, so regardless of the
actual hypervisor version, it should always present "xen-3.0"
(presumably backwards compat if it also supports other versions of the
ABI). There was a bug in some versions where it puts the actual
hypervisor version in there, requiring this patch. Technically that
means that looking for "xen-3." is more accurate, but frankly not
important enough to bother raising a patch over.

J