update submodule and patches to 6.1.14

Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
This commit is contained in:
Thomas Lamprecht 2023-02-27 18:09:00 +01:00
parent 3a6fd39fe7
commit fc2b61b134
9 changed files with 35 additions and 35 deletions

View File

@ -14,7 +14,7 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
1 file changed, 1 insertion(+), 1 deletion(-) 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/net/core/dev.c b/net/core/dev.c diff --git a/net/core/dev.c b/net/core/dev.c
index 70e06853ba25..81190dfbfb3f 100644 index 7a2a4650a898..ee1ce573a63f 100644
--- a/net/core/dev.c --- a/net/core/dev.c
+++ b/net/core/dev.c +++ b/net/core/dev.c
@@ -10273,7 +10273,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list) @@ -10273,7 +10273,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list)

View File

@ -271,14 +271,14 @@ index 89246446d6aa..dd0ae61e44a1 100644
#if defined(CONFIG_X86_32) #if defined(CONFIG_X86_32)
#define X86EMUL_MODE_HOST X86EMUL_MODE_PROT32 #define X86EMUL_MODE_HOST X86EMUL_MODE_PROT32
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index acca85b10545..20aec64e3521 100644 index 393b1040f96e..8bdcba503f35 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -13730,6 +13730,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_vmgexit_msr_protocol_exit); @@ -13751,6 +13751,7 @@ EXPORT_TRACEPOINT_SYMBOL_GPL(kvm_vmgexit_msr_protocol_exit);
static int __init kvm_x86_init(void) static int __init kvm_x86_init(void)
{ {
kvm_mmu_x86_module_init(); kvm_mmu_x86_module_init();
+ kvm_emulator_init(); + kvm_emulator_init();
mitigate_smt_rsb &= boot_cpu_has_bug(X86_BUG_SMT_RSB) && cpu_smt_possible();
return 0; return 0;
} }
module_init(kvm_x86_init);

View File

@ -109,10 +109,10 @@ index dd0ae61e44a1..76c0b8e7890b 100644
int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr); int (*set_xcr)(struct x86_emulate_ctxt *ctxt, u32 index, u64 xcr);
}; };
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index ce362e88a567..45c4def86cd3 100644 index 0434bb7b456b..feb48828124e 100644
--- a/arch/x86/kvm/svm/svm.c --- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c
@@ -4385,12 +4385,14 @@ static int svm_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection) @@ -4391,12 +4391,14 @@ static int svm_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection)
return 1; return 1;
} }
@ -128,7 +128,7 @@ index ce362e88a567..45c4def86cd3 100644
if (!is_guest_mode(vcpu)) if (!is_guest_mode(vcpu))
return 0; return 0;
@@ -4432,7 +4434,7 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, char *smstate) @@ -4438,7 +4440,7 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, char *smstate)
return 0; return 0;
} }
@ -137,7 +137,7 @@ index ce362e88a567..45c4def86cd3 100644
{ {
struct vcpu_svm *svm = to_svm(vcpu); struct vcpu_svm *svm = to_svm(vcpu);
struct kvm_host_map map, map_save; struct kvm_host_map map, map_save;
@@ -4440,6 +4442,8 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const char *smstate) @@ -4446,6 +4448,8 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const char *smstate)
struct vmcb *vmcb12; struct vmcb *vmcb12;
int ret; int ret;
@ -147,10 +147,10 @@ index ce362e88a567..45c4def86cd3 100644
return 0; return 0;
diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c diff --git a/arch/x86/kvm/vmx/vmx.c b/arch/x86/kvm/vmx/vmx.c
index 4ae248e87f5e..a850ea04514e 100644 index 95ed874fbbcc..d12f341df52e 100644
--- a/arch/x86/kvm/vmx/vmx.c --- a/arch/x86/kvm/vmx/vmx.c
+++ b/arch/x86/kvm/vmx/vmx.c +++ b/arch/x86/kvm/vmx/vmx.c
@@ -7911,7 +7911,7 @@ static int vmx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection) @@ -7913,7 +7913,7 @@ static int vmx_smi_allowed(struct kvm_vcpu *vcpu, bool for_injection)
return !is_smm(vcpu); return !is_smm(vcpu);
} }
@ -159,7 +159,7 @@ index 4ae248e87f5e..a850ea04514e 100644
{ {
struct vcpu_vmx *vmx = to_vmx(vcpu); struct vcpu_vmx *vmx = to_vmx(vcpu);
@@ -7932,7 +7932,7 @@ static int vmx_enter_smm(struct kvm_vcpu *vcpu, char *smstate) @@ -7934,7 +7934,7 @@ static int vmx_enter_smm(struct kvm_vcpu *vcpu, char *smstate)
return 0; return 0;
} }
@ -169,10 +169,10 @@ index 4ae248e87f5e..a850ea04514e 100644
struct vcpu_vmx *vmx = to_vmx(vcpu); struct vcpu_vmx *vmx = to_vmx(vcpu);
int ret; int ret;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 20aec64e3521..94c29391b065 100644 index 8bdcba503f35..928b3c21b4cb 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -8186,9 +8186,9 @@ static void emulator_exiting_smm(struct x86_emulate_ctxt *ctxt) @@ -8205,9 +8205,9 @@ static void emulator_exiting_smm(struct x86_emulate_ctxt *ctxt)
} }
static int emulator_leave_smm(struct x86_emulate_ctxt *ctxt, static int emulator_leave_smm(struct x86_emulate_ctxt *ctxt,
@ -184,7 +184,7 @@ index 20aec64e3521..94c29391b065 100644
} }
static void emulator_triple_fault(struct x86_emulate_ctxt *ctxt) static void emulator_triple_fault(struct x86_emulate_ctxt *ctxt)
@@ -10246,25 +10246,25 @@ static void enter_smm(struct kvm_vcpu *vcpu) @@ -10267,25 +10267,25 @@ static void enter_smm(struct kvm_vcpu *vcpu)
struct kvm_segment cs, ds; struct kvm_segment cs, ds;
struct desc_ptr dt; struct desc_ptr dt;
unsigned long cr0; unsigned long cr0;

