patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Paolo Bonzini <pbonzini@redhat.com>
Subject: [PATCH 6.1 007/149] KVM: SEV: snapshot the GHCB before accessing it
Date: Sun, 13 Aug 2023 23:17:32 +0200	[thread overview]
Message-ID: <20230813211718.983186091@linuxfoundation.org> (raw)
In-Reply-To: <20230813211718.757428827@linuxfoundation.org>

From: Paolo Bonzini <pbonzini@redhat.com>

commit 4e15a0ddc3ff40e8ea84032213976ecf774d7f77 upstream.

Validation of the GHCB is susceptible to time-of-check/time-of-use vulnerabilities.
To avoid them, we would like to always snapshot the fields that are read in
sev_es_validate_vmgexit(), and not use the GHCB anymore after it returns.

This means:

- invoking sev_es_sync_from_ghcb() before any GHCB access, including before
  sev_es_validate_vmgexit()

- snapshotting all fields including the valid bitmap and the sw_scratch field,
  which are currently not caching anywhere.

The valid bitmap is the first thing to be copied out of the GHCB; then,
further accesses will use the copy in svm->sev_es.

Fixes: 291bd20d5d88 ("KVM: SVM: Add initial support for a VMGEXIT VMEXIT")
Cc: stable@vger.kernel.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/x86/kvm/svm/sev.c |   69 ++++++++++++++++++++++++-------------------------
 arch/x86/kvm/svm/svm.h |   26 ++++++++++++++++++
 2 files changed, 61 insertions(+), 34 deletions(-)

