Home Home > GIT Browse > openSUSE-15.0
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJiri Kosina <jkosina@suse.cz>2012-06-19 11:56:30 +0200
committerJiri Kosina <jkosina@suse.cz>2012-06-19 11:56:30 +0200
commitfbfc70c72ac966794c5f4ec379d66488cfe3f10b (patch)
tree910a1af980b3d32fc0e24a0f9278d5b3002d5e05
parent7f0d0d6da750483d125014199d5c29a6586bffa2 (diff)
- patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch: Refresh.rpm-3.0.34-0.7
Drop omitted ifdef in get_call_destination(), which resulted in all the stubs still going through NULL pointer, as pv_mmu_ops were not used properly for patching. This harmed KMPs with statically inlined APIs.
-rw-r--r--kernel-source.changes9
-rw-r--r--patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch58
2 files changed, 43 insertions, 24 deletions
diff --git a/kernel-source.changes b/kernel-source.changes
index 46895614a2..5d6b8596d4 100644
--- a/kernel-source.changes
+++ b/kernel-source.changes
@@ -1,4 +1,13 @@
-------------------------------------------------------------------
+Tue Jun 19 11:55:01 CEST 2012 - jkosina@suse.cz
+
+- patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch: Refresh.
+ Drop omitted ifdef in get_call_destination(), which resulted
+ in all the stubs still going through NULL pointer, as pv_mmu_ops
+ were not used properly for patching. This harmed KMPs with
+ statically inlined APIs.
+
+-------------------------------------------------------------------
Tue Jun 12 12:00:39 CEST 2012 - jbohac@suse.cz
- patches.fixes/net-sock-validate-data_len-before-allocating-skb.patch:
diff --git a/patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch b/patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch
index 4c9de89523..b6383f85c6 100644
--- a/patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch
+++ b/patches.arch/paravirt-stub-kabi-for-KVM_MMU.patch
@@ -18,10 +18,10 @@ Signed-off-by: Mel Gorman <mgorman@suse.de>
arch/x86/kernel/paravirt_patch_64.c | 6 +-----
4 files changed, 2 insertions(+), 16 deletions(-)
-diff --git a/arch/x86/include/asm/paravirt_types.h b/arch/x86/include/asm/paravirt_types.h
-index 453503a..8288509 100644
---- a/arch/x86/include/asm/paravirt_types.h
-+++ b/arch/x86/include/asm/paravirt_types.h
+Index: linux-3.0-SLE11-SP2/arch/x86/include/asm/paravirt_types.h
+===================================================================
+--- linux-3.0-SLE11-SP2.orig/arch/x86/include/asm/paravirt_types.h
++++ linux-3.0-SLE11-SP2/arch/x86/include/asm/paravirt_types.h
@@ -338,9 +338,7 @@ struct paravirt_patch_template {
struct pv_cpu_ops pv_cpu_ops;
struct pv_irq_ops pv_irq_ops;
@@ -32,11 +32,21 @@ index 453503a..8288509 100644
struct pv_lock_ops pv_lock_ops;
};
-diff --git a/arch/x86/kernel/paravirt.c b/arch/x86/kernel/paravirt.c
-index b8abf1e..0691268 100644
---- a/arch/x86/kernel/paravirt.c
-+++ b/arch/x86/kernel/paravirt.c
-@@ -185,7 +185,6 @@ unsigned paravirt_patch_insns(void *insnbuf, unsigned len,
+Index: linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt.c
+===================================================================
+--- linux-3.0-SLE11-SP2.orig/arch/x86/kernel/paravirt.c
++++ linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt.c
+@@ -128,9 +128,7 @@ static void *get_call_destination(u8 typ
+ .pv_cpu_ops = pv_cpu_ops,
+ .pv_irq_ops = pv_irq_ops,
+ .pv_apic_ops = pv_apic_ops,
+-#ifdef CONFIG_PARAVIRT_MMU
+ .pv_mmu_ops = pv_mmu_ops,
+-#endif
+ #ifdef CONFIG_PARAVIRT_SPINLOCKS
+ .pv_lock_ops = pv_lock_ops,
+ #endif
+@@ -185,7 +183,6 @@ unsigned paravirt_patch_insns(void *insn
return insn_len;
}
@@ -44,7 +54,7 @@ index b8abf1e..0691268 100644
static void native_flush_tlb(void)
{
__native_flush_tlb();
-@@ -204,7 +203,6 @@ static void native_flush_tlb_single(unsigned long addr)
+@@ -204,7 +201,6 @@ static void native_flush_tlb_single(unsi
{
__native_flush_tlb_single(addr);
}
@@ -52,7 +62,7 @@ index b8abf1e..0691268 100644
/* These are in entry.S */
extern void native_iret(void);
-@@ -402,7 +400,6 @@ struct pv_apic_ops pv_apic_ops = {
+@@ -402,7 +398,6 @@ struct pv_apic_ops pv_apic_ops = {
#define PTE_IDENT __PV_IS_CALLEE_SAVE(_paravirt_ident_64)
#endif
@@ -60,7 +70,7 @@ index b8abf1e..0691268 100644
struct pv_mmu_ops pv_mmu_ops = {
.read_cr2 = native_read_cr2,
-@@ -473,11 +470,10 @@ struct pv_mmu_ops pv_mmu_ops = {
+@@ -473,11 +468,10 @@ struct pv_mmu_ops pv_mmu_ops = {
.set_fixmap = native_set_fixmap,
};
@@ -73,11 +83,11 @@ index b8abf1e..0691268 100644
EXPORT_SYMBOL_GPL(pv_apic_ops);
EXPORT_SYMBOL_GPL(pv_info);
EXPORT_SYMBOL (pv_irq_ops);
-diff --git a/arch/x86/kernel/paravirt_patch_32.c b/arch/x86/kernel/paravirt_patch_32.c
-index aad5cf0..d9f32e6 100644
---- a/arch/x86/kernel/paravirt_patch_32.c
-+++ b/arch/x86/kernel/paravirt_patch_32.c
-@@ -6,11 +6,9 @@ DEF_NATIVE(pv_irq_ops, restore_fl, "push %eax; popf");
+Index: linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt_patch_32.c
+===================================================================
+--- linux-3.0-SLE11-SP2.orig/arch/x86/kernel/paravirt_patch_32.c
++++ linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt_patch_32.c
+@@ -6,11 +6,9 @@ DEF_NATIVE(pv_irq_ops, restore_fl, "push
DEF_NATIVE(pv_irq_ops, save_fl, "pushf; pop %eax");
DEF_NATIVE(pv_cpu_ops, iret, "iret");
DEF_NATIVE(pv_cpu_ops, irq_enable_sysexit, "sti; sysexit");
@@ -89,7 +99,7 @@ index aad5cf0..d9f32e6 100644
DEF_NATIVE(pv_cpu_ops, clts, "clts");
DEF_NATIVE(pv_cpu_ops, read_tsc, "rdtsc");
-@@ -44,11 +42,9 @@ unsigned native_patch(u8 type, u16 clobbers, void *ibuf,
+@@ -44,11 +42,9 @@ unsigned native_patch(u8 type, u16 clobb
PATCH_SITE(pv_irq_ops, save_fl);
PATCH_SITE(pv_cpu_ops, iret);
PATCH_SITE(pv_cpu_ops, irq_enable_sysexit);
@@ -101,11 +111,11 @@ index aad5cf0..d9f32e6 100644
PATCH_SITE(pv_cpu_ops, clts);
PATCH_SITE(pv_cpu_ops, read_tsc);
-diff --git a/arch/x86/kernel/paravirt_patch_64.c b/arch/x86/kernel/paravirt_patch_64.c
-index 63b4d41..3f08f34 100644
---- a/arch/x86/kernel/paravirt_patch_64.c
-+++ b/arch/x86/kernel/paravirt_patch_64.c
-@@ -7,12 +7,10 @@ DEF_NATIVE(pv_irq_ops, irq_enable, "sti");
+Index: linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt_patch_64.c
+===================================================================
+--- linux-3.0-SLE11-SP2.orig/arch/x86/kernel/paravirt_patch_64.c
++++ linux-3.0-SLE11-SP2/arch/x86/kernel/paravirt_patch_64.c
+@@ -7,12 +7,10 @@ DEF_NATIVE(pv_irq_ops, irq_enable, "sti"
DEF_NATIVE(pv_irq_ops, restore_fl, "pushq %rdi; popfq");
DEF_NATIVE(pv_irq_ops, save_fl, "pushfq; popq %rax");
DEF_NATIVE(pv_cpu_ops, iret, "iretq");
@@ -118,7 +128,7 @@ index 63b4d41..3f08f34 100644
DEF_NATIVE(pv_cpu_ops, clts, "clts");
DEF_NATIVE(pv_cpu_ops, wbinvd, "wbinvd");
-@@ -57,13 +55,11 @@ unsigned native_patch(u8 type, u16 clobbers, void *ibuf,
+@@ -57,13 +55,11 @@ unsigned native_patch(u8 type, u16 clobb
PATCH_SITE(pv_cpu_ops, usergs_sysret32);
PATCH_SITE(pv_cpu_ops, usergs_sysret64);
PATCH_SITE(pv_cpu_ops, swapgs);