stable.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Sean Christopherson <sean.j.christopherson@intel.com>,
	Paolo Bonzini <pbonzini@redhat.com>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.4 297/309] KVM: x86: Use gpa_t for cr2/gpa to fix TDP support on 32-bit KVM
Date: Mon, 10 Feb 2020 04:34:13 -0800	[thread overview]
Message-ID: <20200210122435.348438600@linuxfoundation.org> (raw)
In-Reply-To: <20200210122406.106356946@linuxfoundation.org>

From: Sean Christopherson <sean.j.christopherson@intel.com>

[ Upstream commit 736c291c9f36b07f8889c61764c28edce20e715d ]

Convert a plethora of parameters and variables in the MMU and page fault
flows from type gva_t to gpa_t to properly handle TDP on 32-bit KVM.

Thanks to PSE and PAE paging, 32-bit kernels can access 64-bit physical
addresses.  When TDP is enabled, the fault address is a guest physical
address and thus can be a 64-bit value, even when both KVM and its guest
are using 32-bit virtual addressing, e.g. VMX's VMCS.GUEST_PHYSICAL is a
64-bit field, not a natural width field.

Using a gva_t for the fault address means KVM will incorrectly drop the
upper 32-bits of the GPA.  Ditto for gva_to_gpa() when it is used to
translate L2 GPAs to L1 GPAs.

Opportunistically rename variables and parameters to better reflect the
dual address modes, e.g. use "cr2_or_gpa" for fault addresses and plain
"addr" instead of "vaddr" when the address may be either a GVA or an L2
GPA.  Similarly, use "gpa" in the nonpaging_page_fault() flows to avoid
a confusing "gpa_t gva" declaration; this also sets the stage for a
future patch to combing nonpaging_page_fault() and tdp_page_fault() with
minimal churn.

Sprinkle in a few comments to document flows where an address is known
to be a GVA and thus can be safely truncated to a 32-bit value.  Add
WARNs in kvm_handle_page_fault() and FNAME(gva_to_gpa_nested)() to help
document such cases and detect bugs.

Cc: stable@vger.kernel.org
Signed-off-by: Sean Christopherson <sean.j.christopherson@intel.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/include/asm/kvm_host.h |  8 ++--
 arch/x86/kvm/mmu.c              | 69 +++++++++++++++++++--------------
 arch/x86/kvm/mmutrace.h         | 12 +++---
 arch/x86/kvm/paging_tmpl.h      | 25 +++++++-----
 arch/x86/kvm/x86.c              | 40 +++++++++----------
 arch/x86/kvm/x86.h              |  2 +-
 include/linux/kvm_host.h        |  6 +--
 virt/kvm/async_pf.c             | 10 ++---
 8 files changed, 94 insertions(+), 78 deletions(-)

diff --git a/arch/x86/include/asm/kvm_host.h b/arch/x86/include/asm/kvm_host.h
index 10434cf402dee..c1ed054c103c3 100644
--- a/arch/x86/include/asm/kvm_host.h
+++ b/arch/x86/include/asm/kvm_host.h
@@ -380,12 +380,12 @@ struct kvm_mmu {
 	void (*set_cr3)(struct kvm_vcpu *vcpu, unsigned long root);
 	unsigned long (*get_cr3)(struct kvm_vcpu *vcpu);
 	u64 (*get_pdptr)(struct kvm_vcpu *vcpu, int index);
-	int (*page_fault)(struct kvm_vcpu *vcpu, gva_t gva, u32 err,
+	int (*page_fault)(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 err,
 			  bool prefault);
 	void (*inject_page_fault)(struct kvm_vcpu *vcpu,
 				  struct x86_exception *fault);
-	gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t gva, u32 access,
-			    struct x86_exception *exception);
+	gpa_t (*gva_to_gpa)(struct kvm_vcpu *vcpu, gpa_t gva_or_gpa,
+			    u32 access, struct x86_exception *exception);
 	gpa_t (*translate_gpa)(struct kvm_vcpu *vcpu, gpa_t gpa, u32 access,
 			       struct x86_exception *exception);
 	int (*sync_page)(struct kvm_vcpu *vcpu,
@@ -1451,7 +1451,7 @@ void kvm_vcpu_deactivate_apicv(struct kvm_vcpu *vcpu);
 
 int kvm_emulate_hypercall(struct kvm_vcpu *vcpu);
 
-int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t gva, u64 error_code,
+int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
 		       void *insn, int insn_len);
 void kvm_mmu_invlpg(struct kvm_vcpu *vcpu, gva_t gva);
 void kvm_mmu_invpcid_gva(struct kvm_vcpu *vcpu, gva_t gva, unsigned long pcid);
diff --git a/arch/x86/kvm/mmu.c b/arch/x86/kvm/mmu.c
index d05c10651398f..d7aa34bb318a5 100644
--- a/arch/x86/kvm/mmu.c
+++ b/arch/x86/kvm/mmu.c
@@ -3532,7 +3532,7 @@ static bool is_access_allowed(u32 fault_err_code, u64 spte)
  * - true: let the vcpu to access on the same address again.
  * - false: let the real page fault path to fix it.
  */
-static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
+static bool fast_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, int level,
 			    u32 error_code)
 {
 	struct kvm_shadow_walk_iterator iterator;
@@ -3552,7 +3552,7 @@ static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
 	do {
 		u64 new_spte;
 
-		for_each_shadow_entry_lockless(vcpu, gva, iterator, spte)
+		for_each_shadow_entry_lockless(vcpu, cr2_or_gpa, iterator, spte)
 			if (!is_shadow_present_pte(spte) ||
 			    iterator.level < level)
 				break;
@@ -3630,7 +3630,7 @@ static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
 
 	} while (true);
 
-	trace_fast_page_fault(vcpu, gva, error_code, iterator.sptep,
+	trace_fast_page_fault(vcpu, cr2_or_gpa, error_code, iterator.sptep,
 			      spte, fault_handled);
 	walk_shadow_page_lockless_end(vcpu);
 
@@ -3638,10 +3638,11 @@ static bool fast_page_fault(struct kvm_vcpu *vcpu, gva_t gva, int level,
 }
 
 static bool try_async_pf(struct kvm_vcpu *vcpu, bool prefault, gfn_t gfn,
-			 gva_t gva, kvm_pfn_t *pfn, bool write, bool *writable);
+			 gpa_t cr2_or_gpa, kvm_pfn_t *pfn, bool write,
+			 bool *writable);
 static int make_mmu_pages_available(struct kvm_vcpu *vcpu);
 
-static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, u32 error_code,
+static int nonpaging_map(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code,
 			 gfn_t gfn, bool prefault)
 {
 	int r;
@@ -3667,16 +3668,16 @@ static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, u32 error_code,
 		gfn &= ~(KVM_PAGES_PER_HPAGE(level) - 1);
 	}
 
-	if (fast_page_fault(vcpu, v, level, error_code))
+	if (fast_page_fault(vcpu, gpa, level, error_code))
 		return RET_PF_RETRY;
 
 	mmu_seq = vcpu->kvm->mmu_notifier_seq;
 	smp_rmb();
 
-	if (try_async_pf(vcpu, prefault, gfn, v, &pfn, write, &map_writable))
+	if (try_async_pf(vcpu, prefault, gfn, gpa, &pfn, write, &map_writable))
 		return RET_PF_RETRY;
 
-	if (handle_abnormal_pfn(vcpu, v, gfn, pfn, ACC_ALL, &r))
+	if (handle_abnormal_pfn(vcpu, gpa, gfn, pfn, ACC_ALL, &r))
 		return r;
 
 	r = RET_PF_RETRY;
@@ -3687,7 +3688,7 @@ static int nonpaging_map(struct kvm_vcpu *vcpu, gva_t v, u32 error_code,
 		goto out_unlock;
 	if (likely(!force_pt_level))
 		transparent_hugepage_adjust(vcpu, gfn, &pfn, &level);
-	r = __direct_map(vcpu, v, write, map_writable, level, pfn,
+	r = __direct_map(vcpu, gpa, write, map_writable, level, pfn,
 			 prefault, false);
 out_unlock:
 	spin_unlock(&vcpu->kvm->mmu_lock);
@@ -3985,7 +3986,7 @@ void kvm_mmu_sync_roots(struct kvm_vcpu *vcpu)
 }
 EXPORT_SYMBOL_GPL(kvm_mmu_sync_roots);
 
-static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr,
+static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gpa_t vaddr,
 				  u32 access, struct x86_exception *exception)
 {
 	if (exception)
@@ -3993,7 +3994,7 @@ static gpa_t nonpaging_gva_to_gpa(struct kvm_vcpu *vcpu, gva_t vaddr,
 	return vaddr;
 }
 
-static gpa_t nonpaging_gva_to_gpa_nested(struct kvm_vcpu *vcpu, gva_t vaddr,
+static gpa_t nonpaging_gva_to_gpa_nested(struct kvm_vcpu *vcpu, gpa_t vaddr,
 					 u32 access,
 					 struct x86_exception *exception)
 {
@@ -4153,13 +4154,14 @@ static void shadow_page_table_clear_flood(struct kvm_vcpu *vcpu, gva_t addr)
 	walk_shadow_page_lockless_end(vcpu);
 }
 
-static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
+static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa,
 				u32 error_code, bool prefault)
 {
-	gfn_t gfn = gva >> PAGE_SHIFT;
+	gfn_t gfn = gpa >> PAGE_SHIFT;
 	int r;
 
-	pgprintk("%s: gva %lx error %x\n", __func__, gva, error_code);
+	/* Note, paging is disabled, ergo gva == gpa. */
+	pgprintk("%s: gva %lx error %x\n", __func__, gpa, error_code);
 
 	if (page_fault_handle_page_track(vcpu, error_code, gfn))
 		return RET_PF_EMULATE;
@@ -4171,11 +4173,12 @@ static int nonpaging_page_fault(struct kvm_vcpu *vcpu, gva_t gva,
 	MMU_WARN_ON(!VALID_PAGE(vcpu->arch.mmu->root_hpa));
 
 
-	return nonpaging_map(vcpu, gva & PAGE_MASK,
+	return nonpaging_map(vcpu, gpa & PAGE_MASK,
 			     error_code, gfn, prefault);
 }
 
-static int kvm_arch_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, gfn_t gfn)
+static int kvm_arch_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+				   gfn_t gfn)
 {
 	struct kvm_arch_async_pf arch;
 
@@ -4184,11 +4187,13 @@ static int kvm_arch_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, gfn_t gfn)
 	arch.direct_map = vcpu->arch.mmu->direct_map;
 	arch.cr3 = vcpu->arch.mmu->get_cr3(vcpu);
 
-	return kvm_setup_async_pf(vcpu, gva, kvm_vcpu_gfn_to_hva(vcpu, gfn), &arch);
+	return kvm_setup_async_pf(vcpu, cr2_or_gpa,
+				  kvm_vcpu_gfn_to_hva(vcpu, gfn), &arch);
 }
 
 static bool try_async_pf(struct kvm_vcpu *vcpu, bool prefault, gfn_t gfn,
-			 gva_t gva, kvm_pfn_t *pfn, bool write, bool *writable)
+			 gpa_t cr2_or_gpa, kvm_pfn_t *pfn, bool write,
+			 bool *writable)
 {
 	struct kvm_memory_slot *slot;
 	bool async;
@@ -4208,12 +4213,12 @@ static bool try_async_pf(struct kvm_vcpu *vcpu, bool prefault, gfn_t gfn,
 		return false; /* *pfn has correct page already */
 
 	if (!prefault && kvm_can_do_async_pf(vcpu)) {
-		trace_kvm_try_async_get_page(gva, gfn);
+		trace_kvm_try_async_get_page(cr2_or_gpa, gfn);
 		if (kvm_find_async_pf_gfn(vcpu, gfn)) {
-			trace_kvm_async_pf_doublefault(gva, gfn);
+			trace_kvm_async_pf_doublefault(cr2_or_gpa, gfn);
 			kvm_make_request(KVM_REQ_APF_HALT, vcpu);
 			return true;
-		} else if (kvm_arch_setup_async_pf(vcpu, gva, gfn))
+		} else if (kvm_arch_setup_async_pf(vcpu, cr2_or_gpa, gfn))
 			return true;
 	}
 
@@ -4226,6 +4231,12 @@ int kvm_handle_page_fault(struct kvm_vcpu *vcpu, u64 error_code,
 {
 	int r = 1;
 
+#ifndef CONFIG_X86_64
+	/* A 64-bit CR2 should be impossible on 32-bit KVM. */
+	if (WARN_ON_ONCE(fault_address >> 32))
+		return -EFAULT;
+#endif
+
 	vcpu->arch.l1tf_flush_l1d = true;
 	switch (vcpu->arch.apf.host_apf_reason) {
 	default:
@@ -4263,7 +4274,7 @@ check_hugepage_cache_consistency(struct kvm_vcpu *vcpu, gfn_t gfn, int level)
 	return kvm_mtrr_check_gfn_range_consistency(vcpu, gfn, page_num);
 }
 
-static int tdp_page_fault(struct kvm_vcpu *vcpu, gva_t gpa, u32 error_code,
+static int tdp_page_fault(struct kvm_vcpu *vcpu, gpa_t gpa, u32 error_code,
 			  bool prefault)
 {
 	kvm_pfn_t pfn;
@@ -5520,7 +5531,7 @@ static int make_mmu_pages_available(struct kvm_vcpu *vcpu)
 	return 0;
 }
 
-int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
+int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u64 error_code,
 		       void *insn, int insn_len)
 {
 	int r, emulation_type = 0;
@@ -5529,18 +5540,18 @@ int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
 	/* With shadow page tables, fault_address contains a GVA or nGPA.  */
 	if (vcpu->arch.mmu->direct_map) {
 		vcpu->arch.gpa_available = true;
-		vcpu->arch.gpa_val = cr2;
+		vcpu->arch.gpa_val = cr2_or_gpa;
 	}
 
 	r = RET_PF_INVALID;
 	if (unlikely(error_code & PFERR_RSVD_MASK)) {
-		r = handle_mmio_page_fault(vcpu, cr2, direct);
+		r = handle_mmio_page_fault(vcpu, cr2_or_gpa, direct);
 		if (r == RET_PF_EMULATE)
 			goto emulate;
 	}
 
 	if (r == RET_PF_INVALID) {
-		r = vcpu->arch.mmu->page_fault(vcpu, cr2,
+		r = vcpu->arch.mmu->page_fault(vcpu, cr2_or_gpa,
 					       lower_32_bits(error_code),
 					       false);
 		WARN_ON(r == RET_PF_INVALID);
@@ -5560,7 +5571,7 @@ int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
 	 */
 	if (vcpu->arch.mmu->direct_map &&
 	    (error_code & PFERR_NESTED_GUEST_PAGE) == PFERR_NESTED_GUEST_PAGE) {
-		kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(cr2));
+		kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(cr2_or_gpa));
 		return 1;
 	}
 
@@ -5575,7 +5586,7 @@ int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
 	 * explicitly shadowing L1's page tables, i.e. unprotecting something
 	 * for L1 isn't going to magically fix whatever issue cause L2 to fail.
 	 */
-	if (!mmio_info_in_cache(vcpu, cr2, direct) && !is_guest_mode(vcpu))
+	if (!mmio_info_in_cache(vcpu, cr2_or_gpa, direct) && !is_guest_mode(vcpu))
 		emulation_type = EMULTYPE_ALLOW_RETRY;
 emulate:
 	/*
@@ -5590,7 +5601,7 @@ int kvm_mmu_page_fault(struct kvm_vcpu *vcpu, gva_t cr2, u64 error_code,
 			return 1;
 	}
 
-	return x86_emulate_instruction(vcpu, cr2, emulation_type, insn,
+	return x86_emulate_instruction(vcpu, cr2_or_gpa, emulation_type, insn,
 				       insn_len);
 }
 EXPORT_SYMBOL_GPL(kvm_mmu_page_fault);
diff --git a/arch/x86/kvm/mmutrace.h b/arch/x86/kvm/mmutrace.h
index 7ca8831c7d1a2..3c6522b84ff11 100644
--- a/arch/x86/kvm/mmutrace.h
+++ b/arch/x86/kvm/mmutrace.h
@@ -249,13 +249,13 @@ TRACE_EVENT(
 
 TRACE_EVENT(
 	fast_page_fault,
-	TP_PROTO(struct kvm_vcpu *vcpu, gva_t gva, u32 error_code,
+	TP_PROTO(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa, u32 error_code,
 		 u64 *sptep, u64 old_spte, bool retry),
-	TP_ARGS(vcpu, gva, error_code, sptep, old_spte, retry),
+	TP_ARGS(vcpu, cr2_or_gpa, error_code, sptep, old_spte, retry),
 
 	TP_STRUCT__entry(
 		__field(int, vcpu_id)
-		__field(gva_t, gva)
+		__field(gpa_t, cr2_or_gpa)
 		__field(u32, error_code)
 		__field(u64 *, sptep)
 		__field(u64, old_spte)
@@ -265,7 +265,7 @@ TRACE_EVENT(
 
 	TP_fast_assign(
 		__entry->vcpu_id = vcpu->vcpu_id;
-		__entry->gva = gva;
+		__entry->cr2_or_gpa = cr2_or_gpa;
 		__entry->error_code = error_code;
 		__entry->sptep = sptep;
 		__entry->old_spte = old_spte;
@@ -273,9 +273,9 @@ TRACE_EVENT(
 		__entry->retry = retry;
 	),
 
-	TP_printk("vcpu %d gva %lx error_code %s sptep %p old %#llx"
+	TP_printk("vcpu %d gva %llx error_code %s sptep %p old %#llx"
 		  " new %llx spurious %d fixed %d", __entry->vcpu_id,
-		  __entry->gva, __print_flags(__entry->error_code, "|",
+		  __entry->cr2_or_gpa, __print_flags(__entry->error_code, "|",
 		  kvm_mmu_trace_pferr_flags), __entry->sptep,
 		  __entry->old_spte, __entry->new_spte,
 		  __spte_satisfied(old_spte), __spte_satisfied(new_spte)
diff --git a/arch/x86/kvm/paging_tmpl.h b/arch/x86/kvm/paging_tmpl.h
index 97b21e7fd013d..c1d7b866a03fa 100644
--- a/arch/x86/kvm/paging_tmpl.h
+++ b/arch/x86/kvm/paging_tmpl.h
@@ -291,11 +291,11 @@ static inline unsigned FNAME(gpte_pkeys)(struct kvm_vcpu *vcpu, u64 gpte)
 }
 
 /*
- * Fetch a guest pte for a guest virtual address
+ * Fetch a guest pte for a guest virtual address, or for an L2's GPA.
  */
 static int FNAME(walk_addr_generic)(struct guest_walker *walker,
 				    struct kvm_vcpu *vcpu, struct kvm_mmu *mmu,
-				    gva_t addr, u32 access)
+				    gpa_t addr, u32 access)
 {
 	int ret;
 	pt_element_t pte;
@@ -496,7 +496,7 @@ static int FNAME(walk_addr_generic)(struct guest_walker *walker,
 }
 
 static int FNAME(walk_addr)(struct guest_walker *walker,
-			    struct kvm_vcpu *vcpu, gva_t addr, u32 access)
+			    struct kvm_vcpu *vcpu, gpa_t addr, u32 access)
 {
 	return FNAME(walk_addr_generic)(walker, vcpu, vcpu->arch.mmu, addr,
 					access);
@@ -611,7 +611,7 @@ static void FNAME(pte_prefetch)(struct kvm_vcpu *vcpu, struct guest_walker *gw,
  * If the guest tries to write a write-protected page, we need to
  * emulate this operation, return 1 to indicate this case.
  */
-static int FNAME(fetch)(struct kvm_vcpu *vcpu, gva_t addr,
+static int FNAME(fetch)(struct kvm_vcpu *vcpu, gpa_t addr,
 			 struct guest_walker *gw,
 			 int write_fault, int hlevel,
 			 kvm_pfn_t pfn, bool map_writable, bool prefault,
@@ -765,7 +765,7 @@ FNAME(is_self_change_mapping)(struct kvm_vcpu *vcpu,
  *  Returns: 1 if we need to emulate the instruction, 0 otherwise, or
  *           a negative value on error.
  */
-static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gva_t addr, u32 error_code,
+static int FNAME(page_fault)(struct kvm_vcpu *vcpu, gpa_t addr, u32 error_code,
 			     bool prefault)
 {
 	int write_fault = error_code & PFERR_WRITE_MASK;
@@ -945,18 +945,19 @@ static void FNAME(invlpg)(struct kvm_vcpu *vcpu, gva_t gva, hpa_t root_hpa)
 	spin_unlock(&vcpu->kvm->mmu_lock);
 }
 
-static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr, u32 access,
+/* Note, @addr is a GPA when gva_to_gpa() translates an L2 GPA to an L1 GPA. */
+static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gpa_t addr, u32 access,
 			       struct x86_exception *exception)
 {
 	struct guest_walker walker;
 	gpa_t gpa = UNMAPPED_GVA;
 	int r;
 
-	r = FNAME(walk_addr)(&walker, vcpu, vaddr, access);
+	r = FNAME(walk_addr)(&walker, vcpu, addr, access);
 
 	if (r) {
 		gpa = gfn_to_gpa(walker.gfn);
-		gpa |= vaddr & ~PAGE_MASK;
+		gpa |= addr & ~PAGE_MASK;
 	} else if (exception)
 		*exception = walker.fault;
 
@@ -964,7 +965,8 @@ static gpa_t FNAME(gva_to_gpa)(struct kvm_vcpu *vcpu, gva_t vaddr, u32 access,
 }
 
 #if PTTYPE != PTTYPE_EPT
-static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gva_t vaddr,
+/* Note, gva_to_gpa_nested() is only used to translate L2 GVAs. */
+static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gpa_t vaddr,
 				      u32 access,
 				      struct x86_exception *exception)
 {
@@ -972,6 +974,11 @@ static gpa_t FNAME(gva_to_gpa_nested)(struct kvm_vcpu *vcpu, gva_t vaddr,
 	gpa_t gpa = UNMAPPED_GVA;
 	int r;
 
+#ifndef CONFIG_X86_64
+	/* A 64-bit GVA should be impossible on 32-bit KVM. */
+	WARN_ON_ONCE(vaddr >> 32);
+#endif
+
 	r = FNAME(walk_addr_nested)(&walker, vcpu, vaddr, access);
 
 	if (r) {
diff --git a/arch/x86/kvm/x86.c b/arch/x86/kvm/x86.c
index 92e025d1b5175..edde5ee8c6f50 100644
--- a/arch/x86/kvm/x86.c
+++ b/arch/x86/kvm/x86.c
@@ -6409,11 +6409,11 @@ static int handle_emulation_failure(struct kvm_vcpu *vcpu, int emulation_type)
 	return 1;
 }
 
-static bool reexecute_instruction(struct kvm_vcpu *vcpu, gva_t cr2,
+static bool reexecute_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
 				  bool write_fault_to_shadow_pgtable,
 				  int emulation_type)
 {
-	gpa_t gpa = cr2;
+	gpa_t gpa = cr2_or_gpa;
 	kvm_pfn_t pfn;
 
 	if (!(emulation_type & EMULTYPE_ALLOW_RETRY))
@@ -6427,7 +6427,7 @@ static bool reexecute_instruction(struct kvm_vcpu *vcpu, gva_t cr2,
 		 * Write permission should be allowed since only
 		 * write access need to be emulated.
 		 */
-		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL);
+		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2_or_gpa, NULL);
 
 		/*
 		 * If the mapping is invalid in guest, let cpu retry
@@ -6484,10 +6484,10 @@ static bool reexecute_instruction(struct kvm_vcpu *vcpu, gva_t cr2,
 }
 
 static bool retry_instruction(struct x86_emulate_ctxt *ctxt,
-			      unsigned long cr2,  int emulation_type)
+			      gpa_t cr2_or_gpa,  int emulation_type)
 {
 	struct kvm_vcpu *vcpu = emul_to_vcpu(ctxt);
-	unsigned long last_retry_eip, last_retry_addr, gpa = cr2;
+	unsigned long last_retry_eip, last_retry_addr, gpa = cr2_or_gpa;
 
 	last_retry_eip = vcpu->arch.last_retry_eip;
 	last_retry_addr = vcpu->arch.last_retry_addr;
@@ -6516,14 +6516,14 @@ static bool retry_instruction(struct x86_emulate_ctxt *ctxt,
 	if (x86_page_table_writing_insn(ctxt))
 		return false;
 
-	if (ctxt->eip == last_retry_eip && last_retry_addr == cr2)
+	if (ctxt->eip == last_retry_eip && last_retry_addr == cr2_or_gpa)
 		return false;
 
 	vcpu->arch.last_retry_eip = ctxt->eip;
-	vcpu->arch.last_retry_addr = cr2;
+	vcpu->arch.last_retry_addr = cr2_or_gpa;
 
 	if (!vcpu->arch.mmu->direct_map)
-		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2, NULL);
+		gpa = kvm_mmu_gva_to_gpa_write(vcpu, cr2_or_gpa, NULL);
 
 	kvm_mmu_unprotect_page(vcpu->kvm, gpa_to_gfn(gpa));
 
@@ -6669,11 +6669,8 @@ static bool is_vmware_backdoor_opcode(struct x86_emulate_ctxt *ctxt)
 	return false;
 }
 
-int x86_emulate_instruction(struct kvm_vcpu *vcpu,
-			    unsigned long cr2,
-			    int emulation_type,
-			    void *insn,
-			    int insn_len)
+int x86_emulate_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+			    int emulation_type, void *insn, int insn_len)
 {
 	int r;
 	struct x86_emulate_ctxt *ctxt = &vcpu->arch.emulate_ctxt;
@@ -6719,8 +6716,9 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu,
 				kvm_queue_exception(vcpu, UD_VECTOR);
 				return 1;
 			}
-			if (reexecute_instruction(vcpu, cr2, write_fault_to_spt,
-						emulation_type))
+			if (reexecute_instruction(vcpu, cr2_or_gpa,
+						  write_fault_to_spt,
+						  emulation_type))
 				return 1;
 			if (ctxt->have_exception) {
 				/*
@@ -6754,7 +6752,7 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu,
 		return 1;
 	}
 
-	if (retry_instruction(ctxt, cr2, emulation_type))
+	if (retry_instruction(ctxt, cr2_or_gpa, emulation_type))
 		return 1;
 
 	/* this is needed for vmware backdoor interface to work since it
@@ -6766,7 +6764,7 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu,
 
 restart:
 	/* Save the faulting GPA (cr2) in the address field */
-	ctxt->exception.address = cr2;
+	ctxt->exception.address = cr2_or_gpa;
 
 	r = x86_emulate_insn(ctxt);
 
@@ -6774,7 +6772,7 @@ int x86_emulate_instruction(struct kvm_vcpu *vcpu,
 		return 1;
 
 	if (r == EMULATION_FAILED) {
-		if (reexecute_instruction(vcpu, cr2, write_fault_to_spt,
+		if (reexecute_instruction(vcpu, cr2_or_gpa, write_fault_to_spt,
 					emulation_type))
 			return 1;
 
@@ -10051,7 +10049,7 @@ void kvm_arch_async_page_ready(struct kvm_vcpu *vcpu, struct kvm_async_pf *work)
 	      work->arch.cr3 != vcpu->arch.mmu->get_cr3(vcpu))
 		return;
 
-	vcpu->arch.mmu->page_fault(vcpu, work->gva, 0, true);
+	vcpu->arch.mmu->page_fault(vcpu, work->cr2_or_gpa, 0, true);
 }
 
 static inline u32 kvm_async_pf_hash_fn(gfn_t gfn)
@@ -10164,7 +10162,7 @@ void kvm_arch_async_page_not_present(struct kvm_vcpu *vcpu,
 {
 	struct x86_exception fault;
 
-	trace_kvm_async_pf_not_present(work->arch.token, work->gva);
+	trace_kvm_async_pf_not_present(work->arch.token, work->cr2_or_gpa);
 	kvm_add_async_pf_gfn(vcpu, work->arch.gfn);
 
 	if (kvm_can_deliver_async_pf(vcpu) &&
@@ -10199,7 +10197,7 @@ void kvm_arch_async_page_present(struct kvm_vcpu *vcpu,
 		work->arch.token = ~0; /* broadcast wakeup */
 	else
 		kvm_del_async_pf_gfn(vcpu, work->arch.gfn);
-	trace_kvm_async_pf_ready(work->arch.token, work->gva);
+	trace_kvm_async_pf_ready(work->arch.token, work->cr2_or_gpa);
 
 	if (vcpu->arch.apf.msr_val & KVM_ASYNC_PF_ENABLED &&
 	    !apf_get_user(vcpu, &val)) {
diff --git a/arch/x86/kvm/x86.h b/arch/x86/kvm/x86.h
index dbf7442a822b6..de6b55484876a 100644
--- a/arch/x86/kvm/x86.h
+++ b/arch/x86/kvm/x86.h
@@ -286,7 +286,7 @@ int kvm_mtrr_get_msr(struct kvm_vcpu *vcpu, u32 msr, u64 *pdata);
 bool kvm_mtrr_check_gfn_range_consistency(struct kvm_vcpu *vcpu, gfn_t gfn,
 					  int page_num);
 bool kvm_vector_hashing_enabled(void);
-int x86_emulate_instruction(struct kvm_vcpu *vcpu, unsigned long cr2,
+int x86_emulate_instruction(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
 			    int emulation_type, void *insn, int insn_len);
 
 #define KVM_SUPPORTED_XCR0     (XFEATURE_MASK_FP | XFEATURE_MASK_SSE \
diff --git a/include/linux/kvm_host.h b/include/linux/kvm_host.h
index abfc2fbde957c..7d1564c408972 100644
--- a/include/linux/kvm_host.h
+++ b/include/linux/kvm_host.h
@@ -204,7 +204,7 @@ struct kvm_async_pf {
 	struct list_head queue;
 	struct kvm_vcpu *vcpu;
 	struct mm_struct *mm;
-	gva_t gva;
+	gpa_t cr2_or_gpa;
 	unsigned long addr;
 	struct kvm_arch_async_pf arch;
 	bool   wakeup_all;
@@ -212,8 +212,8 @@ struct kvm_async_pf {
 
 void kvm_clear_async_pf_completion_queue(struct kvm_vcpu *vcpu);
 void kvm_check_async_pf_completion(struct kvm_vcpu *vcpu);
-int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, unsigned long hva,
-		       struct kvm_arch_async_pf *arch);
+int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+		       unsigned long hva, struct kvm_arch_async_pf *arch);
 int kvm_async_pf_wakeup_all(struct kvm_vcpu *vcpu);
 #endif
 
diff --git a/virt/kvm/async_pf.c b/virt/kvm/async_pf.c
index 35305d6e68cc6..d8ef708a2ef67 100644
--- a/virt/kvm/async_pf.c
+++ b/virt/kvm/async_pf.c
@@ -64,7 +64,7 @@ static void async_pf_execute(struct work_struct *work)
 	struct mm_struct *mm = apf->mm;
 	struct kvm_vcpu *vcpu = apf->vcpu;
 	unsigned long addr = apf->addr;
-	gva_t gva = apf->gva;
+	gpa_t cr2_or_gpa = apf->cr2_or_gpa;
 	int locked = 1;
 
 	might_sleep();
@@ -92,7 +92,7 @@ static void async_pf_execute(struct work_struct *work)
 	 * this point
 	 */
 
-	trace_kvm_async_pf_completed(addr, gva);
+	trace_kvm_async_pf_completed(addr, cr2_or_gpa);
 
 	if (swq_has_sleeper(&vcpu->wq))
 		swake_up_one(&vcpu->wq);
@@ -165,8 +165,8 @@ void kvm_check_async_pf_completion(struct kvm_vcpu *vcpu)
 	}
 }
 
-int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, unsigned long hva,
-		       struct kvm_arch_async_pf *arch)
+int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gpa_t cr2_or_gpa,
+		       unsigned long hva, struct kvm_arch_async_pf *arch)
 {
 	struct kvm_async_pf *work;
 
@@ -185,7 +185,7 @@ int kvm_setup_async_pf(struct kvm_vcpu *vcpu, gva_t gva, unsigned long hva,
 
 	work->wakeup_all = false;
 	work->vcpu = vcpu;
-	work->gva = gva;
+	work->cr2_or_gpa = cr2_or_gpa;
 	work->addr = hva;
 	work->arch = *arch;
 	work->mm = current->mm;
-- 
2.20.1




  parent reply	other threads:[~2020-02-10 13:11 UTC|newest]

Thread overview: 321+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-02-10 12:29 [PATCH 5.4 000/309] 5.4.19-stable review Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 001/309] sparc32: fix struct ipc64_perm type definition Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 002/309] bnxt_en: Move devlink_register before registering netdev Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 003/309] cls_rsvp: fix rsvp_policy Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 004/309] gtp: use __GFP_NOWARN to avoid memalloc warning Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 005/309] l2tp: Allow duplicate session creation with UDP Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 006/309] net: hsr: fix possible NULL deref in hsr_handle_frame() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 007/309] net_sched: fix an OOB access in cls_tcindex Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 008/309] net: stmmac: Delete txtimer in suspend() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 009/309] bnxt_en: Fix TC queue mapping Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 010/309] rxrpc: Fix use-after-free in rxrpc_put_local() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 011/309] rxrpc: Fix insufficient receive notification generation Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 012/309] rxrpc: Fix missing active use pinning of rxrpc_local object Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 013/309] rxrpc: Fix NULL pointer deref due to call->conn being cleared on disconnect Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 014/309] tcp: clear tp->total_retrans in tcp_disconnect() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 015/309] tcp: clear tp->delivered " Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 016/309] tcp: clear tp->data_segs{in|out} " Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 017/309] tcp: clear tp->segs_{in|out} " Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 018/309] ionic: fix rxq comp packet type mask Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 019/309] MAINTAINERS: correct entries for ISDN/mISDN section Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 020/309] netdevsim: fix stack-out-of-bounds in nsim_dev_debugfs_init() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 021/309] bnxt_en: Fix logic that disables Bus Master during firmware reset Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 022/309] media: uvcvideo: Avoid cyclic entity chains due to malformed USB descriptors Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 023/309] mfd: dln2: More sanity checking for endpoints Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 024/309] netfilter: ipset: fix suspicious RCU usage in find_set_and_id Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 025/309] ipc/msg.c: consolidate all xxxctl_down() functions Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 026/309] tracing/kprobes: Have uname use __get_str() in print_fmt Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 027/309] tracing: Fix sched switch start/stop refcount racy updates Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 028/309] rcu: Use *_ONCE() to protect lockless ->expmask accesses Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 029/309] rcu: Avoid data-race in rcu_gp_fqs_check_wake() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 030/309] srcu: Apply *_ONCE() to ->srcu_last_gp_end Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 031/309] rcu: Use READ_ONCE() for ->expmask in rcu_read_unlock_special() Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 032/309] nvmet: Fix error print message at nvmet_install_queue function Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 033/309] nvmet: Fix controller use after free Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 034/309] Bluetooth: btusb: fix memory leak on fw Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 035/309] Bluetooth: btusb: Disable runtime suspend on Realtek devices Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 036/309] brcmfmac: Fix memory leak in brcmf_usbdev_qinit Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 037/309] usb: dwc3: gadget: Check END_TRANSFER completion Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 038/309] usb: dwc3: gadget: Delay starting transfer Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 039/309] usb: typec: tcpci: mask event interrupts when remove driver Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 040/309] objtool: Silence build output Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 041/309] usb: gadget: f_fs: set req->num_sgs as 0 for non-sg transfer Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 042/309] usb: gadget: legacy: set max_speed to super-speed Greg Kroah-Hartman
2020-02-10 12:29 ` [PATCH 5.4 043/309] usb: gadget: f_ncm: Use atomic_t to track in-flight request Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 044/309] usb: gadget: f_ecm: " Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 045/309] ALSA: usb-audio: Fix endianess in descriptor validation Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 046/309] ALSA: usb-audio: Annotate endianess in Scarlett gen2 quirk Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 047/309] ALSA: dummy: Fix PCM format loop in proc output Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 048/309] memcg: fix a crash in wb_workfn when a device disappears Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 049/309] mm/sparse.c: reset sections mem_map when fully deactivated Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 050/309] mmc: sdhci-pci: Make function amd_sdhci_reset static Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 051/309] utimes: Clamp the timestamps in notify_change() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 052/309] mm/memory_hotplug: fix remove_memory() lockdep splat Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 053/309] mm: thp: dont need care deferred split queue in memcg charge move path Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 054/309] mm: move_pages: report the number of non-attempted pages Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 055/309] media/v4l2-core: set pages dirty upon releasing DMA buffers Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 056/309] media: v4l2-core: compat: ignore native command codes Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 057/309] media: v4l2-rect.h: fix v4l2_rect_map_inside() top/left adjustments Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 058/309] lib/test_kasan.c: fix memory leak in kmalloc_oob_krealloc_more() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 059/309] irqdomain: Fix a memory leak in irq_domain_push_irq() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 060/309] x86/cpu: Update cached HLE state on write to TSX_CTRL_CPUID_CLEAR Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 061/309] platform/x86: intel_scu_ipc: Fix interrupt support Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 062/309] ALSA: hda: Apply aligned MMIO access only conditionally Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 063/309] ALSA: hda: Add Clevo W65_67SB the power_save blacklist Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 064/309] ALSA: hda: Add JasperLake PCI ID and codec vid Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 065/309] arm64: acpi: fix DAIF manipulation with pNMI Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 066/309] KVM: arm64: Correct PSTATE on exception entry Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 067/309] KVM: arm/arm64: Correct CPSR " Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 068/309] KVM: arm/arm64: Correct AArch32 SPSR " Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 069/309] KVM: arm64: Only sign-extend MMIO up to register width Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 070/309] MIPS: syscalls: fix indentation of the SYSNR message Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 071/309] MIPS: fix indentation of the RELOCS message Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 072/309] MIPS: boot: fix typo in vmlinux.lzma.its target Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 073/309] s390/mm: fix dynamic pagetable upgrade for hugetlbfs Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 074/309] powerpc/mmu_gather: enable RCU_TABLE_FREE even for !SMP case Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 075/309] powerpc/ptdump: Fix W+X verification Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 076/309] powerpc/xmon: dont access ASDR in VMs Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 077/309] powerpc/pseries: Advance pfn if section is not present in lmb_is_removable() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 078/309] powerpc/32s: Fix bad_kuap_fault() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 079/309] powerpc/32s: Fix CPU wake-up from sleep mode Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 080/309] tracing: Fix now invalid var_ref_vals assumption in trace action Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 081/309] PCI: tegra: Fix return value check of pm_runtime_get_sync() Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 082/309] PCI: keystone: Fix outbound region mapping Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 083/309] PCI: keystone: Fix link training retries initiation Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 084/309] PCI: keystone: Fix error handling when "num-viewport" DT property is not populated Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 085/309] mmc: spi: Toggle SPI polarity, do not hardcode it Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 086/309] ACPI: video: Do not export a non working backlight interface on MSI MS-7721 boards Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 087/309] ACPI / battery: Deal with design or full capacity being reported as -1 Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 088/309] ACPI / battery: Use design-cap for capacity calculations if full-cap is not available Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 089/309] ACPI / battery: Deal better with neither design nor full capacity not being reported Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 090/309] alarmtimer: Unregister wakeup source when module get fails Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 091/309] fscrypt: dont print name of busy file when removing key Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 092/309] ubifs: dont trigger assertion on invalid no-key filename Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 093/309] ubifs: Fix wrong memory allocation Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 094/309] ubifs: Fix FS_IOC_SETFLAGS unexpectedly clearing encrypt flag Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 095/309] ubifs: Fix deadlock in concurrent bulk-read and writepage Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 096/309] mmc: sdhci-of-at91: fix memleak on clk_get failure Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 097/309] ASoC: SOF: core: free trace on errors Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 098/309] hv_balloon: Balloon up according to request page number Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 099/309] mfd: axp20x: Mark AXP20X_VBUS_IPSOUT_MGMT as volatile Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 100/309] nvmem: core: fix memory abort in cleanup path Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 101/309] crypto: api - Check spawn->alg under lock in crypto_drop_spawn Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 102/309] crypto: ccree - fix backlog memory leak Greg Kroah-Hartman
2020-02-10 12:30 ` [PATCH 5.4 103/309] crypto: ccree - fix AEAD decrypt auth fail Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 104/309] crypto: ccree - fix pm wrongful error reporting Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 105/309] crypto: ccree - fix FDE descriptor sequence Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 106/309] crypto: ccree - fix PM race condition Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 107/309] padata: Remove broken queue flushing Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 108/309] fs: allow deduplication of eof block into the end of the destination file Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 109/309] scripts/find-unused-docs: Fix massive false positives Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 110/309] erofs: fix out-of-bound read for shifted uncompressed block Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 111/309] scsi: megaraid_sas: Do not initiate OCR if controller is not in ready state Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 112/309] scsi: qla2xxx: Fix mtcp dump collection failure Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 113/309] cpupower: Revert library ABI changes from commit ae2917093fb60bdc1ed3e Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 114/309] power: supply: axp20x_ac_power: Fix reporting online status Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 115/309] power: supply: ltc2941-battery-gauge: fix use-after-free Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 116/309] ovl: fix wrong WARN_ON() in ovl_cache_update_ino() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 117/309] ovl: fix lseek overflow on 32bit Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 118/309] f2fs: choose hardlimit when softlimit is larger than hardlimit in f2fs_statfs_project() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 119/309] f2fs: fix miscounted block limit " Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 120/309] f2fs: code cleanup for f2fs_statfs_project() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 121/309] f2fs: fix dcache lookup of !casefolded directories Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 122/309] f2fs: fix race conditions in ->d_compare() and ->d_hash() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 123/309] PM: core: Fix handling of devices deleted during system-wide resume Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 124/309] cpufreq: Avoid creating excessively large stack frames Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 125/309] of: Add OF_DMA_DEFAULT_COHERENT & select it on powerpc Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 126/309] ARM: dma-api: fix max_pfn off-by-one error in __dma_supported() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 127/309] dm zoned: support zone sizes smaller than 128MiB Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 128/309] dm space map common: fix to ensure new block isnt already in use Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 129/309] dm writecache: fix incorrect flush sequence when doing SSD mode commit Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 130/309] dm crypt: fix GFP flags passed to skcipher_request_alloc() Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 131/309] dm crypt: fix benbi IV constructor crash if used in authenticated mode Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 132/309] dm thin metadata: use pool locking at end of dm_pool_metadata_close Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 133/309] dm: fix potential for q->make_request_fn NULL pointer Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 134/309] scsi: qla2xxx: Fix stuck login session using prli_pend_timer Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 135/309] ASoC: SOF: Introduce state machine for FW boot Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 136/309] ASoC: SOF: core: release resources on errors in probe_continue Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 137/309] tracing: Annotate ftrace_graph_hash pointer with __rcu Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 138/309] tracing: Annotate ftrace_graph_notrace_hash " Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 139/309] ftrace: Add comment to why rcu_dereference_sched() is open coded Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 140/309] ftrace: Protect ftrace_graph_hash with ftrace_sync Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 141/309] crypto: pcrypt - Avoid deadlock by using per-instance padata queues Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 142/309] btrfs: fix improper setting of scanned for range cyclic write cache pages Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 143/309] btrfs: Handle another split brain scenario with metadata uuid feature Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 144/309] riscv, bpf: Fix broken BPF tail calls Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 145/309] selftests/bpf: Fix perf_buffer test on systems w/ offline CPUs Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 146/309] bpf, devmap: Pass lockdep expression to RCU lists Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 147/309] libbpf: Fix realloc usage in bpf_core_find_cands Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 148/309] tc-testing: fix eBPF tests failure on linux fresh clones Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 149/309] samples/bpf: Dont try to remove users homedir on clean Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 150/309] samples/bpf: Xdp_redirect_cpu fix missing tracepoint attach Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 151/309] selftests/bpf: Fix test_attach_probe Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 152/309] selftests/bpf: Skip perf hw events test if the setup disabled it Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 153/309] selftests: bpf: Use a temporary file in test_sockmap Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 154/309] selftests: bpf: Ignore FIN packets for reuseport tests Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 155/309] crypto: api - fix unexpectedly getting generic implementation Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 156/309] crypto: hisilicon - Use the offset fields in sqe to avoid need to split scatterlists Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 157/309] crypto: ccp - set max RSA modulus size for v3 platform devices as well Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 158/309] crypto: arm64/ghash-neon - bump priority to 150 Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 159/309] crypto: pcrypt - Do not clear MAY_SLEEP flag in original request Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 160/309] crypto: atmel-aes - Fix counter overflow in CTR mode Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 161/309] crypto: api - Fix race condition in crypto_spawn_alg Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 162/309] crypto: picoxcell - adjust the position of tasklet_init and fix missed tasklet_kill Greg Kroah-Hartman
2020-02-10 12:31 ` [PATCH 5.4 163/309] powerpc/futex: Fix incorrect user access blocking Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 164/309] scsi: qla2xxx: Fix unbound NVME response length Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 165/309] NFS: Fix memory leaks and corruption in readdir Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 166/309] NFS: Directory page cache pages need to be locked when read Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 167/309] nfsd: fix filecache lookup Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 168/309] jbd2_seq_info_next should increase position index Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 169/309] ext4: fix deadlock allocating crypto bounce page from mempool Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 170/309] ext4: fix race conditions in ->d_compare() and ->d_hash() Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 171/309] Btrfs: fix missing hole after hole punching and fsync when using NO_HOLES Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 172/309] Btrfs: make deduplication with range including the last block work Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 173/309] Btrfs: fix infinite loop during fsync after rename operations Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 174/309] btrfs: set trans->drity in btrfs_commit_transaction Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 175/309] btrfs: drop log root for dropped roots Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 176/309] Btrfs: fix race between adding and putting tree mod seq elements and nodes Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 177/309] btrfs: flush write bio if we loop in extent_write_cache_pages Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 178/309] btrfs: Correctly handle empty trees in find_first_clear_extent_bit Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 179/309] ARM: tegra: Enable PLLP bypass during Tegra124 LP1 Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 180/309] iwlwifi: dont throw error when trying to remove IGTK Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 181/309] mwifiex: fix unbalanced locking in mwifiex_process_country_ie() Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 182/309] sunrpc: expiry_time should be seconds not timeval Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 183/309] gfs2: fix gfs2_find_jhead that returns uninitialized jhead with seq 0 Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 184/309] gfs2: move setting current->backing_dev_info Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 185/309] gfs2: fix O_SYNC write handling Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 186/309] drm: atmel-hlcdc: use double rate for pixel clock only if supported Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 187/309] drm: atmel-hlcdc: enable clock before configuring timing engine Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 188/309] drm: atmel-hlcdc: prefer a lower pixel-clock than requested Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 189/309] drm/rect: Avoid division by zero Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 190/309] media: iguanair: fix endpoint sanity check Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 191/309] media: rc: ensure lirc is initialized before registering input device Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 192/309] tools/kvm_stat: Fix kvm_exit filter name Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 193/309] xen/balloon: Support xend-based toolstack take two Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 194/309] watchdog: fix UAF in reboot notifier handling in watchdog core code Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 195/309] bcache: add readahead cache policy options via sysfs interface Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 196/309] eventfd: track eventfd_signal() recursion depth Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 197/309] aio: prevent potential eventfd recursion on poll Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 198/309] KVM: x86: Refactor picdev_write() to prevent Spectre-v1/L1TF attacks Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 199/309] KVM: x86: Refactor prefix decoding " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 200/309] KVM: x86: Protect pmu_intel.c from " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 201/309] KVM: x86: Protect DR-based index computations " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 202/309] KVM: x86: Protect kvm_lapic_reg_write() " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 203/309] KVM: x86: Protect kvm_hv_msr_[get|set]_crash_data() " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 204/309] KVM: x86: Protect ioapic_write_indirect() " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 205/309] KVM: x86: Protect MSR-based index computations in pmu.h " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 206/309] KVM: x86: Protect ioapic_read_indirect() " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 207/309] KVM: x86: Protect MSR-based index computations from Spectre-v1/L1TF attacks in x86.c Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 208/309] KVM: x86: Protect x86_decode_insn from Spectre-v1/L1TF attacks Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 209/309] KVM: x86: Protect MSR-based index computations in fixed_msr_to_seg_unit() " Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 210/309] KVM: x86: Fix potential put_fpu() w/o load_fpu() on MPX platform Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 211/309] KVM: PPC: Book3S HV: Uninit vCPU if vcore creation fails Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 212/309] KVM: PPC: Book3S PR: Free shared page if mmu initialization fails Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 213/309] kvm/svm: PKU not currently supported Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 214/309] x86/kvm: Be careful not to clear KVM_VCPU_FLUSH_TLB bit Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 215/309] x86/kvm: Introduce kvm_(un)map_gfn() Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 216/309] x86/KVM: Make sure KVM_VCPU_FLUSH_TLB flag is not missed Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 217/309] x86/kvm: Cache gfn to pfn translation Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 218/309] x86/KVM: Clean up hosts steal time structure Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 219/309] KVM: VMX: Add non-canonical check on writes to RTIT address MSRs Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 220/309] KVM: x86: Dont let userspace set host-reserved cr4 bits Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 221/309] KVM: x86: Free wbinvd_dirty_mask if vCPU creation fails Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 222/309] KVM: x86: Handle TIF_NEED_FPU_LOAD in kvm_{load,put}_guest_fpu() Greg Kroah-Hartman
2020-02-10 12:32 ` [PATCH 5.4 223/309] KVM: x86: Ensure guests FPU state is loaded when accessing for emulation Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 224/309] KVM: x86: Revert "KVM: X86: Fix fpu state crash in kvm guest" Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 225/309] KVM: s390: do not clobber registers during guest reset/store status Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 226/309] ocfs2: fix oops when writing cloned file Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 227/309] mm/page_alloc.c: fix uninitialized memmaps on a partially populated last section Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 228/309] arm64: dts: qcom: qcs404-evb: Set vdd_apc regulator in high power mode Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 229/309] mm/mmu_gather: invalidate TLB correctly on batch allocation failure and flush Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 230/309] clk: tegra: Mark fuse clock as critical Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 231/309] drm/amd/dm/mst: Ignore payload update failures Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 232/309] virtio-balloon: initialize all vq callbacks Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 233/309] virtio-pci: check name when counting MSI-X vectors Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 234/309] fix up iter on short count in fuse_direct_io() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 235/309] broken ping to ipv6 linklocal addresses on debian buster Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 236/309] percpu: Separate decrypted varaibles anytime encryption can be enabled Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 237/309] ASoC: meson: axg-fifo: fix fifo threshold setup Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 238/309] scsi: qla2xxx: Fix the endianness of the qla82xx_get_fw_size() return type Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 239/309] scsi: csiostor: Adjust indentation in csio_device_reset Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 240/309] scsi: qla4xxx: Adjust indentation in qla4xxx_mem_free Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 241/309] scsi: ufs: Recheck bkops level if bkops is disabled Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 242/309] mtd: spi-nor: Split mt25qu512a (n25q512a) entry into two Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 243/309] phy: qualcomm: Adjust indentation in read_poll_timeout Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 244/309] ext2: Adjust indentation in ext2_fill_super Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 245/309] powerpc/44x: Adjust indentation in ibm4xx_denali_fixup_memsize Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 246/309] drm: msm: mdp4: Adjust indentation in mdp4_dsi_encoder_enable Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 247/309] NFC: pn544: Adjust indentation in pn544_hci_check_presence Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 248/309] ppp: Adjust indentation into ppp_async_input Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 249/309] net: smc911x: Adjust indentation in smc911x_phy_configure Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 250/309] net: tulip: Adjust indentation in {dmfe, uli526x}_init_module Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 251/309] IB/mlx5: Fix outstanding_pi index for GSI qps Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 252/309] IB/core: Fix ODP get user pages flow Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 253/309] nfsd: fix delay timer on 32-bit architectures Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 254/309] nfsd: fix jiffies/time_t mixup in LRU list Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 255/309] nfsd: Return the correct number of bytes written to the file Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 256/309] virtio-balloon: Fix memory leak when unloading while hinting is in progress Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 257/309] virtio_balloon: Fix memory leaks on errors in virtballoon_probe() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 258/309] ubi: fastmap: Fix inverted logic in seen selfcheck Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 259/309] ubi: Fix an error pointer dereference in error handling code Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 260/309] ubifs: Fix memory leak from c->sup_node Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 261/309] regulator: core: Add regulator_is_equal() helper Greg Kroah-Hartman
2020-02-10 13:03   ` Fabio Estevam
2020-02-10 13:42     ` Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 262/309] ASoC: sgtl5000: Fix VDDA and VDDIO comparison Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 263/309] bonding/alb: properly access headers in bond_alb_xmit() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 264/309] devlink: report 0 after hitting end in region read Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 265/309] dpaa_eth: support all modes with rate adapting PHYs Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 266/309] net: dsa: b53: Always use dev->vlan_enabled in b53_configure_vlan() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 267/309] net: dsa: bcm_sf2: Only 7278 supports 2Gb/sec IMP port Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 268/309] net: dsa: microchip: enable module autoprobe Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 269/309] net: mvneta: move rx_dropped and rx_errors in per-cpu stats Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 270/309] net_sched: fix a resource leak in tcindex_set_parms() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 271/309] net: stmmac: fix a possible endless loop Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 272/309] net: systemport: Avoid RBUF stuck in Wake-on-LAN mode Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 273/309] net/mlx5: IPsec, Fix esp modify function attribute Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 274/309] net/mlx5: IPsec, fix memory leak at mlx5_fpga_ipsec_delete_sa_ctx Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 275/309] net: macb: Remove unnecessary alignment check for TSO Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 276/309] net: macb: Limit maximum GEM TX length in TSO Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 277/309] taprio: Fix enabling offload with wrong number of traffic classes Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 278/309] taprio: Fix still allowing changing the flags during runtime Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 279/309] taprio: Add missing policy validation for flags Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 280/309] taprio: Use taprio_reset_tc() to reset Traffic Classes configuration Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 281/309] taprio: Fix dropping packets when using taprio + ETF offloading Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 282/309] ipv6/addrconf: fix potential NULL deref in inet6_set_link_af() Greg Kroah-Hartman
2020-02-10 12:33 ` [PATCH 5.4 283/309] qed: Fix timestamping issue for L2 unicast ptp packets Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 284/309] drop_monitor: Do not cancel uninitialized work item Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 285/309] net/mlx5: Fix deadlock in fs_core Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 286/309] net/mlx5: Deprecate usage of generic TLS HW capability bit Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 287/309] ASoC: Intel: skl_hda_dsp_common: Fix global-out-of-bounds bug Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 288/309] mfd: da9062: Fix watchdog compatible string Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 289/309] mfd: rn5t618: Mark ADC control register volatile Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 290/309] mfd: bd70528: Fix hour register mask Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 291/309] x86/timer: Dont skip PIT setup when APIC is disabled or in legacy mode Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 292/309] btrfs: use bool argument in free_root_pointers() Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 293/309] btrfs: free block groups after freeing fs trees Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 294/309] drm/dp_mst: Remove VCPI while disabling topology mgr Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 295/309] KVM: x86/mmu: Apply max PA check for MMIO sptes to 32-bit KVM Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 296/309] KVM: x86: use CPUID to locate host page table reserved bits Greg Kroah-Hartman
2020-02-10 12:34 ` Greg Kroah-Hartman [this message]
2020-02-10 12:34 ` [PATCH 5.4 298/309] KVM: x86: fix overlap between SPTE_MMIO_MASK and generation Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 299/309] KVM: nVMX: vmread should not set rflags to specify success in case of #PF Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 300/309] KVM: Use vcpu-specific gva->hva translation when querying host page size Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 301/309] KVM: Play nice with read-only memslots " Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 302/309] cifs: fail i/o on soft mounts if sessionsetup errors out Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 303/309] cifs: fix mode bits from dir listing when mounted with modefromsid Greg Kroah-Hartman
2020-02-10 19:10   ` [EXTERNAL] " Pavel Shilovskiy
2020-02-10 19:17     ` Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 304/309] x86/apic/msi: Plug non-maskable MSI affinity race Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 305/309] clocksource: Prevent double add_timer_on() for watchdog_timer Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 306/309] perf/core: Fix mlock accounting in perf_mmap() Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 307/309] rxrpc: Fix service call disconnection Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 308/309] regulator fix for "regulator: core: Add regulator_is_equal() helper" Greg Kroah-Hartman
2020-02-10 12:34 ` [PATCH 5.4 309/309] powerpc/kuap: Fix set direction in allow/prevent_user_access() Greg Kroah-Hartman
2020-02-10 18:54 ` [PATCH 5.4 000/309] 5.4.19-stable review Naresh Kamboju
2020-02-10 20:04 ` Jon Hunter
2020-02-10 21:41 ` Guenter Roeck
2020-02-10 22:42 ` shuah
2020-02-12  7:35 ` Jeffrin Jose
2020-02-12 13:30   ` Greg Kroah-Hartman
2020-02-12 21:17     ` Jeffrin Jose

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200210122435.348438600@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=pbonzini@redhat.com \
    --cc=sashal@kernel.org \
    --cc=sean.j.christopherson@intel.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).