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,
	Alexandru Ardelean <aardelean@baylibre.com>,
	Bartosz Golaszewski <bartosz.golaszewski@linaro.org>,
	Andrew Morton <akpm@linux-foundation.org>
Subject: [PATCH 6.12 076/146] util_macros.h: fix/rework find_closest() macros
Date: Fri,  6 Dec 2024 15:36:47 +0100	[thread overview]
Message-ID: <20241206143530.589284728@linuxfoundation.org> (raw)
In-Reply-To: <20241206143527.654980698@linuxfoundation.org>

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

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

From: Alexandru Ardelean <aardelean@baylibre.com>

commit bc73b4186736341ab5cd2c199da82db6e1134e13 upstream.

A bug was found in the find_closest() (find_closest_descending() is also
affected after some testing), where for certain values with small
progressions, the rounding (done by averaging 2 values) causes an
incorrect index to be returned.  The rounding issues occur for
progressions of 1, 2 and 3.  It goes away when the progression/interval
between two values is 4 or larger.

It's particularly bad for progressions of 1.  For example if there's an
array of 'a = { 1, 2, 3 }', using 'find_closest(2, a ...)' would return 0
(the index of '1'), rather than returning 1 (the index of '2').  This
means that for exact values (with a progression of 1), find_closest() will
misbehave and return the index of the value smaller than the one we're
searching for.

For progressions of 2 and 3, the exact values are obtained correctly; but
values aren't approximated correctly (as one would expect).  Starting with
progressions of 4, all seems to be good (one gets what one would expect).

