public inbox for stable@vger.kernel.org
 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,
	Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Subject: [PATCH 6.12 115/154] gpiolib: protect gpio_chip with SRCU in array_info paths in multi get/set
Date: Mon, 24 Feb 2025 15:35:14 +0100	[thread overview]
Message-ID: <20250224142611.560607260@linuxfoundation.org> (raw)
In-Reply-To: <20250224142607.058226288@linuxfoundation.org>

6.12-stable review patch.  If anyone has any objections, please let me know.

------------------

From: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>

commit 81570d6a7ad37033c7895811551a5a9023706eda upstream.

During the locking rework in GPIOLIB, we omitted one important use-case,
namely: setting and getting values for GPIO descriptor arrays with
array_info present.

This patch does two things: first it makes struct gpio_array store the
address of the underlying GPIO device and not chip. Next: it protects
the chip with SRCU from removal in gpiod_get_array_value_complex() and
gpiod_set_array_value_complex().

Cc: stable@vger.kernel.org
Link: https://lore.kernel.org/r/20250215095655.23152-1-brgl@bgdev.pl
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/gpio/gpiolib.c |   48 +++++++++++++++++++++++++++++++++---------------
 drivers/gpio/gpiolib.h |    4 ++--
 2 files changed, 35 insertions(+), 17 deletions(-)

