All of lore.kernel.org
 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: 322+ 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 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.