View File

@ -149,10 +149,10 @@ index 7294dffa794a..65d82292ccec 100644
if (ret != X86EMUL_CONTINUE) if (ret != X86EMUL_CONTINUE)
goto emulate_shutdown; goto emulate_shutdown;
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 94c29391b065..579a1cb6a7c8 100644 index 928b3c21b4cb..48a15a71c543 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -10100,22 +10100,18 @@ static u32 enter_smm_get_segment_flags(struct kvm_segment *seg) @@ -10121,22 +10121,18 @@ static u32 enter_smm_get_segment_flags(struct kvm_segment *seg)
return flags; return flags;
} }
@ -183,7 +183,7 @@ index 94c29391b065..579a1cb6a7c8 100644
} }
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
@@ -10136,54 +10132,47 @@ static void enter_smm_save_seg_64(struct kvm_vcpu *vcpu, char *buf, int n) @@ -10157,54 +10153,47 @@ static void enter_smm_save_seg_64(struct kvm_vcpu *vcpu, char *buf, int n)
} }
#endif #endif
@ -261,7 +261,7 @@ index 94c29391b065..579a1cb6a7c8 100644
} }
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
@@ -10254,7 +10243,7 @@ static void enter_smm(struct kvm_vcpu *vcpu) @@ -10275,7 +10264,7 @@ static void enter_smm(struct kvm_vcpu *vcpu)
enter_smm_save_state_64(vcpu, (char *)&smram); enter_smm_save_state_64(vcpu, (char *)&smram);
else else
#endif #endif

View File

@ -158,10 +158,10 @@ index 65d82292ccec..03f9e5aa036e 100644
#endif #endif
ret = rsm_load_state_32(ctxt, &smram.smram32); ret = rsm_load_state_32(ctxt, &smram.smram32);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 579a1cb6a7c8..7a4d86f9bdcd 100644 index 48a15a71c543..f5d3c0ff083d 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -10115,20 +10115,17 @@ static void enter_smm_save_seg_32(struct kvm_vcpu *vcpu, @@ -10136,20 +10136,17 @@ static void enter_smm_save_seg_32(struct kvm_vcpu *vcpu,
} }
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
@ -189,7 +189,7 @@ index 579a1cb6a7c8..7a4d86f9bdcd 100644
} }
#endif #endif
@@ -10176,57 +10173,51 @@ static void enter_smm_save_state_32(struct kvm_vcpu *vcpu, struct kvm_smram_stat @@ -10197,57 +10194,51 @@ static void enter_smm_save_state_32(struct kvm_vcpu *vcpu, struct kvm_smram_stat
} }
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
@ -272,7 +272,7 @@ index 579a1cb6a7c8..7a4d86f9bdcd 100644
} }
#endif #endif
@@ -10240,7 +10231,7 @@ static void enter_smm(struct kvm_vcpu *vcpu) @@ -10261,7 +10252,7 @@ static void enter_smm(struct kvm_vcpu *vcpu)
memset(smram.bytes, 0, sizeof(smram.bytes)); memset(smram.bytes, 0, sizeof(smram.bytes));
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
if (guest_cpuid_has(vcpu, X86_FEATURE_LM)) if (guest_cpuid_has(vcpu, X86_FEATURE_LM))

View File

@ -38,10 +38,10 @@ index 6885f3839e25..f5b82b6f4f84 100644
int memslot_rmap_alloc(struct kvm_memory_slot *slot, unsigned long npages); int memslot_rmap_alloc(struct kvm_memory_slot *slot, unsigned long npages);
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index 45c4def86cd3..bfacbef667d7 100644 index feb48828124e..023b6507a539 100644
--- a/arch/x86/kvm/svm/svm.c --- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c
@@ -4391,15 +4391,11 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, union kvm_smram *smram) @@ -4397,15 +4397,11 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, union kvm_smram *smram)
struct kvm_host_map map_save; struct kvm_host_map map_save;
int ret; int ret;
@ -59,7 +59,7 @@ index 45c4def86cd3..bfacbef667d7 100644
svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX]; svm->vmcb->save.rax = vcpu->arch.regs[VCPU_REGS_RAX];
svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP]; svm->vmcb->save.rsp = vcpu->arch.regs[VCPU_REGS_RSP];
@@ -4438,28 +4434,23 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram) @@ -4444,28 +4440,23 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
{ {
struct vcpu_svm *svm = to_svm(vcpu); struct vcpu_svm *svm = to_svm(vcpu);
struct kvm_host_map map, map_save; struct kvm_host_map map, map_save;
@ -91,7 +91,7 @@ index 45c4def86cd3..bfacbef667d7 100644
return 1; return 1;
ret = 1; ret = 1;
@@ -4485,7 +4476,7 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram) @@ -4491,7 +4482,7 @@ static int svm_leave_smm(struct kvm_vcpu *vcpu, const union kvm_smram *smram)
vmcb12 = map.hva; vmcb12 = map.hva;
nested_copy_vmcb_control_to_cache(svm, &vmcb12->control); nested_copy_vmcb_control_to_cache(svm, &vmcb12->control);
nested_copy_vmcb_save_to_cache(svm, &vmcb12->save); nested_copy_vmcb_save_to_cache(svm, &vmcb12->save);

View File

@ -23,10 +23,10 @@ Signed-off-by: Fabian Grünbichler <f.gruenbichler@proxmox.com>
1 file changed, 9 insertions(+) 1 file changed, 9 insertions(+)
diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c diff --git a/arch/x86/kvm/svm/svm.c b/arch/x86/kvm/svm/svm.c
index bfacbef667d7..6b02f99fe70c 100644 index 023b6507a539..a7acbe8246b6 100644
--- a/arch/x86/kvm/svm/svm.c --- a/arch/x86/kvm/svm/svm.c
+++ b/arch/x86/kvm/svm/svm.c +++ b/arch/x86/kvm/svm/svm.c
@@ -4394,6 +4394,15 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, union kvm_smram *smram) @@ -4400,6 +4400,15 @@ static int svm_enter_smm(struct kvm_vcpu *vcpu, union kvm_smram *smram)
if (!is_guest_mode(vcpu)) if (!is_guest_mode(vcpu))
return 0; return 0;

View File

@ -132,10 +132,10 @@ index 76c0b8e7890b..a7313add0f2a 100644
__CHECK_SMRAM64_OFFSET(auto_hlt_restart, 0xFEC9); __CHECK_SMRAM64_OFFSET(auto_hlt_restart, 0xFEC9);
__CHECK_SMRAM64_OFFSET(reserved2, 0xFECA); __CHECK_SMRAM64_OFFSET(reserved2, 0xFECA);
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 7a4d86f9bdcd..609829ec1d13 100644 index f5d3c0ff083d..e4573ac6ee94 100644
--- a/arch/x86/kvm/x86.c --- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c +++ b/arch/x86/kvm/x86.c
@@ -8173,6 +8173,11 @@ static void emulator_set_nmi_mask(struct x86_emulate_ctxt *ctxt, bool masked) @@ -8192,6 +8192,11 @@ static void emulator_set_nmi_mask(struct x86_emulate_ctxt *ctxt, bool masked)
static_call(kvm_x86_set_nmi_mask)(emul_to_vcpu(ctxt), masked); static_call(kvm_x86_set_nmi_mask)(emul_to_vcpu(ctxt), masked);
} }
@ -147,7 +147,7 @@ index 7a4d86f9bdcd..609829ec1d13 100644
static unsigned emulator_get_hflags(struct x86_emulate_ctxt *ctxt) static unsigned emulator_get_hflags(struct x86_emulate_ctxt *ctxt)
{ {
return emul_to_vcpu(ctxt)->arch.hflags; return emul_to_vcpu(ctxt)->arch.hflags;
@@ -8253,6 +8258,7 @@ static const struct x86_emulate_ops emulate_ops = { @@ -8272,6 +8277,7 @@ static const struct x86_emulate_ops emulate_ops = {
.guest_has_fxsr = emulator_guest_has_fxsr, .guest_has_fxsr = emulator_guest_has_fxsr,
.guest_has_rdpid = emulator_guest_has_rdpid, .guest_has_rdpid = emulator_guest_has_rdpid,
.set_nmi_mask = emulator_set_nmi_mask, .set_nmi_mask = emulator_set_nmi_mask,
@ -155,7 +155,7 @@ index 7a4d86f9bdcd..609829ec1d13 100644
.get_hflags = emulator_get_hflags, .get_hflags = emulator_get_hflags,
.exiting_smm = emulator_exiting_smm, .exiting_smm = emulator_exiting_smm,
.leave_smm = emulator_leave_smm, .leave_smm = emulator_leave_smm,
@@ -10170,6 +10176,8 @@ static void enter_smm_save_state_32(struct kvm_vcpu *vcpu, struct kvm_smram_stat @@ -10191,6 +10197,8 @@ static void enter_smm_save_state_32(struct kvm_vcpu *vcpu, struct kvm_smram_stat
smram->cr4 = kvm_read_cr4(vcpu); smram->cr4 = kvm_read_cr4(vcpu);
smram->smm_revision = 0x00020000; smram->smm_revision = 0x00020000;
smram->smbase = vcpu->arch.smbase; smram->smbase = vcpu->arch.smbase;
@ -164,7 +164,7 @@ index 7a4d86f9bdcd..609829ec1d13 100644
} }
#ifdef CONFIG_X86_64 #ifdef CONFIG_X86_64
@@ -10218,6 +10226,8 @@ static void enter_smm_save_state_64(struct kvm_vcpu *vcpu, struct kvm_smram_stat @@ -10239,6 +10247,8 @@ static void enter_smm_save_state_64(struct kvm_vcpu *vcpu, struct kvm_smram_stat
enter_smm_save_seg_64(vcpu, &smram->ds, VCPU_SREG_DS); enter_smm_save_seg_64(vcpu, &smram->ds, VCPU_SREG_DS);
enter_smm_save_seg_64(vcpu, &smram->fs, VCPU_SREG_FS); enter_smm_save_seg_64(vcpu, &smram->fs, VCPU_SREG_FS);
enter_smm_save_seg_64(vcpu, &smram->gs, VCPU_SREG_GS); enter_smm_save_seg_64(vcpu, &smram->gs, VCPU_SREG_GS);
@ -173,7 +173,7 @@ index 7a4d86f9bdcd..609829ec1d13 100644
} }
#endif #endif
@@ -10254,6 +10264,8 @@ static void enter_smm(struct kvm_vcpu *vcpu) @@ -10275,6 +10285,8 @@ static void enter_smm(struct kvm_vcpu *vcpu)
kvm_set_rflags(vcpu, X86_EFLAGS_FIXED); kvm_set_rflags(vcpu, X86_EFLAGS_FIXED);
kvm_rip_write(vcpu, 0x8000); kvm_rip_write(vcpu, 0x8000);

@ -1 +1 @@
Subproject commit 6f988794b04904ea15e156bfe766e30280553b0e Subproject commit 23e615f72113cf3a56cd4083408b0b3cf0548206