[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Do not accept empty definition of __XEN_INTERFACE_VERSION__



# HG changeset patch
# User kaf24@xxxxxxxxxxxxxxxxxxxx
# Node ID 0037e3e4da08eccefc415e41749606e683916ae1
# Parent  0010df11836d182fbb00ebcc016e9e51705470e0
Do not accept empty definition of __XEN_INTERFACE_VERSION__
in xen-compat.h. It leads to building a broken kernel image
where the kernel sources end up using an unexpected interface
version. In the case of Linux, the kernel expects to use
the new sched_op() hypercall but ends up calling the
legacy hypercall -- this breaks poll, reboot, and save/restore.

A more acceptable patch would be to detect the empty
definition in xen-compat.h and give a reasonable #error message
to fail the build: the current error message is confusing.

Signed-off-by: Keir Fraser <keir@xxxxxxxxxxxxx>

diff -r 0010df11836d -r 0037e3e4da08 xen/include/public/xen-compat.h
--- a/xen/include/public/xen-compat.h   Thu Apr  6 23:32:54 2006
+++ b/xen/include/public/xen-compat.h   Fri Apr  7 08:57:36 2006
@@ -14,11 +14,8 @@
 #if defined(__XEN__)
 /* Xen is built with matching headers and implements the latest interface. */
 #define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__
-#elif (__XEN_INTERFACE_VERSION__ - 0) == 0
+#elif !defined(__XEN_INTERFACE_VERSION__)
 /* Guests which do not specify a version get the legacy interface. */
-#ifdef __XEN_INTERFACE_VERSION__
-#undef __XEN_INTERFACE_VERSION__
-#endif
 #define __XEN_INTERFACE_VERSION__ 0x00000000
 #endif
 

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.