[PATCH] Account for Fedora kernels with backported vzalloc

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

 



kvm-kmod-2.6.38.6 does not compile on Fedora kernels >= 2.6.35.11.

Signed-off-by: Bernhard Kohl <bernhard.kohl@xxxxxxx>
---
 configure                     |    8 ++++++++
 external-module-compat-comm.h |    5 ++++-
 2 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/configure b/configure
index a40c39f..b91587c 100755
--- a/configure
+++ b/configure
@@ -153,6 +153,13 @@ if [ -n "$no_uname" -a "$want_module" ]; then
 	depmod_version=$kernel_version
 fi
 
+# Check if it is a Fedora kernel, e.g. 2.6.35.13-91.fc14.x86_64
+if echo "$kernel_version" | grep -qE '[0-9.-]+\.fc[0-9]+\..+'; then
+    config_fedora_kernel="#define CONFIG_FEDORA_KERNEL 1"
+else
+    config_fedora_kernel="#undef CONFIG_FEDORA_KERNEL"
+fi
+
 rm -f include/asm include-compat/asm
 mkdir -p include
 ln -sf asm-"$karch" include/asm
@@ -175,4 +182,5 @@ EOF
 
 cat <<EOF > kvm-kmod-config.h
 #define KERNEL_EXTRAVERSION $kernel_extraversion
+$config_fedora_kernel
 EOF
diff --git a/external-module-compat-comm.h b/external-module-compat-comm.h
index 6b6bddb..b7d9b25 100644
--- a/external-module-compat-comm.h
+++ b/external-module-compat-comm.h
@@ -881,7 +881,10 @@ static inline u32 hash_32(u32 val, unsigned int bits)
 #define __rcu
 #endif
 
-#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37)
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,37) && \
+    (!defined(CONFIG_FEDORA_KERNEL) || \
+     LINUX_VERSION_CODE == KERNEL_VERSION(2,6,35) && KERNEL_EXTRAVERSION < 11 || \
+     LINUX_VERSION_CODE < KERNEL_VERSION(2,6,35))
 #include <linux/vmalloc.h>
 static inline void *vzalloc(unsigned long size)
 {
-- 
1.7.4.4

--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux