[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] linux: prevent non-Xen modules fromloading in Xen kernel
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
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |