|
|
|
|
|
|
|
|
|
|
xen-devel
Re: [Xen-devel] [PATCH] linux: prevent non-Xen modules fromloading in Xe
I disagree. The xen interface version number is simply to allow downgrading
of the API exposed by the Xen public headers. And it *is* specifically the
source API; *not* the ABI. Xen's ABIs are always backward compatible (old
guest driver; new Xen will always work), and for forward compatibility (new
guest driver; old Xen) we expect the guest driver to gracefully degrade its
functionality.
This is orthogonal to what you are trying to achieve. So, can we just add
"Xen " to the magic string?
-- Keir
On 18/1/08 15:48, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
> It's intended to disallow cross-version loading of modules (i.e. a module
> compiled against a kernel built with a different [lower or higher] Xen
> interface) - allowing such can be as dangerous as loading a module that
> was compiled against native I believe.
>
> Jan
>
>>>> Keir Fraser <Keir.Fraser@xxxxxxxxxxxx> 18.01.08 16:35 >>>
> Does the XEN_INTERFACE_VERSION add anything? It has not much to do with the
> module<->Linux-core interface. Seems a pretty random thing to stuff into the
> module magic version string.
>
> -- Keir
>
> On 18/1/08 14:51, "Jan Beulich" <jbeulich@xxxxxxxxxx> wrote:
>
>> .. and vice versa.
>>
>> Inspired by Zach Amsden's functionally similar VMI patch.
>>
>> As usual, written and tested on 2.6.24-rc7 and made apply to the 2.6.18
>> tree without further testing.
>>
>> Signed-off-by: Jan Beulich <jbeulich@xxxxxxxxxx>
>>
>> Index: head-2008-01-08/drivers/xen/Kconfig
>> ===================================================================
>> --- head-2008-01-08.orig/drivers/xen/Kconfig 2008-01-08 12:26:03.000000000
>> +0100
>> +++ head-2008-01-08/drivers/xen/Kconfig 2008-01-08 14:56:58.000000000 +0100
>> @@ -13,7 +13,7 @@ config XEN
>> if XEN
>> config XEN_INTERFACE_VERSION
>> hex
>> - default 0x00030207
>> + default 0x30207
>>
>> menu "XEN"
>>
>> Index: head-2008-01-08/include/linux/vermagic.h
>> ===================================================================
>> --- head-2008-01-08.orig/include/linux/vermagic.h 2006-11-29
>> 22:57:37.000000000 +0100
>> +++ head-2008-01-08/include/linux/vermagic.h 2008-01-08 15:01:52.000000000
>> +0100
>> @@ -17,6 +17,11 @@
>> #else
>> #define MODULE_VERMAGIC_MODULE_UNLOAD ""
>> #endif
>> +#ifdef CONFIG_XEN
>> +#define MODULE_VERMAGIC_XEN "Xen:" __stringify(CONFIG_XEN_INTERFACE_VERSION)
>> " "
>> +#else
>> +#define MODULE_VERMAGIC_XEN
>> +#endif
>> #ifndef MODULE_ARCH_VERMAGIC
>> #define MODULE_ARCH_VERMAGIC ""
>> #endif
>> @@ -24,5 +29,6 @@
>> #define VERMAGIC_STRING \
>> UTS_RELEASE " " \
>> MODULE_VERMAGIC_SMP MODULE_VERMAGIC_PREEMPT \
>> - MODULE_VERMAGIC_MODULE_UNLOAD MODULE_ARCH_VERMAGIC \
>> + MODULE_VERMAGIC_MODULE_UNLOAD MODULE_VERMAGIC_XEN \
>> + MODULE_ARCH_VERMAGIC \
>> "gcc-" __stringify(__GNUC__) "." __stringify(__GNUC_MINOR__)
>>
>>
>>
>>
>> _______________________________________________
>> Xen-devel mailing list
>> Xen-devel@xxxxxxxxxxxxxxxxxxx
>> http://lists.xensource.com/xen-devel
>
>
>
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|
|
|
|
|