--- a/drivers/gpio/gpiolib.c
+++ b/drivers/gpio/gpiolib.c
@@ -3082,6 +3082,8 @@ static int gpiod_get_raw_value_commit(co
 static int gpio_chip_get_multiple(struct gpio_chip *gc,
 				  unsigned long *mask, unsigned long *bits)
 {
+	lockdep_assert_held(&gc->gpiodev->srcu);
+
 	if (gc->get_multiple)
 		return gc->get_multiple(gc, mask, bits);
 	if (gc->get) {
@@ -3112,6 +3114,7 @@ int gpiod_get_array_value_complex(bool r
 				  struct gpio_array *array_info,
 				  unsigned long *value_bitmap)
 {
+	struct gpio_chip *gc;
 	int ret, i = 0;
 
 	/*
@@ -3123,10 +3126,15 @@ int gpiod_get_array_value_complex(bool r
 	    array_size <= array_info->size &&
 	    (void *)array_info == desc_array + array_info->size) {
 		if (!can_sleep)
-			WARN_ON(array_info->chip->can_sleep);
+			WARN_ON(array_info->gdev->can_sleep);
 
-		ret = gpio_chip_get_multiple(array_info->chip,
-					     array_info->get_mask,
+		guard(srcu)(&array_info->gdev->srcu);
+		gc = srcu_dereference(array_info->gdev->chip,
+				      &array_info->gdev->srcu);
+		if (!gc)
+			return -ENODEV;
+
+		ret = gpio_chip_get_multiple(gc, array_info->get_mask,
 					     value_bitmap);
 		if (ret)
 			return ret;
@@ -3407,6 +3415,8 @@ static void gpiod_set_raw_value_commit(s
 static void gpio_chip_set_multiple(struct gpio_chip *gc,
 				   unsigned long *mask, unsigned long *bits)
 {
+	lockdep_assert_held(&gc->gpiodev->srcu);
+
 	if (gc->set_multiple) {
 		gc->set_multiple(gc, mask, bits);
 	} else {
@@ -3424,6 +3434,7 @@ int gpiod_set_array_value_complex(bool r
 				  struct gpio_array *array_info,
 				  unsigned long *value_bitmap)
 {
+	struct gpio_chip *gc;
 	int i = 0;
 
 	/*
@@ -3435,14 +3446,19 @@ int gpiod_set_array_value_complex(bool r
 	    array_size <= array_info->size &&
 	    (void *)array_info == desc_array + array_info->size) {
 		if (!can_sleep)
-			WARN_ON(array_info->chip->can_sleep);
+			WARN_ON(array_info->gdev->can_sleep);
+
+		guard(srcu)(&array_info->gdev->srcu);
+		gc = srcu_dereference(array_info->gdev->chip,
+				      &array_info->gdev->srcu);
+		if (!gc)
+			return -ENODEV;
 
 		if (!raw && !bitmap_empty(array_info->invert_mask, array_size))
 			bitmap_xor(value_bitmap, value_bitmap,
 				   array_info->invert_mask, array_size);
 
-		gpio_chip_set_multiple(array_info->chip, array_info->set_mask,
-				       value_bitmap);
+		gpio_chip_set_multiple(gc, array_info->set_mask, value_bitmap);
 
 		i = find_first_zero_bit(array_info->set_mask, array_size);
 		if (i == array_size)
@@ -4698,9 +4714,10 @@ struct gpio_descs *__must_check gpiod_ge
 {
 	struct gpio_desc *desc;
 	struct gpio_descs *descs;
+	struct gpio_device *gdev;
 	struct gpio_array *array_info = NULL;
-	struct gpio_chip *gc;
 	int count, bitmap_size;
+	unsigned long dflags;
 	size_t descs_size;
 
 	count = gpiod_count(dev, con_id);
@@ -4721,7 +4738,7 @@ struct gpio_descs *__must_check gpiod_ge
 
 		descs->desc[descs->ndescs] = desc;
 
-		gc = gpiod_to_chip(desc);
+		gdev = gpiod_to_gpio_device(desc);
 		/*
 		 * If pin hardware number of array member 0 is also 0, select
 		 * its chip as a candidate for fast bitmap processing path.
@@ -4729,8 +4746,8 @@ struct gpio_descs *__must_check gpiod_ge
 		if (descs->ndescs == 0 && gpio_chip_hwgpio(desc) == 0) {
 			struct gpio_descs *array;
 
-			bitmap_size = BITS_TO_LONGS(gc->ngpio > count ?
-						    gc->ngpio : count);
+			bitmap_size = BITS_TO_LONGS(gdev->ngpio > count ?
+						    gdev->ngpio : count);
 
 			array = krealloc(descs, descs_size +
 					 struct_size(array_info, invert_mask, 3 * bitmap_size),
@@ -4750,7 +4767,7 @@ struct gpio_descs *__must_check gpiod_ge
 
 			array_info->desc = descs->desc;
 			array_info->size = count;
-			array_info->chip = gc;
+			array_info->gdev = gdev;
 			bitmap_set(array_info->get_mask, descs->ndescs,
 				   count - descs->ndescs);
 			bitmap_set(array_info->set_mask, descs->ndescs,
@@ -4763,7 +4780,7 @@ struct gpio_descs *__must_check gpiod_ge
 			continue;
 
 		/* Unmark array members which don't belong to the 'fast' chip */
-		if (array_info->chip != gc) {
+		if (array_info->gdev != gdev) {
 			__clear_bit(descs->ndescs, array_info->get_mask);
 			__clear_bit(descs->ndescs, array_info->set_mask);
 		}
@@ -4786,9 +4803,10 @@ struct gpio_descs *__must_check gpiod_ge
 					    array_info->set_mask);
 			}
 		} else {
+			dflags = READ_ONCE(desc->flags);
 			/* Exclude open drain or open source from fast output */
-			if (gpiochip_line_is_open_drain(gc, descs->ndescs) ||
-			    gpiochip_line_is_open_source(gc, descs->ndescs))
+			if (test_bit(FLAG_OPEN_DRAIN, &dflags) ||
+			    test_bit(FLAG_OPEN_SOURCE, &dflags))
 				__clear_bit(descs->ndescs,
 					    array_info->set_mask);
 			/* Identify 'fast' pins which require invertion */
@@ -4800,7 +4818,7 @@ struct gpio_descs *__must_check gpiod_ge
 	if (array_info)
 		dev_dbg(dev,
 			"GPIO array info: chip=%s, size=%d, get_mask=%lx, set_mask=%lx, invert_mask=%lx\n",
-			array_info->chip->label, array_info->size,
+			array_info->gdev->label, array_info->size,
 			*array_info->get_mask, *array_info->set_mask,
 			*array_info->invert_mask);
 	return descs;
--- a/drivers/gpio/gpiolib.h
+++ b/drivers/gpio/gpiolib.h
@@ -110,7 +110,7 @@ extern const char *const gpio_suffixes[]
  *
  * @desc:		Array of pointers to the GPIO descriptors
  * @size:		Number of elements in desc
- * @chip:		Parent GPIO chip
+ * @gdev:		Parent GPIO device
  * @get_mask:		Get mask used in fastpath
  * @set_mask:		Set mask used in fastpath
  * @invert_mask:	Invert mask used in fastpath
@@ -122,7 +122,7 @@ extern const char *const gpio_suffixes[]
 struct gpio_array {
 	struct gpio_desc	**desc;
 	unsigned int		size;
-	struct gpio_chip	*chip;
+	struct gpio_device	*gdev;
 	unsigned long		*get_mask;
 	unsigned long		*set_mask;
 	unsigned long		invert_mask[];



  parent reply	other threads:[~2025-02-24 14:50 UTC|newest]

Thread overview: 162+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-24 14:33 [PATCH 6.12 000/154] 6.12.17-rc1 review Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 001/154] arm64: mte: Do not allow PROT_MTE on MAP_HUGETLB user mappings Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 002/154] drm/xe/oa: Separate batch submission from waiting for completion Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 003/154] drm/xe/oa/uapi: Define and parse OA sync properties Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 004/154] drm/xe/oa: Add input fence dependencies Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 005/154] xe/oa: Fix query mode of operation for OAR/OAC Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 006/154] btrfs: do not assume the full page range is not dirty in extent_writepage_io() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 007/154] btrfs: move the delalloc range bitmap search into extent_io.c Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 008/154] btrfs: mark all dirty sectors as locked inside writepage_delalloc() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 009/154] btrfs: remove unused btrfs_folio_start_writer_lock() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 010/154] btrfs: unify to use writer locks for subpage locking Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 011/154] btrfs: rename btrfs_folio_(set|start|end)_writer_lock() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 012/154] btrfs: use btrfs_inode in extent_writepage() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 013/154] btrfs: fix double accounting race when btrfs_run_delalloc_range() failed Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 014/154] btrfs: fix double accounting race when extent_writepage_io() failed Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 015/154] KVM: x86: Get vcpu->arch.apic_base directly and drop kvm_get_apic_base() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 016/154] KVM: x86: Inline kvm_get_apic_mode() in lapic.h Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 017/154] KVM: nVMX: Defer SVI update to vmcs01 on EOI when L2 is active w/o VID Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 018/154] drm/amd/display: Refactoring if and endif statements to enable DC_LOGGER Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 019/154] drm/amd/display: update dcn351 used clock offset Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 020/154] drm/amd/display: Correct register address in dcn35 Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 021/154] Bluetooth: qca: Update firmware-name to support board specific nvm Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 022/154] Bluetooth: qca: Fix poor RF performance for WCN6855 Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 023/154] Input: serio - define serio_pause_rx guard to pause and resume serio ports Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 024/154] Input: synaptics - fix crash when enabling pass-through port Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 025/154] ASoC: renesas: rz-ssi: Terminate all the DMA transactions Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 026/154] ASoC: renesas: rz-ssi: Add a check for negative sample_space Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 027/154] PCI: Make pcim_request_all_regions() a public function Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 028/154] PCI: Export pci_intx_unmanaged() and pcim_intx() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 029/154] PCI: Remove devres from pci_intx() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 030/154] PCI: Restore original INTX_DISABLE bit by pcim_intx() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 031/154] arm64: dts: mediatek: mt8183-pumpkin: add HDMI support Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 032/154] arm64: dts: mediatek: mt8183: Disable DSI display output by default Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 033/154] accel/ivpu: Limit FW version string length Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 034/154] accel/ivpu: Add coredump support Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 035/154] accel/ivpu: Add FW state dump on TDR Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 036/154] accel/ivpu: Fix error handling in recovery/reset Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 037/154] drm/amdkfd: Move gfx12 trap handler to separate file Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 038/154] drm/amdkfd: Ensure consistent barrier state saved in gfx12 trap handler Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 039/154] tracing: Switch trace.c code over to use guard() Greg Kroah-Hartman
2025-02-24 14:33 ` [PATCH 6.12 040/154] tracing: Have the error of __tracing_resize_ring_buffer() passed to user Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 041/154] USB: gadget: f_midi: f_midi_complete to call queue_work Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 042/154] sched_ext: Factor out move_task_between_dsqs() from scx_dispatch_from_dsq() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 043/154] sched_ext: Fix migration disabled handling in targeted dispatches Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 044/154] ASoC: rockchip: i2s-tdm: fix shift config for SND_SOC_DAIFMT_DSP_[AB] Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 045/154] ASoC: SOF: ipc4-topology: Harden loops for looking up ALH copiers Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 046/154] powerpc/code-patching: Disable KASAN report during patching via temporary mm Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 047/154] powerpc/64s: Rewrite __real_pte() and __rpte_to_hidx() as static inline Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 048/154] ALSA: hda/realtek: Fixup ALC225 depop procedure Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 049/154] powerpc/code-patching: Fix KASAN hit by not flagging text patching area as VM_ALLOC Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 050/154] ASoC: imx-audmix: remove cpu_mclk which is from cpu dai device Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 051/154] vsock/virtio: fix variables initialization during resuming Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 052/154] geneve: Fix use-after-free in geneve_find_dev() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 053/154] ALSA: hda/cirrus: Correct the full scale volume set logic Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 054/154] net/sched: cls_api: fix error handling causing NULL dereference Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 055/154] ALSA: seq: Drop UMP events when no UMP-conversion is set Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 056/154] s390/ism: add release function for struct device Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 057/154] ibmvnic: Add stat for tx direct vs tx batched Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 058/154] ibmvnic: Dont reference skb after sending to VIOS Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 059/154] sockmap, vsock: For connectible sockets allow only connected Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 060/154] vsock/bpf: Warn on socket without transport Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 061/154] tcp: adjust rcvq_space after updating scaling ratio Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 062/154] net: pse-pd: Avoid setting max_uA in regulator constraints Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 063/154] net: pse-pd: Use power limit at driver side instead of current limit Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 064/154] net: pse-pd: pd692x0: Fix power limit retrieval Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 065/154] gtp: Suppress list corruption splat in gtp_net_exit_batch_rtnl() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 066/154] geneve: Suppress list corruption splat in geneve_destroy_tunnels() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 067/154] flow_dissector: Fix handling of mixed port and port-range keys Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 068/154] flow_dissector: Fix port range key handling in BPF conversion Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 069/154] net: Add non-RCU dev_getbyhwaddr() helper Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 070/154] arp: switch to dev_getbyhwaddr() in arp_req_set_public() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 071/154] net: axienet: Set mac_managed_pm Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 072/154] tcp: drop secpath at the same time as we currently drop dst Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 073/154] net: allow small head cache usage with large MAX_SKB_FRAGS values Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 074/154] bpf, test_run: Fix use-after-free issue in eth_skb_pkt_type() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 075/154] bpf: unify VM_WRITE vs VM_MAYWRITE use in BPF map mmaping logic Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 076/154] bpf: avoid holding freeze_mutex during mmap operation Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 077/154] strparser: Add read_sock callback Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 078/154] bpf: Fix wrong copied_seq calculation Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 079/154] bpf: Disable non stream socket for strparser Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 080/154] bpf: Fix deadlock when freeing cgroup storage Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 081/154] arm64: dts: rockchip: Fix lcdpwr_en pin for Cool Pi GenBook Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 082/154] power: supply: da9150-fg: fix potential overflow Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 083/154] power: supply: axp20x_battery: Fix fault handling for AXP717 Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 084/154] selftests/bpf: Add tests for raw_tp null handling Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 085/154] net: Add rx_skb of kfree_skb to raw_tp_null_args[] Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 086/154] bpf: Fix softlockup in arena_map_free on 64k page kernel Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 087/154] arm64: dts: rockchip: adjust SMMU interrupt type on rk3588 Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 088/154] firmware: arm_scmi: imx: Correct tx size of scmi_imx_misc_ctrl_set Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 089/154] md/raid*: Fix the set_queue_limits implementations Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 090/154] firmware: imx: IMX_SCMI_MISC_DRV should depend on ARCH_MXC Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 091/154] platform: cznic: CZNIC_PLATFORMS should depend on ARCH_MVEBU Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 092/154] nouveau/svm: fix missing folio unlock + put after make_device_exclusive_range() Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 093/154] drm/msm: Avoid rounding up to one jiffy Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 094/154] drm/msm/dpu: skip watchdog timer programming through TOP on >= SM8450 Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 095/154] drm/msm/dpu: enable DPU_WB_INPUT_CTRL for DPU 5.x Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 096/154] drm/msm/dpu: Dont leak bits_per_component into random DSC_ENC fields Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 097/154] drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG0 updated from driver side Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 098/154] drm/msm/dsi/phy: Protect PHY_CMN_CLK_CFG1 against clock driver Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 099/154] drm/msm/dsi/phy: Do not overwite PHY_CMN_CLK_CFG1 when choosing bitclk source Greg Kroah-Hartman
2025-02-24 14:34 ` [PATCH 6.12 100/154] nvme: tcp: Fix compilation warning with W=1 Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 101/154] nvme-tcp: fix connect failure on receiving partial ICResp PDU Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 102/154] nvme/ioctl: add missing space in err message Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 103/154] bpf: skip non exist keys in generic_map_lookup_batch Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 104/154] drm/nouveau/pmu: Fix gp10b firmware guard Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 105/154] irqchip/jcore-aic, clocksource/drivers/jcore: Fix jcore-pit interrupt request Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 106/154] drm: panel: jd9365da-h3: fix reset signal polarity Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 107/154] drm/msm/dpu: Disable dither in phys encoder cleanup Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 108/154] drm/i915: Make sure all planes in use by the joiner have their crtc included Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 109/154] drm/i915/dp: Fix error handling during 128b/132b link training Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 110/154] drm/i915/ddi: Fix HDMI port width programming in DDI_BUF_CTL Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 111/154] drm/i915/gt: Use spin_lock_irqsave() in interruptible context Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 112/154] io_uring/rw: forbid multishot async reads Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 113/154] io_uring: prevent opcode speculation Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 114/154] gpiolib: check the return value of gpio_chip::get_direction() Greg Kroah-Hartman
2025-02-24 14:35 ` Greg Kroah-Hartman [this message]
2025-02-24 14:35 ` [PATCH 6.12 116/154] tee: optee: Fix supplicant wait loop Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 117/154] drop_monitor: fix incorrect initialization order Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 118/154] mm/migrate_device: dont add folio to be freed to LRU in migrate_device_finalize() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 119/154] arm64: dts: rockchip: Fix broken tsadc pinctrl names for rk3588 Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 120/154] arm64: dts: rockchip: Move uart5 pin configuration to px30 ringneck SoM Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 121/154] arm64: dts: rockchip: Disable DMA for uart5 on px30-ringneck Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 122/154] soc: loongson: loongson2_guts: Add check for devm_kstrdup() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 123/154] s390/boot: Fix ESSA detection Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 124/154] xfs: fix online repair probing when CONFIG_XFS_ONLINE_REPAIR=n Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 125/154] lib/iov_iter: fix import_iovec_ubuf iovec management Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 126/154] smb: client: fix chmod(2) regression with ATTR_READONLY Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 127/154] nfp: bpf: Add check for nfp_app_ctrl_msg_alloc() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 128/154] gve: set xdp redirect target only when it is available Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 129/154] ASoC: SOF: stream-ipc: Check for cstream nullity in sof_ipc_msg_data() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 130/154] ASoC: fsl_micfil: Enable default case in micfil_set_quality() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 131/154] ALSA: hda: Add error check for snd_ctl_rename_id() in snd_hda_create_dig_out_ctls() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 132/154] ALSA: hda/conexant: Add quirk for HP ProBook 450 G4 mute LED Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 133/154] ASoC: SOF: pcm: Clear the susbstream pointer to NULL on close Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 134/154] acct: perform last write from workqueue Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 135/154] acct: block access to kernel internal filesystems Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 136/154] mm,madvise,hugetlb: check for 0-length range after end address adjustment Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 137/154] mtd: spi-nor: sst: Fix SST write failure Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 138/154] mtd: rawnand: cadence: fix error code in cadence_nand_init() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 139/154] mtd: rawnand: cadence: use dma_map_resource for sdma address Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 140/154] mtd: rawnand: cadence: fix incorrect device in dma_unmap_single Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 141/154] perf/x86/intel: Fix event constraints for LNC Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 142/154] irqchip/gic-v3: Fix rk3399 workaround when secure interrupts are enabled Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 143/154] smb: client: Add check for next_buffer in receive_encrypted_standard() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 144/154] EDAC/qcom: Correct interrupt enable register configuration Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 145/154] ftrace: Correct preemption accounting for function tracing Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 146/154] ftrace: Fix accounting of adding subops to a manager ops Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 147/154] ftrace: Do not add duplicate entries in subops " Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 148/154] tracing: Fix using ret variable in tracing_set_tracer() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 149/154] net: pse-pd: Fix deadlock in current limit functions Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 150/154] sched_ext: Fix incorrect assumption about migration disabled tasks in task_can_run_on_remote_rq() Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 151/154] selftests/mm: build with -O2 Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 152/154] arm64: dts: rockchip: change eth phy mode to rgmii-id for orangepi r1 plus lts Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 153/154] drm/amdgpu/gfx9: manually control gfxoff for CS on RV Greg Kroah-Hartman
2025-02-24 14:35 ` [PATCH 6.12 154/154] drm/amdgpu: bump version for RV/PCO compute fix Greg Kroah-Hartman
2025-02-24 17:52 ` [PATCH 6.12 000/154] 6.12.17-rc1 review Florian Fainelli
2025-02-24 20:11 ` Peter Schneider
2025-02-24 23:31 ` Shuah Khan
2025-02-25  0:03 ` Jon Hunter
2025-02-25  0:06   ` Jon Hunter
2025-02-25  6:46     ` Greg Kroah-Hartman
2025-02-25  6:23 ` Ron Economos

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=20250224142611.560607260@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bartosz.golaszewski@linaro.org \
    --cc=patches@lists.linux.dev \
    --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