While one could argue that 'find_closest()' should not be used for arrays
with progressions of 1 (i.e. '{1, 2, 3, ...}', the macro should still
behave correctly.

The bug was found while testing the 'drivers/iio/adc/ad7606.c',
specifically the oversampling feature.
For reference, the oversampling values are listed as:
   static const unsigned int ad7606_oversampling_avail[7] = {
          1, 2, 4, 8, 16, 32, 64,
   };

When doing:
  1. $ echo 1 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is fine
  2. $ echo 2 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     1  # this is wrong; 2 should be returned here
  3. $ echo 3 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     2  # this is fine
  4. $ echo 4 > /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     $ cat /sys/bus/iio/devices/iio\:device0/oversampling_ratio
     4  # this is fine
And from here-on, the values are as correct (one gets what one would
expect.)

While writing a kunit test for this bug, a peculiar issue was found for the
array in the 'drivers/hwmon/ina2xx.c' & 'drivers/iio/adc/ina2xx-adc.c'
drivers. While running the kunit test (for 'ina226_avg_tab' from these
drivers):
  * idx = find_closest([-1 to 2], ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, so value.
  * idx = find_closest(3, ina226_avg_tab, ARRAY_SIZE(ina226_avg_tab));
    This returns idx == 0, value 1; and now one could argue whether 3 is
    closer to 4 or to 1. This quirk only appears for value '3' in this
    array, but it seems to be a another rounding issue.
  * And from 4 onwards the 'find_closest'() works fine (one gets what one
    would expect).

This change reworks the find_closest() macros to also check the difference
between the left and right elements when 'x'. If the distance to the right
is smaller (than the distance to the left), the index is incremented by 1.
This also makes redundant the need for using the DIV_ROUND_CLOSEST() macro.

In order to accommodate for any mix of negative + positive values, the
internal variables '__fc_x', '__fc_mid_x', '__fc_left' & '__fc_right' are
forced to 'long' type. This also addresses any potential bugs/issues with
'x' being of an unsigned type. In those situations any comparison between
signed & unsigned would be promoted to a comparison between 2 unsigned
numbers; this is especially annoying when '__fc_left' & '__fc_right'
underflow.

The find_closest_descending() macro was also reworked and duplicated from
the find_closest(), and it is being iterated in reverse. The main reason
for this is to get the same indices as 'find_closest()' (but in reverse).
The comparison for '__fc_right < __fc_left' favors going the array in
ascending order.
For example for array '{ 1024, 512, 256, 128, 64, 16, 4, 1 }' and x = 3, we
get:
    __fc_mid_x = 2
    __fc_left = -1
    __fc_right = -2
    Then '__fc_right < __fc_left' evaluates to true and '__fc_i++' becomes 7
    which is not quite incorrect, but 3 is closer to 4 than to 1.

This change has been validated with the kunit from the next patch.

Link: https://lkml.kernel.org/r/20241105145406.554365-1-aardelean@baylibre.com
Fixes: 95d119528b0b ("util_macros.h: add find_closest() macro")
Signed-off-by: Alexandru Ardelean <aardelean@baylibre.com>
Cc: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/util_macros.h |   56 +++++++++++++++++++++++++++++++-------------
 1 file changed, 40 insertions(+), 16 deletions(-)

--- a/include/linux/util_macros.h
+++ b/include/linux/util_macros.h
@@ -4,19 +4,6 @@
 
 #include <linux/math.h>
 
-#define __find_closest(x, a, as, op)					\
-({									\
-	typeof(as) __fc_i, __fc_as = (as) - 1;				\
-	typeof(x) __fc_x = (x);						\
-	typeof(*a) const *__fc_a = (a);					\
-	for (__fc_i = 0; __fc_i < __fc_as; __fc_i++) {			\
-		if (__fc_x op DIV_ROUND_CLOSEST(__fc_a[__fc_i] +	\
-						__fc_a[__fc_i + 1], 2))	\
-			break;						\
-	}								\
-	(__fc_i);							\
-})
-
 /**
  * find_closest - locate the closest element in a sorted array
  * @x: The reference value.
@@ -25,8 +12,27 @@
  * @as: Size of 'a'.
  *
  * Returns the index of the element closest to 'x'.
+ * Note: If using an array of negative numbers (or mixed positive numbers),
+ *       then be sure that 'x' is of a signed-type to get good results.
  */
-#define find_closest(x, a, as) __find_closest(x, a, as, <=)
+#define find_closest(x, a, as)						\
+({									\
+	typeof(as) __fc_i, __fc_as = (as) - 1;				\
+	long __fc_mid_x, __fc_x = (x);					\
+	long __fc_left, __fc_right;					\
+	typeof(*a) const *__fc_a = (a);					\
+	for (__fc_i = 0; __fc_i < __fc_as; __fc_i++) {			\
+		__fc_mid_x = (__fc_a[__fc_i] + __fc_a[__fc_i + 1]) / 2;	\
+		if (__fc_x <= __fc_mid_x) {				\
+			__fc_left = __fc_x - __fc_a[__fc_i];		\
+			__fc_right = __fc_a[__fc_i + 1] - __fc_x;	\
+			if (__fc_right < __fc_left)			\
+				__fc_i++;				\
+			break;						\
+		}							\
+	}								\
+	(__fc_i);							\
+})
 
 /**
  * find_closest_descending - locate the closest element in a sorted array
@@ -36,9 +42,27 @@
  * @as: Size of 'a'.
  *
  * Similar to find_closest() but 'a' is expected to be sorted in descending
- * order.
+ * order. The iteration is done in reverse order, so that the comparison
+ * of '__fc_right' & '__fc_left' also works for unsigned numbers.
  */
-#define find_closest_descending(x, a, as) __find_closest(x, a, as, >=)
+#define find_closest_descending(x, a, as)				\
+({									\
+	typeof(as) __fc_i, __fc_as = (as) - 1;				\
+	long __fc_mid_x, __fc_x = (x);					\
+	long __fc_left, __fc_right;					\
+	typeof(*a) const *__fc_a = (a);					\
+	for (__fc_i = __fc_as; __fc_i >= 1; __fc_i--) {			\
+		__fc_mid_x = (__fc_a[__fc_i] + __fc_a[__fc_i - 1]) / 2;	\
+		if (__fc_x <= __fc_mid_x) {				\
+			__fc_left = __fc_x - __fc_a[__fc_i];		\
+			__fc_right = __fc_a[__fc_i - 1] - __fc_x;	\
+			if (__fc_right < __fc_left)			\
+				__fc_i--;				\
+			break;						\
+		}							\
+	}								\
+	(__fc_i);							\
+})
 
 /**
  * is_insidevar - check if the @ptr points inside the @var memory range.



  parent reply	other threads:[~2024-12-06 14:43 UTC|newest]

Thread overview: 157+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-12-06 14:35 [PATCH 6.12 000/146] 6.12.4-rc1 review Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 001/146] xfs: remove unknown compat feature check in superblock write validation Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 002/146] quota: flush quota_release_work upon quota writeback Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 003/146] btrfs: drop unused parameter file_offset from btrfs_encoded_read_regular_fill_pages() Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 004/146] btrfs: change btrfs_encoded_read() so that reading of extent is done by caller Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 005/146] btrfs: move priv off stack in btrfs_encoded_read_regular_fill_pages() Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 006/146] btrfs: fix use-after-free in btrfs_encoded_read_endio() Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 007/146] btrfs: dont loop for nowait writes when checking for cross references Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 008/146] btrfs: add a sanity check for btrfs root in btrfs_search_slot() Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 009/146] btrfs: ref-verify: fix use-after-free after invalid ref action Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 010/146] iommu/tegra241-cmdqv: Fix unused variable warning Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 011/146] netkit: Add option for scrubbing skb meta data Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 012/146] md/raid5: Wait sync io to finish before changing group cnt Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 013/146] md/md-bitmap: Add missing destroy_work_on_stack() Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 014/146] arm64: dts: allwinner: pinephone: Add mount matrix to accelerometer Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 015/146] arm64: dts: mediatek: mt8186-corsola: Fix GPU supply coupling max-spread Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 016/146] arm64: dts: freescale: imx8mm-verdin: Fix SD regulator startup delay Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 017/146] arm64: dts: ti: k3-am62-verdin: " Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 018/146] arm64: dts: mediatek: mt8186-corsola: Fix IT6505 reset line polarity Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 019/146] media: qcom: camss: fix error path on configuration of power domains Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 020/146] media: amphion: Set video drvdata before register video device Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 021/146] media: imx-jpeg: " Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 022/146] media: mtk-jpeg: Fix null-ptr-deref during unload module Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 023/146] media: i2c: dw9768: Fix pm_runtime_set_suspended() with runtime pm enabled Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 024/146] arm64: dts: freescale: imx8mp-verdin: Fix SD regulator startup delay Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 025/146] media: i2c: tc358743: Fix crash in the probe error path when using polling Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 026/146] media: imx-jpeg: Ensure power suppliers be suspended before detach them Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 027/146] media: platform: rga: fix 32-bit DMA limitation Greg Kroah-Hartman
2024-12-06 14:35 ` [PATCH 6.12 028/146] media: verisilicon: av1: Fix reference video buffer pointer assignment Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 029/146] media: ts2020: fix null-ptr-deref in ts2020_probe() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 030/146] media: platform: exynos4-is: Fix an OF node reference leak in fimc_md_is_isp_available Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 031/146] efi/libstub: Free correct pointer on failure Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 032/146] net: phy: dp83869: fix status reporting for 1000base-x autonegotiation Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 033/146] media: amphion: Fix pm_runtime_set_suspended() with runtime pm enabled Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 034/146] media: venus: " Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 035/146] media: gspca: ov534-ov772x: Fix off-by-one error in set_frame_rate() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 036/146] media: ov08x40: Fix burst write sequence Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 037/146] media: platform: allegro-dvt: Fix possible memory leak in allocate_buffers_internal() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 038/146] media: uvcvideo: Stop stream during unregister Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 039/146] media: uvcvideo: Require entities to have a non-zero unique ID Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 040/146] tracing: Fix function timing profiler to initialize hashtable Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 041/146] kunit: Fix potential null dereference in kunit_device_driver_test() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 042/146] kunit: string-stream: Fix a UAF bug in kunit_init_suite() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 043/146] ovl: Filter invalid inodes with missing lookup function Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 044/146] maple_tree: refine mas_store_root() on storing NULL Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 045/146] ftrace: Fix regression with module command in stack_trace_filter Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 046/146] vmstat: call fold_vm_zone_numa_events() before show per zone NUMA event Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 047/146] zram: clear IDLE flag after recompression Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 048/146] iommu/io-pgtable-arm: Fix stage-2 map/unmap for concatenated tables Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 049/146] iommu/arm-smmu: Defer probe of clients after smmu device bound Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 050/146] leds: lp55xx: Remove redundant test for invalid channel number Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 051/146] mm/damon/vaddr: fix issue in damon_va_evenly_split_region() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 052/146] powerpc/vdso: Drop -mstack-protector-guard flags in 32-bit files with clang Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 053/146] cpufreq: scmi: Fix cleanup path when boost enablement fails Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 054/146] clk: qcom: gcc-qcs404: fix initial rate of GPLL3 Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 055/146] ad7780: fix division by zero in ad7780_write_raw() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 056/146] nvmem: core: Check read_only flag for force_ro in bin_attr_nvmem_write() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 057/146] driver core: fw_devlink: Stop trying to optimize cycle detection logic Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 058/146] spmi: pmic-arb: fix return path in for_each_available_child_of_node() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 059/146] ARM: 9429/1: ioremap: Sync PGDs for VMALLOC shadow Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 060/146] s390/entry: Mark IRQ entries to fix stack depot warnings Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 061/146] ARM: 9430/1: entry: Do a dummy read from VMAP shadow Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 062/146] ARM: 9431/1: mm: Pair atomic_set_release() with _read_acquire() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 063/146] net: stmmac: set initial EEE policy configuration Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 064/146] vfio/qat: fix overflow check in qat_vf_resume_write() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 065/146] PCI: qcom: Disable ASPM L0s for X1E80100 Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 066/146] perf jevents: fix breakage when do perf stat on system metric Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 067/146] remoteproc: qcom_q6v5_pas: disable auto boot for wpss Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 068/146] PCI: imx6: Fix suspend/resume support on i.MX6QDL Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 069/146] mm/slub: Avoid list corruption when removing a slab from the full list Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 070/146] f2fs: fix to drop all discards after creating snapshot on lvm device Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 071/146] ceph: extract entity name from device id Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 072/146] ceph: pass cred pointer to ceph_mds_auth_match() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 073/146] ceph: fix cred leak in ceph_mds_check_access() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 074/146] mtd: spinand: winbond: Fix 512GW and 02JW OOB layout Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 075/146] mtd: spinand: winbond: Fix 512GW, 01GW, 01JW and 02JW ECC information Greg Kroah-Hartman
2024-12-06 14:36 ` Greg Kroah-Hartman [this message]
2024-12-06 14:36 ` [PATCH 6.12 077/146] s390/stacktrace: Use break instead of return statement Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 078/146] scsi: ufs: exynos: Add check inside exynos_ufs_config_smu() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 079/146] scsi: ufs: exynos: Fix hibern8 notify callbacks Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 080/146] i3c: master: svc: Fix pm_runtime_set_suspended() with runtime pm enabled Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 081/146] i3c: master: Fix miss free init_dyn_addr at i3c_master_put_i3c_addrs() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 082/146] i3c: master: svc: fix possible assignment of the same address to two devices Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 083/146] i3c: master: svc: Modify enabled_events bit 7:0 to act as IBI enable counter Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 084/146] PCI: keystone: Set mode as Root Complex for "ti,keystone-pcie" compatible Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 085/146] PCI: keystone: Add link up check to ks_pcie_other_map_bus() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 086/146] PCI: endpoint: Fix PCI domain ID release in pci_epc_destroy() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 087/146] PCI: endpoint: Clear secondary (not primary) EPC in pci_epc_remove_epf() Greg Kroah-Hartman
2024-12-06 14:36 ` [PATCH 6.12 088/146] slab: Fix too strict alignment check in create_cache() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 089/146] fs/proc/kcore.c: Clear ret value in read_kcore_iter after successful iov_iter_zero Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 090/146] thermal: int3400: Fix reading of current_uuid for active policy Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 091/146] leds: flash: mt6360: Fix device_for_each_child_node() refcounting in error paths Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 092/146] ovl: properly handle large files in ovl_security_fileattr Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 093/146] mm/vmalloc: combine all TLB flush operations of KASAN shadow virtual address into one operation Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 094/146] dm: Fix typo in error message Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 095/146] dm thin: Add missing destroy_work_on_stack() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 096/146] PCI: dwc: ep: Fix advertised resizable BAR size regression Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 097/146] PCI: of_property: Assign PCI instead of CPU bus address to dynamic PCI nodes Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 098/146] PCI: rockchip-ep: Fix address translation unit programming Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 099/146] nfsd: make sure exp active before svc_export_show Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 100/146] nfsd: fix nfs4_openowner leak when concurrent nfsd4_open occur Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 101/146] iio: accel: kx022a: Fix raw read format Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 102/146] iio: invensense: fix multiple odr switch when FIFO is off Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 103/146] iio: Fix fwnode_handle in __fwnode_iio_channel_get_by_name() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 104/146] iio: adc: ad7923: Fix buffer overflow for tx_buf and ring_xfer Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 105/146] iio: gts: fix infinite loop for gain_to_scaletables() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 106/146] powerpc: Fix stack protector Kconfig test for clang Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 107/146] powerpc: Adjust adding stack protector flags to KBUILD_CLAGS " Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 108/146] binder: fix node UAF in binder_add_freeze_work() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 109/146] binder: fix OOB " Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 110/146] binder: fix freeze UAF in binder_release_work() Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 111/146] binder: fix BINDER_WORK_FROZEN_BINDER debug logs Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 112/146] binder: fix BINDER_WORK_CLEAR_FREEZE_NOTIFICATION " Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 113/146] binder: allow freeze notification for dead nodes Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 114/146] binder: fix memleak of proc->delivered_freeze Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 115/146] binder: add delivered_freeze to debugfs output Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 116/146] dt-bindings: net: fec: add pps channel property Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 117/146] net: fec: refactor PPS channel configuration Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 118/146] net: fec: make PPS channel configurable Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 119/146] drm/panic: Fix uninitialized spinlock acquisition with CONFIG_DRM_PANIC=n Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 120/146] drm/sti: avoid potential dereference of error pointers in sti_hqvdp_atomic_check Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 121/146] drm/sti: avoid potential dereference of error pointers in sti_gdp_atomic_check Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 122/146] drm: panel: jd9365da-h3: Remove unused num_init_cmds structure member Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 123/146] drm/sti: avoid potential dereference of error pointers Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 124/146] drm/fbdev-dma: Select FB_DEFERRED_IO Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 125/146] drm/mediatek: Fix child node refcount handling in early exit Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 126/146] drm/bridge: it6505: Fix inverted reset polarity Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 127/146] drm/etnaviv: flush shader L1 cache after user commandstream Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 128/146] drm: xlnx: zynqmp_dpsub: fix hotplug detection Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 129/146] drm/xe/xe_guc_ads: save/restore OA registers and allowlist regs Greg Kroah-Hartman
2024-12-06 17:03   ` Dixit, Ashutosh
2024-12-07  6:35     ` Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 130/146] drm/xe/migrate: fix pat index usage Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 131/146] Revert "drm/radeon: Delay Connector detecting when HPD singals is unstable" Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 132/146] drm/xe/migrate: use XE_BO_FLAG_PAGETABLE Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 133/146] drm/xe/guc_submit: fix race around suspend_pending Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 134/146] drm/amdkfd: Use the correct wptr size Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 135/146] drm/amdgpu/pm: add gen5 display to the user on smu v14.0.2/3 Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 136/146] drm/amd: Add some missing straps from NBIO 7.11.0 Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 137/146] drm/amdgpu: fix usage slab after free Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 138/146] drm/amd/pm: skip setting the power source on smu v14.0.2/3 Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 139/146] drm/amd: Fix initialization mistake for NBIO 7.11 devices Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 140/146] drm/amd/pm: update current_socclk and current_uclk in gpu_metrics on smu v13.0.7 Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 141/146] drm/amd/pm: disable pcie speed switching on Intel platform for smu v14.0.2/3 Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 142/146] drm/amd/pm: Remove arcturus min power limit Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 143/146] drm/amd/display: Fix handling of plane refcount Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 144/146] drm/amd/display: update pipe selection policy to check head pipe Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 145/146] drm/amd/display: Remove PIPE_DTO_SRC_SEL programming from set_dtbclk_dto Greg Kroah-Hartman
2024-12-06 14:37 ` [PATCH 6.12 146/146] posix-timers: Target group sigqueue to current task only if not exiting Greg Kroah-Hartman
2024-12-06 16:34 ` [PATCH 6.12 000/146] 6.12.4-rc1 review Luna Jernberg
2024-12-06 18:05 ` Mark Brown
2024-12-06 23:08 ` Florian Fainelli
2024-12-06 23:58 ` Peter Schneider
2024-12-07  5:04 ` Takeshi Ogasawara
2024-12-07  7:45 ` Ron Economos
2024-12-07  9:02 ` Muhammad Usama Anjum
2024-12-07 19:30 ` Naresh Kamboju

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=20241206143530.589284728@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=aardelean@baylibre.com \
    --cc=akpm@linux-foundation.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