From: Andrea Arcangeli <[EMAIL PROTECTED]>

A 2.6.25-rc based kernel spawned an oops in mmdrop when kvm quit so
that reminded me of this.

Signed-off-by: Andrea Arcangeli <[EMAIL PROTECTED]>
Signed-off-by: Avi Kivity <[EMAIL PROTECTED]>

diff --git a/kernel/external-module-compat.h b/kernel/external-module-compat.h
index 20ef841..fd3cb1d 100644
--- a/kernel/external-module-compat.h
+++ b/kernel/external-module-compat.h
@@ -564,6 +564,11 @@ static inline void blahblah(void)
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2,6,25)
 
 #define mmdrop(x) do { (void)(x); } while (0)
+#define mmget(x) do { (void)(x); } while (0)
+
+#else
+
+#define mmget(x) do { atomic_inc(x); } while (0)
 
 #endif
 
diff --git a/kernel/hack-module.awk b/kernel/hack-module.awk
index ad7a7c5..404944e 100644
--- a/kernel/hack-module.awk
+++ b/kernel/hack-module.awk
@@ -33,7 +33,7 @@
     vmx_load_host_state = 0
 }
 
-/atomic_inc\(&kvm->mm->mm_count\);/ { $0 = "//" $0 }
+/atomic_inc\(&kvm->mm->mm_count\);/ { $0 = "mmget(&kvm->mm->mm_count);" }
 
 /^\t\.fault = / {
     fcn = gensub(/,/, "", "g", $3)

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
kvm-commits mailing list
kvm-commits@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/kvm-commits

Reply via email to