stable.vger.kernel.org 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,
	Alexander Gordeev <agordeev@linux.ibm.com>,
	Hendrik Brueckner <brueckner@linux.ibm.com>,
	Thomas Richter <tmricht@linux.ibm.com>,
	Heiko Carstens <hca@linux.ibm.com>
Subject: [PATCH 6.1 024/183] s390/cpum_sf: add READ_ONCE() semantics to compare and swap loops
Date: Mon, 16 Jan 2023 16:49:07 +0100	[thread overview]
Message-ID: <20230116154804.405916747@linuxfoundation.org> (raw)
In-Reply-To: <20230116154803.321528435@linuxfoundation.org>

From: Heiko Carstens <hca@linux.ibm.com>

commit 82d3edb50a11bf3c5ef63294d5358ba230181413 upstream.

The current cmpxchg_double() loops within the perf hw sampling code do not
have READ_ONCE() semantics to read the old value from memory. This allows
the compiler to generate code which reads the "old" value several times
from memory, which again allows for inconsistencies.

For example:

        /* Reset trailer (using compare-double-and-swap) */
        do {
                te_flags = te->flags & ~SDB_TE_BUFFER_FULL_MASK;
                te_flags |= SDB_TE_ALERT_REQ_MASK;
        } while (!cmpxchg_double(&te->flags, &te->overflow,
                 te->flags, te->overflow,
                 te_flags, 0ULL));

The compiler could generate code where te->flags used within the
cmpxchg_double() call may be refetched from memory and which is not
necessarily identical to the previous read version which was used to
generate te_flags. Which in turn means that an incorrect update could
happen.

Fix this by adding READ_ONCE() semantics to all cmpxchg_double()
loops. Given that READ_ONCE() cannot generate code on s390 which atomically
reads 16 bytes, use a private compare-and-swap-double implementation to
achieve that.

Also replace cmpxchg_double() with the private implementation to be able to
re-use the old value within the loops.

As a side effect this converts the whole code to only use bit fields
to read and modify bits within the hws trailer header.

Reported-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Alexander Gordeev <agordeev@linux.ibm.com>
Acked-by: Hendrik Brueckner <brueckner@linux.ibm.com>
Reviewed-by: Thomas Richter <tmricht@linux.ibm.com>
Cc: <stable@vger.kernel.org>
Link: https://lore.kernel.org/linux-s390/Y71QJBhNTIatvxUT@osiris/T/#ma14e2a5f7aa8ed4b94b6f9576799b3ad9c60f333
Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 arch/s390/include/asm/cpu_mf.h  |   31 +++++-------
 arch/s390/kernel/perf_cpum_sf.c |  101 ++++++++++++++++++++++++----------------
 2 files changed, 77 insertions(+), 55 deletions(-)

--- a/arch/s390/include/asm/cpu_mf.h
+++ b/arch/s390/include/asm/cpu_mf.h
@@ -131,19 +131,21 @@ struct hws_combined_entry {
 	struct hws_diag_entry	diag;	/* Diagnostic-sampling data entry */
 } __packed;
 