--- a/arch/x86/kvm/svm/sev.c
+++ b/arch/x86/kvm/svm/sev.c
@@ -2410,15 +2410,18 @@ static void sev_es_sync_from_ghcb(struct
 	 */
 	memset(vcpu->arch.regs, 0, sizeof(vcpu->arch.regs));
 
-	vcpu->arch.regs[VCPU_REGS_RAX] = ghcb_get_rax_if_valid(ghcb);
-	vcpu->arch.regs[VCPU_REGS_RBX] = ghcb_get_rbx_if_valid(ghcb);
-	vcpu->arch.regs[VCPU_REGS_RCX] = ghcb_get_rcx_if_valid(ghcb);
-	vcpu->arch.regs[VCPU_REGS_RDX] = ghcb_get_rdx_if_valid(ghcb);
-	vcpu->arch.regs[VCPU_REGS_RSI] = ghcb_get_rsi_if_valid(ghcb);
+	BUILD_BUG_ON(sizeof(svm->sev_es.valid_bitmap) != sizeof(ghcb->save.valid_bitmap));
+	memcpy(&svm->sev_es.valid_bitmap, &ghcb->save.valid_bitmap, sizeof(ghcb->save.valid_bitmap));
 
-	svm->vmcb->save.cpl = ghcb_get_cpl_if_valid(ghcb);
+	vcpu->arch.regs[VCPU_REGS_RAX] = kvm_ghcb_get_rax_if_valid(svm, ghcb);
+	vcpu->arch.regs[VCPU_REGS_RBX] = kvm_ghcb_get_rbx_if_valid(svm, ghcb);
+	vcpu->arch.regs[VCPU_REGS_RCX] = kvm_ghcb_get_rcx_if_valid(svm, ghcb);
+	vcpu->arch.regs[VCPU_REGS_RDX] = kvm_ghcb_get_rdx_if_valid(svm, ghcb);
+	vcpu->arch.regs[VCPU_REGS_RSI] = kvm_ghcb_get_rsi_if_valid(svm, ghcb);
 
-	if (ghcb_xcr0_is_valid(ghcb)) {
+	svm->vmcb->save.cpl = kvm_ghcb_get_cpl_if_valid(svm, ghcb);
+
+	if (kvm_ghcb_xcr0_is_valid(svm)) {
 		vcpu->arch.xcr0 = ghcb_get_xcr0(ghcb);
 		kvm_update_cpuid_runtime(vcpu);
 	}
@@ -2429,6 +2432,7 @@ static void sev_es_sync_from_ghcb(struct
 	control->exit_code_hi = upper_32_bits(exit_code);
 	control->exit_info_1 = ghcb_get_sw_exit_info_1(ghcb);
 	control->exit_info_2 = ghcb_get_sw_exit_info_2(ghcb);
+	svm->sev_es.sw_scratch = kvm_ghcb_get_sw_scratch_if_valid(svm, ghcb);
 
 	/* Clear the valid entries fields */
 	memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap));
@@ -2457,56 +2461,56 @@ static int sev_es_validate_vmgexit(struc
 
 	reason = GHCB_ERR_MISSING_INPUT;
 
-	if (!ghcb_sw_exit_code_is_valid(ghcb) ||
-	    !ghcb_sw_exit_info_1_is_valid(ghcb) ||
-	    !ghcb_sw_exit_info_2_is_valid(ghcb))
+	if (!kvm_ghcb_sw_exit_code_is_valid(svm) ||
+	    !kvm_ghcb_sw_exit_info_1_is_valid(svm) ||
+	    !kvm_ghcb_sw_exit_info_2_is_valid(svm))
 		goto vmgexit_err;
 
 	switch (ghcb_get_sw_exit_code(ghcb)) {
 	case SVM_EXIT_READ_DR7:
 		break;
 	case SVM_EXIT_WRITE_DR7:
-		if (!ghcb_rax_is_valid(ghcb))
+		if (!kvm_ghcb_rax_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_EXIT_RDTSC:
 		break;
 	case SVM_EXIT_RDPMC:
-		if (!ghcb_rcx_is_valid(ghcb))
+		if (!kvm_ghcb_rcx_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_EXIT_CPUID:
-		if (!ghcb_rax_is_valid(ghcb) ||
-		    !ghcb_rcx_is_valid(ghcb))
+		if (!kvm_ghcb_rax_is_valid(svm) ||
+		    !kvm_ghcb_rcx_is_valid(svm))
 			goto vmgexit_err;
 		if (ghcb_get_rax(ghcb) == 0xd)
-			if (!ghcb_xcr0_is_valid(ghcb))
+			if (!kvm_ghcb_xcr0_is_valid(svm))
 				goto vmgexit_err;
 		break;
 	case SVM_EXIT_INVD:
 		break;
 	case SVM_EXIT_IOIO:
 		if (ghcb_get_sw_exit_info_1(ghcb) & SVM_IOIO_STR_MASK) {
-			if (!ghcb_sw_scratch_is_valid(ghcb))
+			if (!kvm_ghcb_sw_scratch_is_valid(svm))
 				goto vmgexit_err;
 		} else {
 			if (!(ghcb_get_sw_exit_info_1(ghcb) & SVM_IOIO_TYPE_MASK))
-				if (!ghcb_rax_is_valid(ghcb))
+				if (!kvm_ghcb_rax_is_valid(svm))
 					goto vmgexit_err;
 		}
 		break;
 	case SVM_EXIT_MSR:
-		if (!ghcb_rcx_is_valid(ghcb))
+		if (!kvm_ghcb_rcx_is_valid(svm))
 			goto vmgexit_err;
 		if (ghcb_get_sw_exit_info_1(ghcb)) {
-			if (!ghcb_rax_is_valid(ghcb) ||
-			    !ghcb_rdx_is_valid(ghcb))
+			if (!kvm_ghcb_rax_is_valid(svm) ||
+			    !kvm_ghcb_rdx_is_valid(svm))
 				goto vmgexit_err;
 		}
 		break;
 	case SVM_EXIT_VMMCALL:
-		if (!ghcb_rax_is_valid(ghcb) ||
-		    !ghcb_cpl_is_valid(ghcb))
+		if (!kvm_ghcb_rax_is_valid(svm) ||
+		    !kvm_ghcb_cpl_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_EXIT_RDTSCP:
@@ -2514,19 +2518,19 @@ static int sev_es_validate_vmgexit(struc
 	case SVM_EXIT_WBINVD:
 		break;
 	case SVM_EXIT_MONITOR:
-		if (!ghcb_rax_is_valid(ghcb) ||
-		    !ghcb_rcx_is_valid(ghcb) ||
-		    !ghcb_rdx_is_valid(ghcb))
+		if (!kvm_ghcb_rax_is_valid(svm) ||
+		    !kvm_ghcb_rcx_is_valid(svm) ||
+		    !kvm_ghcb_rdx_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_EXIT_MWAIT:
-		if (!ghcb_rax_is_valid(ghcb) ||
-		    !ghcb_rcx_is_valid(ghcb))
+		if (!kvm_ghcb_rax_is_valid(svm) ||
+		    !kvm_ghcb_rcx_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_VMGEXIT_MMIO_READ:
 	case SVM_VMGEXIT_MMIO_WRITE:
-		if (!ghcb_sw_scratch_is_valid(ghcb))
+		if (!kvm_ghcb_sw_scratch_is_valid(svm))
 			goto vmgexit_err;
 		break;
 	case SVM_VMGEXIT_NMI_COMPLETE:
@@ -2556,9 +2560,6 @@ vmgexit_err:
 		dump_ghcb(svm);
 	}
 
-	/* Clear the valid entries fields */
-	memset(ghcb->save.valid_bitmap, 0, sizeof(ghcb->save.valid_bitmap));
-
 	ghcb_set_sw_exit_info_1(ghcb, 2);
 	ghcb_set_sw_exit_info_2(ghcb, reason);
 
@@ -2579,7 +2580,7 @@ void sev_es_unmap_ghcb(struct vcpu_svm *
 		 */
 		if (svm->sev_es.ghcb_sa_sync) {
 			kvm_write_guest(svm->vcpu.kvm,
-					ghcb_get_sw_scratch(svm->sev_es.ghcb),
+					svm->sev_es.sw_scratch,
 					svm->sev_es.ghcb_sa,
 					svm->sev_es.ghcb_sa_len);
 			svm->sev_es.ghcb_sa_sync = false;
@@ -2630,7 +2631,7 @@ static int setup_vmgexit_scratch(struct
 	u64 scratch_gpa_beg, scratch_gpa_end;
 	void *scratch_va;
 
-	scratch_gpa_beg = ghcb_get_sw_scratch(ghcb);
+	scratch_gpa_beg = svm->sev_es.sw_scratch;
 	if (!scratch_gpa_beg) {
 		pr_err("vmgexit: scratch gpa not provided\n");
 		goto e_scratch;
@@ -2846,11 +2847,11 @@ int sev_handle_vmgexit(struct kvm_vcpu *
 
 	exit_code = ghcb_get_sw_exit_code(ghcb);
 
+	sev_es_sync_from_ghcb(svm);
 	ret = sev_es_validate_vmgexit(svm);
 	if (ret)
 		return ret;
 
-	sev_es_sync_from_ghcb(svm);
 	ghcb_set_sw_exit_info_1(ghcb, 0);
 	ghcb_set_sw_exit_info_2(ghcb, 0);
 
--- a/arch/x86/kvm/svm/svm.h
+++ b/arch/x86/kvm/svm/svm.h
@@ -196,10 +196,12 @@ struct vcpu_sev_es_state {
 	/* SEV-ES support */
 	struct sev_es_save_area *vmsa;
 	struct ghcb *ghcb;
+	u8 valid_bitmap[16];
 	struct kvm_host_map ghcb_map;
 	bool received_first_sipi;
 
 	/* SEV-ES scratch area support */
+	u64 sw_scratch;
 	void *ghcb_sa;
 	u32 ghcb_sa_len;
 	bool ghcb_sa_sync;
@@ -688,4 +690,28 @@ void sev_es_unmap_ghcb(struct vcpu_svm *
 void __svm_sev_es_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted);
 void __svm_vcpu_run(struct vcpu_svm *svm, bool spec_ctrl_intercepted);
 
+#define DEFINE_KVM_GHCB_ACCESSORS(field)						\
+	static __always_inline bool kvm_ghcb_##field##_is_valid(const struct vcpu_svm *svm) \
+	{									\
+		return test_bit(GHCB_BITMAP_IDX(field),				\
+				(unsigned long *)&svm->sev_es.valid_bitmap);	\
+	}									\
+										\
+	static __always_inline u64 kvm_ghcb_get_##field##_if_valid(struct vcpu_svm *svm, struct ghcb *ghcb) \
+	{									\
+		return kvm_ghcb_##field##_is_valid(svm) ? ghcb->save.field : 0;	\
+	}									\
+
+DEFINE_KVM_GHCB_ACCESSORS(cpl)
+DEFINE_KVM_GHCB_ACCESSORS(rax)
+DEFINE_KVM_GHCB_ACCESSORS(rcx)
+DEFINE_KVM_GHCB_ACCESSORS(rdx)
+DEFINE_KVM_GHCB_ACCESSORS(rbx)
+DEFINE_KVM_GHCB_ACCESSORS(rsi)
+DEFINE_KVM_GHCB_ACCESSORS(sw_exit_code)
+DEFINE_KVM_GHCB_ACCESSORS(sw_exit_info_1)
+DEFINE_KVM_GHCB_ACCESSORS(sw_exit_info_2)
+DEFINE_KVM_GHCB_ACCESSORS(sw_scratch)
+DEFINE_KVM_GHCB_ACCESSORS(xcr0)
+
 #endif



  parent reply	other threads:[~2023-08-13 21:33 UTC|newest]

Thread overview: 167+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-13 21:17 [PATCH 6.1 000/149] 6.1.46-rc1 review Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 001/149] gcc-plugins: Reorganize gimple includes for GCC 13 Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 002/149] Revert "loongarch/cpu: Switch to arch_cpu_finalize_init()" Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 003/149] tpm: Disable RNG for all AMD fTPMs Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 004/149] tpm: Add a helper for checking hwrng enabled Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 005/149] ksmbd: validate command request size Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 006/149] ksmbd: fix wrong next length validation of ea buffer in smb2_set_ea() Greg Kroah-Hartman
2023-08-13 21:17 ` Greg Kroah-Hartman [this message]
2023-08-13 21:17 ` [PATCH 6.1 008/149] KVM: SEV: only access GHCB fields once Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 009/149] wifi: nl80211: fix integer overflow in nl80211_parse_mbssid_elems() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 010/149] wifi: rtw89: fix 8852AE disconnection caused by RX full flags Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 011/149] selftests: forwarding: Set default IPv6 traceroute utility Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 012/149] wireguard: allowedips: expand maximum node depth Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 013/149] mmc: moxart: read scr register without changing byte order Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 014/149] ipv6: adjust ndisc_is_useropt() to also return true for PIO Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 015/149] selftests: mptcp: join: fix delete and re-add test Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 016/149] selftests: mptcp: join: fix implicit EP test Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 017/149] mptcp: avoid bogus reset on fallback close Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 018/149] mptcp: fix disconnect vs accept race Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 019/149] dmaengine: pl330: Return DMA_PAUSED when transaction is paused Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 020/149] net: mana: Fix MANA VF unload when hardware is unresponsive Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 021/149] riscv/kexec: load initrd high in available memory Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 022/149] riscv,mmio: Fix readX()-to-delay() ordering Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 023/149] riscv/kexec: handle R_RISCV_CALL_PLT relocation type Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 024/149] nvme-pci: add NVME_QUIRK_BOGUS_NID for Samsung PM9B1 256G and 512G Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 025/149] drm/nouveau/gr: enable memory loads on helper invocation on all channels Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 026/149] drm/nouveau/nvkm/dp: Add workaround to fix DP 1.3+ DPCD issues Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 027/149] drm/shmem-helper: Reset vma->vm_ops before calling dma_buf_mmap() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 028/149] drm/amdgpu: fix possible UAF in amdgpu_cs_pass1() Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 029/149] drm/amd/display: check attr flag before set cursor degamma on DCN3+ Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 030/149] drm/amdgpu: add S/G display parameter Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 031/149] drm/amd: Disable S/G for APUs when 64GB or more host memory Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 032/149] drm/amd/display: limit DPIA link rate to HBR3 Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 033/149] cpuidle: dt_idle_genpd: Add helper function to remove genpd topology Greg Kroah-Hartman
2023-08-13 21:17 ` [PATCH 6.1 034/149] hwmon: (pmbus/bel-pfe) Enable PMBUS_SKIP_STATUS_CHECK for pfe1100 Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 035/149] radix tree test suite: fix incorrect allocation size for pthreads Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 036/149] nilfs2: fix use-after-free of nilfs_root in dirtying inodes via iput Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 037/149] drm/amd/pm: fulfill swsmu peak profiling mode shader/memory clock settings Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 038/149] drm/amd/pm: expose swctf threshold setting for legacy powerplay Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 039/149] drm/amd/pm: fulfill powerplay peak profiling mode shader/memory clock settings Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 040/149] drm/amd/pm: avoid unintentional shutdown due to temperature momentary fluctuation Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 041/149] drm/amd/display: Handle virtual hardware detect Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 042/149] drm/amd/display: Add function for validate and update new stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 043/149] drm/amd/display: Handle seamless boot stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 044/149] drm/amd/display: Update OTG instance in the commit stream Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 045/149] drm/amd/display: Avoid ABM when ODM combine is enabled for eDP Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 046/149] drm/amd/display: Use update plane and stream routine for DCN32x Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 047/149] drm/amd/display: Disable phantom OTG after enable for plane disable Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 048/149] drm/amd/display: Retain phantom plane/stream if validation fails Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 049/149] drm/amd/display: fix the build when DRM_AMD_DC_DCN is not set Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 050/149] drm/amd/display: trigger timing sync only if TG is running Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 051/149] io_uring: correct check for O_TMPFILE Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 052/149] iio: cros_ec: Fix the allocation size for cros_ec_command Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 053/149] iio: frequency: admv1013: propagate errors from regulator_get_voltage() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 054/149] iio: adc: ad7192: Fix ac excitation feature Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 055/149] iio: adc: ina2xx: avoid NULL pointer dereference on OF device match Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 056/149] binder: fix memory leak in binder_init() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 057/149] misc: rtsx: judge ASPM Mode to set PETXCFG Reg Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 058/149] usb-storage: alauda: Fix uninit-value in alauda_check_media() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 059/149] usb: dwc3: Properly handle processing of pending events Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 060/149] USB: Gadget: core: Help prevent panic during UVC unconfigure Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 061/149] usb: common: usb-conn-gpio: Prevent bailing out if initial role is none Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 062/149] usb: typec: tcpm: Fix response to vsafe0V event Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 063/149] usb: typec: altmodes/displayport: Signal hpd when configuring pin assignment Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 064/149] x86/srso: Fix build breakage with the LLVM linker Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 065/149] x86/cpu/amd: Enable Zenbleed fix for AMD Custom APU 0405 Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 066/149] x86/mm: Fix VDSO and VVAR placement on 5-level paging machines Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 067/149] x86/sev: Do not try to parse for the CC blob on non-AMD hardware Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 068/149] x86/speculation: Add cpu_show_gds() prototype Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 069/149] x86: Move gds_ucode_mitigated() declaration to header Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 070/149] drm/nouveau/disp: Revert a NULL check inside nouveau_connector_get_modes Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 071/149] netfilter: nf_tables: dont skip expired elements during walk Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 072/149] iio: core: Prevent invalid memory access when there is no parent Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 073/149] interconnect: qcom: Add support for mask-based BCMs Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 074/149] interconnect: qcom: sm8450: add enable_mask for bcm nodes Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 075/149] selftests/rseq: Fix build with undefined __weak Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 076/149] selftests: forwarding: Add a helper to skip test when using veth pairs Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 077/149] selftests: forwarding: ethtool: Skip " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 078/149] selftests: forwarding: ethtool_extended_state: " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 079/149] selftests: forwarding: hw_stats_l3_gre: " Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 080/149] selftests: forwarding: Skip test when no interfaces are specified Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 081/149] selftests: forwarding: Switch off timeout Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 082/149] selftests: forwarding: tc_flower: Relax success criterion Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 083/149] net: core: remove unnecessary frame_sz check in bpf_xdp_adjust_tail() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 084/149] bpf, sockmap: Fix map type error in sock_map_del_link Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 085/149] bpf, sockmap: Fix bug that strp_done cannot be called Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 086/149] mISDN: Update parameter type of dsp_cmx_send() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 087/149] macsec: use DEV_STATS_INC() Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 088/149] mptcp: fix the incorrect judgment for msk->cb_flags Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 089/149] net/packet: annotate data-races around tp->status Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 090/149] net/smc: Use correct buffer sizes when switching between TCP and SMC Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 091/149] tcp: add missing family to tcp_set_ca_state() tracepoint Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 092/149] tunnels: fix kasan splat when generating ipv4 pmtu error Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 093/149] xsk: fix refcount underflow in error path Greg Kroah-Hartman
2023-08-13 21:18 ` [PATCH 6.1 094/149] bonding: Fix incorrect deletion of ETH_P_8021AD protocol vid from slaves Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 095/149] dccp: fix data-race around dp->dccps_mss_cache Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 096/149] drivers: net: prevent tun_build_skb() to exceed the packet size limit Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 097/149] drivers: vxlan: vnifilter: free percpu vni stats on error path Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 098/149] iavf: fix potential races for FDIR filters Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 099/149] IB/hfi1: Fix possible panic during hotplug remove Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 100/149] drm/rockchip: Dont spam logs in atomic check Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 101/149] wifi: cfg80211: fix sband iftype data lookup for AP_VLAN Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 102/149] RDMA/umem: Set iova in ODP flow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 103/149] net: tls: avoid discarding data on record close Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 104/149] net: marvell: prestera: fix handling IPv4 routes with nhid Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 105/149] net: phy: at803x: remove set/get wol callbacks for AR8032 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 106/149] net: dsa: ocelot: call dsa_tag_8021q_unregister() under rtnl_lock() on driver remove Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 107/149] net: hns3: refactor hclge_mac_link_status_wait for interface reuse Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 108/149] net: hns3: add wait until mac link down Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 109/149] net: hns3: fix deadlock issue when externel_lb and reset are executed together Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 110/149] nexthop: Fix infinite nexthop dump when using maximum nexthop ID Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 111/149] nexthop: Make nexthop bucket dump more efficient Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 112/149] nexthop: Fix infinite nexthop bucket dump when using maximum nexthop ID Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 113/149] net: hns3: fix strscpy causing content truncation issue Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 114/149] dmaengine: mcf-edma: Fix a potential un-allocated memory access Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 115/149] dmaengine: owl-dma: Modify mismatched function name Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 116/149] net/mlx5: Allow 0 for total host VFs Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 117/149] net/mlx5: LAG, Check correct bucket when modifying LAG Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 118/149] net/mlx5: Skip clock update work when device is in error state Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 119/149] net/mlx5: Reload auxiliary devices in pci error handlers Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 120/149] ibmvnic: Enforce stronger sanity checks on login response Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 121/149] ibmvnic: Unmap DMA login rsp buffer on send login fail Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 122/149] ibmvnic: Handle DMA unmapping of login buffs in release functions Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 123/149] ibmvnic: Do partial reset on login failure Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 124/149] ibmvnic: Ensure login failure recovery is safe from other resets Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 125/149] gpio: ws16c48: Fix off-by-one error in WS16C48 resource region extent Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 126/149] gpio: sim: mark the GPIO chip as a one that can sleep Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 127/149] btrfs: wait for actual caching progress during allocation Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 128/149] btrfs: dont stop integrity writeback too early Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 129/149] btrfs: properly clear end of the unreserved range in cow_file_range Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 130/149] btrfs: exit gracefully if reloc roots dont match Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 131/149] btrfs: reject invalid reloc tree root keys with stack dump Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 132/149] btrfs: set cache_block_group_error if we find an error Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 133/149] nvme-tcp: fix potential unbalanced freeze & unfreeze Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 134/149] nvme-rdma: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 135/149] netfilter: nf_tables: report use refcount overflow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 136/149] scsi: core: Fix legacy /proc parsing buffer overflow Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 137/149] scsi: storvsc: Fix handling of virtual Fibre Channel timeouts Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 138/149] scsi: ufs: renesas: Fix private allocation Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 139/149] scsi: 53c700: Check that command slot is not NULL Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 140/149] scsi: snic: Fix possible memory leak if device_add() fails Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 141/149] scsi: core: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 142/149] scsi: fnic: Replace return codes in fnic_clean_pending_aborts() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 143/149] scsi: qedi: Fix firmware halt over suspend and resume Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 144/149] scsi: qedf: " Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 145/149] platform/x86: serial-multi-instantiate: Auto detect IRQ resource for CSC3551 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 146/149] ACPI: scan: Create platform device for CS35L56 Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 147/149] alpha: remove __init annotation from exported page_is_ram() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 148/149] sch_netem: fix issues in netem_change() vs get_dist_table() Greg Kroah-Hartman
2023-08-13 21:19 ` [PATCH 6.1 149/149] drm/amd/pm/smu7: move variables to where they are used Greg Kroah-Hartman
2023-08-14  5:11 ` [PATCH 6.1 000/149] 6.1.46-rc1 review Bagas Sanjaya
2023-08-14 10:33 ` Takeshi Ogasawara
2023-08-14 14:04 ` Guenter Roeck
2023-08-16 16:26   ` Greg Kroah-Hartman
2023-08-26 15:48     ` Greg Kroah-Hartman
2023-08-27 11:21       ` Guenter Roeck
2023-08-27 16:34         ` Greg Kroah-Hartman
2023-08-14 14:06 ` Conor Dooley
2023-08-14 14:50 ` Thierry Reding
2023-08-14 17:35 ` SeongJae Park
2023-08-14 18:33 ` Guenter Roeck
2023-08-15  0:30 ` Ron Economos
2023-08-15  0:48 ` Shuah Khan
2023-08-15  3:37 ` Daniel Díaz
2023-08-15 16:25 ` Florian Fainelli
2023-08-15 17:09 ` Allen Pais
2023-08-16 22:23 ` Joel Fernandes

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=20230813211718.983186091@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=pbonzini@redhat.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).