-struct hws_trailer_entry {
-	union {
-		struct {
-			unsigned int f:1;	/* 0 - Block Full Indicator   */
-			unsigned int a:1;	/* 1 - Alert request control  */
-			unsigned int t:1;	/* 2 - Timestamp format	      */
-			unsigned int :29;	/* 3 - 31: Reserved	      */
-			unsigned int bsdes:16;	/* 32-47: size of basic SDE   */
-			unsigned int dsdes:16;	/* 48-63: size of diagnostic SDE */
-		};
-		unsigned long long flags;	/* 0 - 63: All indicators     */
+union hws_trailer_header {
+	struct {
+		unsigned int f:1;	/* 0 - Block Full Indicator   */
+		unsigned int a:1;	/* 1 - Alert request control  */
+		unsigned int t:1;	/* 2 - Timestamp format	      */
+		unsigned int :29;	/* 3 - 31: Reserved	      */
+		unsigned int bsdes:16;	/* 32-47: size of basic SDE   */
+		unsigned int dsdes:16;	/* 48-63: size of diagnostic SDE */
+		unsigned long long overflow; /* 64 - Overflow Count   */
 	};
-	unsigned long long overflow;	 /* 64 - sample Overflow count	      */
+	__uint128_t val;
+};
+
+struct hws_trailer_entry {
+	union hws_trailer_header header; /* 0 - 15 Flags + Overflow Count     */
 	unsigned char timestamp[16];	 /* 16 - 31 timestamp		      */
 	unsigned long long reserved1;	 /* 32 -Reserved		      */
 	unsigned long long reserved2;	 /*				      */
@@ -290,14 +292,11 @@ static inline unsigned long sample_rate_
 	return USEC_PER_SEC * qsi->cpu_speed / rate;
 }
 
-#define SDB_TE_ALERT_REQ_MASK	0x4000000000000000UL
-#define SDB_TE_BUFFER_FULL_MASK 0x8000000000000000UL
-
 /* Return TOD timestamp contained in an trailer entry */
 static inline unsigned long long trailer_timestamp(struct hws_trailer_entry *te)
 {
 	/* TOD in STCKE format */
-	if (te->t)
+	if (te->header.t)
 		return *((unsigned long long *) &te->timestamp[1]);
 
 	/* TOD in STCK format */
--- a/arch/s390/kernel/perf_cpum_sf.c
+++ b/arch/s390/kernel/perf_cpum_sf.c
@@ -163,14 +163,15 @@ static void free_sampling_buffer(struct
 
 static int alloc_sample_data_block(unsigned long *sdbt, gfp_t gfp_flags)
 {
-	unsigned long sdb, *trailer;
+	struct hws_trailer_entry *te;
+	unsigned long sdb;
 
 	/* Allocate and initialize sample-data-block */
 	sdb = get_zeroed_page(gfp_flags);
 	if (!sdb)
 		return -ENOMEM;
-	trailer = trailer_entry_ptr(sdb);
-	*trailer = SDB_TE_ALERT_REQ_MASK;
+	te = (struct hws_trailer_entry *)trailer_entry_ptr(sdb);
+	te->header.a = 1;
 
 	/* Link SDB into the sample-data-block-table */
 	*sdbt = sdb;
@@ -1206,7 +1207,7 @@ static void hw_collect_samples(struct pe
 					    "%s: Found unknown"
 					    " sampling data entry: te->f %i"
 					    " basic.def %#4x (%p)\n", __func__,
-					    te->f, sample->def, sample);
+					    te->header.f, sample->def, sample);
 			/* Sample slot is not yet written or other record.
 			 *
 			 * This condition can occur if the buffer was reused
@@ -1217,7 +1218,7 @@ static void hw_collect_samples(struct pe
 			 * that are not full.  Stop processing if the first
 			 * invalid format was detected.
 			 */
-			if (!te->f)
+			if (!te->header.f)
 				break;
 		}
 
@@ -1227,6 +1228,16 @@ static void hw_collect_samples(struct pe
 	}
 }
 
+static inline __uint128_t __cdsg(__uint128_t *ptr, __uint128_t old, __uint128_t new)
+{
+	asm volatile(
+		"	cdsg	%[old],%[new],%[ptr]\n"
+		: [old] "+d" (old), [ptr] "+QS" (*ptr)
+		: [new] "d" (new)
+		: "memory", "cc");
+	return old;
+}
+
 /* hw_perf_event_update() - Process sampling buffer
  * @event:	The perf event
  * @flush_all:	Flag to also flush partially filled sample-data-blocks
@@ -1243,10 +1254,11 @@ static void hw_collect_samples(struct pe
  */
 static void hw_perf_event_update(struct perf_event *event, int flush_all)
 {
+	unsigned long long event_overflow, sampl_overflow, num_sdb;
+	union hws_trailer_header old, prev, new;
 	struct hw_perf_event *hwc = &event->hw;
 	struct hws_trailer_entry *te;
 	unsigned long *sdbt;
-	unsigned long long event_overflow, sampl_overflow, num_sdb, te_flags;
 	int done;
 
 	/*
@@ -1266,25 +1278,25 @@ static void hw_perf_event_update(struct
 		te = (struct hws_trailer_entry *) trailer_entry_ptr(*sdbt);
 
 		/* Leave loop if no more work to do (block full indicator) */
-		if (!te->f) {
+		if (!te->header.f) {
 			done = 1;
 			if (!flush_all)
 				break;
 		}
 
 		/* Check the sample overflow count */
-		if (te->overflow)
+		if (te->header.overflow)
 			/* Account sample overflows and, if a particular limit
 			 * is reached, extend the sampling buffer.
 			 * For details, see sfb_account_overflows().
 			 */
-			sampl_overflow += te->overflow;
+			sampl_overflow += te->header.overflow;
 
 		/* Timestamps are valid for full sample-data-blocks only */
 		debug_sprintf_event(sfdbg, 6, "%s: sdbt %#lx "
 				    "overflow %llu timestamp %#llx\n",
-				    __func__, (unsigned long)sdbt, te->overflow,
-				    (te->f) ? trailer_timestamp(te) : 0ULL);
+				    __func__, (unsigned long)sdbt, te->header.overflow,
+				    (te->header.f) ? trailer_timestamp(te) : 0ULL);
 
 		/* Collect all samples from a single sample-data-block and
 		 * flag if an (perf) event overflow happened.  If so, the PMU
@@ -1294,12 +1306,16 @@ static void hw_perf_event_update(struct
 		num_sdb++;
 
 		/* Reset trailer (using compare-double-and-swap) */
+		/* READ_ONCE() 16 byte header */
+		prev.val = __cdsg(&te->header.val, 0, 0);
 		do {
-			te_flags = te->flags & ~SDB_TE_BUFFER_FULL_MASK;
-			te_flags |= SDB_TE_ALERT_REQ_MASK;
-		} while (!cmpxchg_double(&te->flags, &te->overflow,
-					 te->flags, te->overflow,
-					 te_flags, 0ULL));
+			old.val = prev.val;
+			new.val = prev.val;
+			new.f = 0;
+			new.a = 1;
+			new.overflow = 0;
+			prev.val = __cdsg(&te->header.val, old.val, new.val);
+		} while (prev.val != old.val);
 
 		/* Advance to next sample-data-block */
 		sdbt++;
@@ -1384,7 +1400,7 @@ static void aux_output_end(struct perf_o
 	range_scan = AUX_SDB_NUM_ALERT(aux);
 	for (i = 0, idx = aux->head; i < range_scan; i++, idx++) {
 		te = aux_sdb_trailer(aux, idx);
-		if (!(te->flags & SDB_TE_BUFFER_FULL_MASK))
+		if (!te->header.f)
 			break;
 	}
 	/* i is num of SDBs which are full */
@@ -1392,7 +1408,7 @@ static void aux_output_end(struct perf_o
 
 	/* Remove alert indicators in the buffer */
 	te = aux_sdb_trailer(aux, aux->alert_mark);
-	te->flags &= ~SDB_TE_ALERT_REQ_MASK;
+	te->header.a = 0;
 
 	debug_sprintf_event(sfdbg, 6, "%s: SDBs %ld range %ld head %ld\n",
 			    __func__, i, range_scan, aux->head);
@@ -1437,9 +1453,9 @@ static int aux_output_begin(struct perf_
 		idx = aux->empty_mark + 1;
 		for (i = 0; i < range_scan; i++, idx++) {
 			te = aux_sdb_trailer(aux, idx);
-			te->flags &= ~(SDB_TE_BUFFER_FULL_MASK |
-				       SDB_TE_ALERT_REQ_MASK);
-			te->overflow = 0;
+			te->header.f = 0;
+			te->header.a = 0;
+			te->header.overflow = 0;
 		}
 		/* Save the position of empty SDBs */
 		aux->empty_mark = aux->head + range - 1;
@@ -1448,7 +1464,7 @@ static int aux_output_begin(struct perf_
 	/* Set alert indicator */
 	aux->alert_mark = aux->head + range/2 - 1;
 	te = aux_sdb_trailer(aux, aux->alert_mark);
-	te->flags = te->flags | SDB_TE_ALERT_REQ_MASK;
+	te->header.a = 1;
 
 	/* Reset hardware buffer head */
 	head = AUX_SDB_INDEX(aux, aux->head);
@@ -1475,14 +1491,17 @@ static int aux_output_begin(struct perf_
 static bool aux_set_alert(struct aux_buffer *aux, unsigned long alert_index,
 			  unsigned long long *overflow)
 {
-	unsigned long long orig_overflow, orig_flags, new_flags;
+	union hws_trailer_header old, prev, new;
 	struct hws_trailer_entry *te;
 
 	te = aux_sdb_trailer(aux, alert_index);
+	/* READ_ONCE() 16 byte header */
+	prev.val = __cdsg(&te->header.val, 0, 0);
 	do {
-		orig_flags = te->flags;
-		*overflow = orig_overflow = te->overflow;
-		if (orig_flags & SDB_TE_BUFFER_FULL_MASK) {
+		old.val = prev.val;
+		new.val = prev.val;
+		*overflow = old.overflow;
+		if (old.f) {
 			/*
 			 * SDB is already set by hardware.
 			 * Abort and try to set somewhere
@@ -1490,10 +1509,10 @@ static bool aux_set_alert(struct aux_buf
 			 */
 			return false;
 		}
-		new_flags = orig_flags | SDB_TE_ALERT_REQ_MASK;
-	} while (!cmpxchg_double(&te->flags, &te->overflow,
-				 orig_flags, orig_overflow,
-				 new_flags, 0ULL));
+		new.a = 1;
+		new.overflow = 0;
+		prev.val = __cdsg(&te->header.val, old.val, new.val);
+	} while (prev.val != old.val);
 	return true;
 }
 
@@ -1522,8 +1541,9 @@ static bool aux_set_alert(struct aux_buf
 static bool aux_reset_buffer(struct aux_buffer *aux, unsigned long range,
 			     unsigned long long *overflow)
 {
-	unsigned long long orig_overflow, orig_flags, new_flags;
 	unsigned long i, range_scan, idx, idx_old;
+	union hws_trailer_header old, prev, new;
+	unsigned long long orig_overflow;
 	struct hws_trailer_entry *te;
 
 	debug_sprintf_event(sfdbg, 6, "%s: range %ld head %ld alert %ld "
@@ -1554,17 +1574,20 @@ static bool aux_reset_buffer(struct aux_
 	idx_old = idx = aux->empty_mark + 1;
 	for (i = 0; i < range_scan; i++, idx++) {
 		te = aux_sdb_trailer(aux, idx);
+		/* READ_ONCE() 16 byte header */
+		prev.val = __cdsg(&te->header.val, 0, 0);
 		do {
-			orig_flags = te->flags;
-			orig_overflow = te->overflow;
-			new_flags = orig_flags & ~SDB_TE_BUFFER_FULL_MASK;
+			old.val = prev.val;
+			new.val = prev.val;
+			orig_overflow = old.overflow;
+			new.f = 0;
+			new.overflow = 0;
 			if (idx == aux->alert_mark)
-				new_flags |= SDB_TE_ALERT_REQ_MASK;
+				new.a = 1;
 			else
-				new_flags &= ~SDB_TE_ALERT_REQ_MASK;
-		} while (!cmpxchg_double(&te->flags, &te->overflow,
-					 orig_flags, orig_overflow,
-					 new_flags, 0ULL));
+				new.a = 0;
+			prev.val = __cdsg(&te->header.val, old.val, new.val);
+		} while (prev.val != old.val);
 		*overflow += orig_overflow;
 	}
 



  parent reply	other threads:[~2023-01-16 15:55 UTC|newest]

Thread overview: 198+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-01-16 15:48 [PATCH 6.1 000/183] 6.1.7-rc1 review Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 001/183] netfilter: nft_payload: incorrect arithmetics when fetching VLAN header bits Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 002/183] Revert "ALSA: usb-audio: Drop superfluous interface setup at parsing" Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 003/183] ALSA: control-led: use strscpy in set_led_id() Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 004/183] ALSA: usb-audio: Always initialize fixed_rate in snd_usb_find_implicit_fb_sync_format() Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 005/183] ALSA: hda/realtek - Turn on power early Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 006/183] ALSA: hda/realtek: Enable mute/micmute LEDs on HP Spectre x360 13-aw0xxx Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 007/183] KVM: x86: Do not return host topology information from KVM_GET_SUPPORTED_CPUID Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 008/183] KVM: arm64: Fix S1PTW handling on RO memslots Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 009/183] efi: fix userspace infinite retry read efivars after EFI runtime services page fault Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 010/183] efi: tpm: Avoid READ_ONCE() for accessing the event log Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 011/183] docs: Fix the docs build with Sphinx 6.0 Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 012/183] io_uring/poll: add hash if ready poll request cant complete inline Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 013/183] arm64: mte: Fix double-freeing of the temporary tag storage during coredump Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 014/183] arm64: mte: Avoid the racy walk of the vma list during core dump Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 015/183] arm64: cmpxchg_double*: hazard against entire exchange variable Greg Kroah-Hartman
2023-01-16 15:48 ` [PATCH 6.1 016/183] ACPI: Fix selecting wrong ACPI fwnode for the iGPU on some Dell laptops Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 017/183] net: stmmac: add aux timestamps fifo clearance wait Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 018/183] perf auxtrace: Fix address filter duplicate symbol selection Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 019/183] s390/kexec: fix ipl report address for kdump Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 020/183] brcmfmac: Prefer DT board type over DMI board type Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 021/183] ASoC: qcom: lpass-cpu: Fix fallback SD line index handling Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 022/183] elfcore: Add a cprm parameter to elf_core_extra_{phdrs,data_size} Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 023/183] cpufreq: amd-pstate: fix kernel hang issue while amd-pstate unregistering Greg Kroah-Hartman
2023-01-16 15:49 ` Greg Kroah-Hartman [this message]
2023-01-16 15:49 ` [PATCH 6.1 025/183] s390/percpu: add READ_ONCE() to arch_this_cpu_to_op_simple() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 026/183] drm/virtio: Fix GEM handle creation UAF Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 027/183] drm/amd/pm/smu13: BACO is supported when its in BACO state Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 028/183] drm: Optimize drm buddy top-down allocation method Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 029/183] drm/i915/gt: Reset twice Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 030/183] drm/i915: Reserve enough fence slot for i915_vma_unbind_async Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 031/183] drm/i915: Fix potential context UAFs Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 032/183] drm/amd: Delay removal of the firmware framebuffer Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 033/183] drm/amdgpu: Fixed bug on error when unloading amdgpu Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 034/183] drm/amd/pm: correct the reference clock for fan speed(rpm) calculation Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 035/183] drm/amd/pm: add the missing mapping for PPT feature on SMU13.0.0 and 13.0.7 Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 036/183] drm/amd/display: move remaining FPU code to dml folder Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 037/183] Revert "drm/amdgpu: Revert "drm/amdgpu: getting fan speed pwm for vega10 properly"" Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 038/183] cifs: Fix uninitialized memory read for smb311 posix symlink create Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 039/183] cifs: fix file info setting in cifs_query_path_info() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 040/183] cifs: fix file info setting in cifs_open_file() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 041/183] cifs: do not query ifaces on smb1 mounts Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 042/183] cifs: fix double free on failed kerberos auth Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 043/183] io_uring/fdinfo: include locked hash table in fdinfo output Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 044/183] ASoC: rt9120: Make dev PM runtime bind AsoC component PM Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 045/183] ACPI: video: Allow selecting NVidia-WMI-EC or Apple GMUX backlight from the cmdline Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 046/183] platform/x86: dell-privacy: Only register SW_CAMERA_LENS_COVER if present Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 047/183] platform/surface: aggregator: Ignore command messages not intended for us Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 048/183] platform/x86: int3472/discrete: Ensure the clk/power enable pins are in output mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 049/183] platform/x86: thinkpad_acpi: Fix profile mode display in AMT mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 050/183] platform/x86: asus-wmi: Dont load fan curves without fan Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 051/183] platform/x86: dell-privacy: Fix SW_CAMERA_LENS_COVER reporting Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 052/183] dt-bindings: msm: dsi-controller-main: Fix operating-points-v2 constraint Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 053/183] drm/msm: another fix for the headless Adreno GPU Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 054/183] firmware/psci: Fix MEM_PROTECT_RANGE function numbers Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 055/183] firmware/psci: Dont register with debugfs if PSCI isnt available Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 056/183] drm/msm/adreno: Make adreno quirks not overwrite each other Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 057/183] arm64/signal: Always allocate SVE signal frames on SME only systems Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 058/183] dt-bindings: msm: dsi-controller-main: Fix power-domain constraint Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 059/183] dt-bindings: msm: dsi-controller-main: Fix description of core clock Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 060/183] arm64/signal: Always accept SVE signal frames on SME only systems Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 061/183] arm64/mm: add pud_user_exec() check in pud_user_accessible_page() Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 062/183] dt-bindings: msm: dsi-phy-28nm: Add missing qcom, dsi-phy-regulator-ldo-mode Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 063/183] arm64: ptrace: Use ARM64_SME to guard the SME register enumerations Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 064/183] arm64/mm: fix incorrect file_map_count for invalid pmd Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 065/183] platform/x86: ideapad-laptop: Add Legion 5 15ARH05 DMI id to set_fn_lock_led_list[] Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 066/183] drm/msm/dp: do not complete dp_aux_cmd_fifo_tx() if irq is not for aux transfer Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 067/183] dt-bindings: msm/dsi: Dont require vdds-supply on 10nm PHY Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 068/183] dt-bindings: msm/dsi: Dont require vcca-supply on 14nm PHY Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 069/183] platform/x86: sony-laptop: Dont turn off 0x153 keyboard backlight during probe Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 070/183] ixgbe: fix pci device refcount leak Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 071/183] ipv6: raw: Deduct extension header length in rawv6_push_pending_frames Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 072/183] iavf/iavf_main: actually log ->src mask when talking about it Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 073/183] drm/i915/gt: Cleanup partial engine discovery failures Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 074/183] usb: ulpi: defer ulpi_register on ulpi_read_id timeout Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 075/183] drm/amd/pm: enable mode1 reset on smu_v13_0_10 Greg Kroah-Hartman
2023-01-16 15:49 ` [PATCH 6.1 076/183] drm/amd/pm: Enable bad memory page/channel recording support for smu v13_0_0 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 077/183] drm/amd/pm: enable GPO dynamic control support for SMU13.0.0 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 078/183] drm/amd/pm: enable GPO dynamic control support for SMU13.0.7 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 079/183] drm/amdgpu: add soc21 common ip block support for GC 11.0.4 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 080/183] drm/amdgpu: Enable pg/cg flags on GC11_0_4 for VCN Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 081/183] drm/amdgpu: enable VCN DPG for GC IP v11.0.4 Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 082/183] mm: Always release pages to the buddy allocator in memblock_free_late() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 083/183] iommu/iova: Fix alloc iova overflows issue Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 084/183] iommu/arm-smmu-v3: Dont unregister on shutdown Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 085/183] iommu/mediatek-v1: Fix an error handling path in mtk_iommu_v1_probe() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 086/183] iommu/arm-smmu: Dont unregister on shutdown Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 087/183] iommu/arm-smmu: Report IOMMU_CAP_CACHE_COHERENCY even betterer Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 088/183] sched/core: Fix use-after-free bug in dup_user_cpus_ptr() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 089/183] netfilter: ipset: Fix overflow before widen in the bitmap_ip_create() function Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 090/183] selftests: netfilter: fix transaction test script timeout handling Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 091/183] powerpc/imc-pmu: Fix use of mutex in IRQs disabled section Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 092/183] x86/boot: Avoid using Intel mnemonics in AT&T syntax asm Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 093/183] EDAC/device: Fix period calculation in edac_device_reset_delay_period() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 094/183] x86/pat: Fix pat_x_mtrr_type() for MTRR disabled case Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 095/183] x86/resctrl: Fix task CLOSID/RMID update race Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 096/183] x86/resctrl: Fix event counts regression in reused RMIDs Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 097/183] regulator: da9211: Use irq handler when ready Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 098/183] scsi: storvsc: Fix swiotlb bounce buffer leak in confidential VM Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 099/183] scsi: mpi3mr: Refer CONFIG_SCSI_MPI3MR in Makefile Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 100/183] scsi: ufs: core: WLUN suspend SSU/enter hibern8 fail recovery Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 101/183] ASoC: Intel: fix sof-nau8825 link failure Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 102/183] ASoC: Intel: sof_nau8825: support rt1015p speaker amplifier Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 103/183] ASoC: Intel: sof-nau8825: fix module alias overflow Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 104/183] drm/msm/dpu: Fix some kernel-doc comments Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 105/183] drm/msm/dpu: Fix memory leak in msm_mdss_parse_data_bus_icc_path Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 106/183] ASoC: wm8904: fix wrong outputs volume after power reactivation Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 107/183] mtd: parsers: scpart: fix __udivdi3 undefined on mips Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 108/183] mtd: cfi: allow building spi-intel standalone Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 109/183] ALSA: usb-audio: Make sure to stop endpoints before closing EPs Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 110/183] ALSA: usb-audio: Relax hw constraints for implicit fb sync Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 111/183] stmmac: dwmac-mediatek: remove the dwmac_fix_mac_speed Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 112/183] tipc: fix unexpected link reset due to discovery messages Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 113/183] NFSD: Pass the target nfsd_file to nfsd_commit() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 114/183] NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately" Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 115/183] NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 116/183] nfsd: remove the pages_flushed statistic from filecache Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 117/183] nfsd: reorganize filecache.c Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 118/183] NFSD: Add an nfsd_file_fsync tracepoint Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 119/183] nfsd: rework refcounting in filecache Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 120/183] nfsd: fix handling of cached open files in nfsd4_open codepath Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 121/183] octeontx2-af: Fix LMAC config in cgx_lmac_rx_tx_enable Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 122/183] sched/core: Fix arch_scale_freq_tick() on tickless systems Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 123/183] blk-mq: move the srcu_struct used for quiescing to the tagset Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 124/183] blk-crypto: pass a gendisk to blk_crypto_sysfs_{,un}register Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 125/183] block: factor out a blk_debugfs_remove helper Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 126/183] block: fix error unwinding in blk_register_queue Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 127/183] block: untangle request_queue refcounting from sysfs Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 128/183] block: mark blk_put_queue as potentially blocking Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 129/183] block: Drop spurious might_sleep() from blk_put_queue() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 130/183] hvc/xen: lock console list traversal Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 131/183] nfc: pn533: Wait for out_urbs completion in pn533_usb_send_frame() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 132/183] gro: avoid checking for a failed search Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 133/183] gro: take care of DODGY packets Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 134/183] af_unix: selftest: Fix the size of the parameter to connect() Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 135/183] ASoC: qcom: Fix building APQ8016 machine driver without SOUNDWIRE Greg Kroah-Hartman
2023-01-16 15:50 ` [PATCH 6.1 136/183] tools/nolibc: restore mips branch ordering in the _start block Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 137/183] tools/nolibc: fix the O_* fcntl/open macro definitions for riscv Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 138/183] drm/amdgpu: Fix potential NULL dereference Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 139/183] ice: Fix potential memory leak in ice_gnss_tty_write() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 140/183] ice: Add check for kzalloc Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 141/183] drm/vmwgfx: Write the driver id registers Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 142/183] drm/vmwgfx: Refactor resource managers hashtable to use linux/hashtable implementation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 143/183] drm/vmwgfx: Remove ttm object hashtable Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 144/183] drm/vmwgfx: Refactor resource validation hashtable to use linux/hashtable implementation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 145/183] drm/vmwgfx: Refactor ttm reference object hashtable to use linux/hashtable Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 146/183] drm/vmwgfx: Remove vmwgfx_hashtab Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 147/183] drm/vmwgfx: Remove rcu locks from user resources Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 148/183] net/sched: act_mpls: Fix warning during failed attribute validation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 149/183] Revert "r8169: disable detection of chip version 36" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 150/183] net/mlx5: check attr pointer validity before dereferencing it Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 151/183] net/mlx5e: TC, Keep mod hdr actions after mod hdr alloc Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 152/183] net/mlx5: Fix command stats access after free Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 153/183] net/mlx5e: Verify dev is present for fix features ndo Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 154/183] net/mlx5e: IPoIB, Block queue count configuration when sub interfaces are present Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 155/183] net/mlx5e: IPoIB, Block PKEY interfaces with less rx queues than parent Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 156/183] net/mlx5e: IPoIB, Fix child PKEY interface stats on rx path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 157/183] net/mlx5: Fix ptp max frequency adjustment range Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 158/183] net/mlx5e: Dont support encap rules with gbp option Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 159/183] net/mlx5e: Fix macsec ssci attribute handling in offload path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 160/183] net/mlx5e: Fix macsec possible null dereference when updating MAC security entity (SecY) Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 161/183] selftests/net: l2_tos_ttl_inherit.sh: Set IPv6 addresses with "nodad" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 162/183] selftests/net: l2_tos_ttl_inherit.sh: Run tests in their own netns Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 163/183] selftests/net: l2_tos_ttl_inherit.sh: Ensure environment cleanup on failure Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 164/183] octeontx2-pf: Fix resource leakage in VF driver unbind Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 165/183] perf build: Properly guard libbpf includes Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 166/183] perf kmem: Support legacy tracepoints Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 167/183] perf kmem: Support field "node" in evsel__process_alloc_event() coping with recent tracepoint restructuring Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 168/183] igc: Fix PPS delta between two synchronized end-points Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 169/183] net: lan966x: check for ptp to be enabled in lan966x_ptp_deinit() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 170/183] net: hns3: fix wrong use of rss size during VF rss config Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 171/183] bnxt: make sure we return pages to the pool Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 172/183] platform/surface: aggregator: Add missing call to ssam_request_sync_free() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 173/183] platform/x86/amd: Fix refcount leak in amd_pmc_probe Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 174/183] ALSA: usb-audio: Fix possible NULL pointer dereference in snd_usb_pcm_has_fixed_rate() Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 175/183] efi: fix NULL-deref in init error path Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 176/183] io_uring: lock overflowing for IOPOLL Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 177/183] io_uring/poll: attempt request issue after racy poll wakeup Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 178/183] drm/i915: Fix CFI violations in gt_sysfs Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 179/183] io_uring/io-wq: free worker if task_work creation is canceled Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 180/183] io_uring/io-wq: only free worker if it was allocated for creation Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 181/183] block: handle bio_split_to_limits() NULL return Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 182/183] Revert "usb: ulpi: defer ulpi_register on ulpi_read_id timeout" Greg Kroah-Hartman
2023-01-16 15:51 ` [PATCH 6.1 183/183] pinctrl: amd: Add dynamic debugging for active GPIOs Greg Kroah-Hartman
2023-01-16 22:38 ` [PATCH 6.1 000/183] 6.1.7-rc1 review Conor Dooley
2023-01-16 23:55 ` Shuah Khan
2023-01-17  2:05 ` Justin Forbes
2023-01-17  4:14 ` ogasawara takeshi
2023-01-17  7:11 ` Wang Yugui
2023-01-17  9:17   ` Greg Kroah-Hartman
2023-01-18  2:14     ` Wang Yugui
2023-01-18  6:08       ` Greg Kroah-Hartman
2023-01-17  8:40 ` Rudi Heitbaum
2023-01-17  9:01 ` Bagas Sanjaya
2023-01-17  9:32 ` Ron Economos
2023-01-17 10:05 ` Naresh Kamboju
2023-01-17 12:43 ` Sudip Mukherjee
2023-01-17 13:21 ` Allen Pais

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=20230116154804.405916747@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=agordeev@linux.ibm.com \
    --cc=brueckner@linux.ibm.com \
    --cc=hca@linux.ibm.com \
    --cc=patches@lists.linux.dev \
    --cc=stable@vger.kernel.org \
    --cc=tmricht@linux.ibm.com \
    /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).