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, Jens Axboe <axboe@kernel.dk>
Subject: [PATCH 6.6 044/134] io_uring: free io_buffer_list entries via RCU
Date: Tue,  5 Dec 2023 12:15:16 +0900	[thread overview]
Message-ID: <20231205031538.347386160@linuxfoundation.org> (raw)
In-Reply-To: <20231205031535.163661217@linuxfoundation.org>

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

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

From: Jens Axboe <axboe@kernel.dk>

commit 5cf4f52e6d8aa2d3b7728f568abbf9d42a3af252 upstream.

mmap_lock nests under uring_lock out of necessity, as we may be doing
user copies with uring_lock held. However, for mmap of provided buffer
rings, we attempt to grab uring_lock with mmap_lock already held from
do_mmap(). This makes lockdep, rightfully, complain:

WARNING: possible circular locking dependency detected
6.7.0-rc1-00009-gff3337ebaf94-dirty #4438 Not tainted
------------------------------------------------------
buf-ring.t/442 is trying to acquire lock:
ffff00020e1480a8 (&ctx->uring_lock){+.+.}-{3:3}, at: io_uring_validate_mmap_request.isra.0+0x4c/0x140

but task is already holding lock:
ffff0000dc226190 (&mm->mmap_lock){++++}-{3:3}, at: vm_mmap_pgoff+0x124/0x264

which lock already depends on the new lock.

the existing dependency chain (in reverse order) is:

-> #1 (&mm->mmap_lock){++++}-{3:3}:
       __might_fault+0x90/0xbc
       io_register_pbuf_ring+0x94/0x488
       __arm64_sys_io_uring_register+0x8dc/0x1318
       invoke_syscall+0x5c/0x17c
       el0_svc_common.constprop.0+0x108/0x130
       do_el0_svc+0x2c/0x38
       el0_svc+0x4c/0x94
       el0t_64_sync_handler+0x118/0x124
       el0t_64_sync+0x168/0x16c

-> #0 (&ctx->uring_lock){+.+.}-{3:3}:
       __lock_acquire+0x19a0/0x2d14
       lock_acquire+0x2e0/0x44c
       __mutex_lock+0x118/0x564
       mutex_lock_nested+0x20/0x28
       io_uring_validate_mmap_request.isra.0+0x4c/0x140
       io_uring_mmu_get_unmapped_area+0x3c/0x98
       get_unmapped_area+0xa4/0x158
       do_mmap+0xec/0x5b4
       vm_mmap_pgoff+0x158/0x264
       ksys_mmap_pgoff+0x1d4/0x254
       __arm64_sys_mmap+0x80/0x9c
       invoke_syscall+0x5c/0x17c
       el0_svc_common.constprop.0+0x108/0x130
       do_el0_svc+0x2c/0x38
       el0_svc+0x4c/0x94
       el0t_64_sync_handler+0x118/0x124
       el0t_64_sync+0x168/0x16c

>From that mmap(2) path, we really just need to ensure that the buffer
list doesn't go away from underneath us. For the lower indexed entries,
they never go away until the ring is freed and we can always sanely
reference those as long as the caller has a file reference. For the
higher indexed ones in our xarray, we just need to ensure that the
buffer list remains valid while we return the address of it.

Free the higher indexed io_buffer_list entries via RCU. With that we can
avoid needing ->uring_lock inside mmap(2), and simply hold the RCU read
lock around the buffer list lookup and address check.

To ensure that the arrayed lookup either returns a valid fully formulated
entry via RCU lookup, add an 'is_ready' flag that we access with store
and release memory ordering. This isn't needed for the xarray lookups,
but doesn't hurt either. Since this isn't a fast path, retain it across
both types. Similarly, for the allocated array inside the ctx, ensure
we use the proper load/acquire as setup could in theory be running in
parallel with mmap.

While in there, add a few lockdep checks for documentation purposes.

Cc: stable@vger.kernel.org
Fixes: c56e022c0a27 ("io_uring: add support for user mapped provided buffer ring")
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 io_uring/io_uring.c |    4 +--
 io_uring/kbuf.c     |   64 +++++++++++++++++++++++++++++++++++++++++-----------
 io_uring/kbuf.h     |    3 ++
 3 files changed, 56 insertions(+), 15 deletions(-)

--- a/io_uring/io_uring.c
+++ b/io_uring/io_uring.c
@@ -3452,9 +3452,9 @@ static void *io_uring_validate_mmap_requ
 		unsigned int bgid;
 
 		bgid = (offset & ~IORING_OFF_MMAP_MASK) >> IORING_OFF_PBUF_SHIFT;
-		mutex_lock(&ctx->uring_lock);
+		rcu_read_lock();
 		ptr = io_pbuf_get_address(ctx, bgid);
-		mutex_unlock(&ctx->uring_lock);
+		rcu_read_unlock();
 		if (!ptr)
 			return ERR_PTR(-EINVAL);
 		break;
--- a/io_uring/kbuf.c
+++ b/io_uring/kbuf.c
@@ -31,19 +31,35 @@ struct io_provide_buf {
 	__u16				bid;
 };
 
+static struct io_buffer_list *__io_buffer_get_list(struct io_ring_ctx *ctx,
+						   struct io_buffer_list *bl,
+						   unsigned int bgid)
+{
+	if (bl && bgid < BGID_ARRAY)
+		return &bl[bgid];
+
+	return xa_load(&ctx->io_bl_xa, bgid);
+}
+
 static inline struct io_buffer_list *io_buffer_get_list(struct io_ring_ctx *ctx,
 							unsigned int bgid)
 {
-	if (ctx->io_bl && bgid < BGID_ARRAY)
-		return &ctx->io_bl[bgid];
+	lockdep_assert_held(&ctx->uring_lock);
 
-	return xa_load(&ctx->io_bl_xa, bgid);
+	return __io_buffer_get_list(ctx, ctx->io_bl, bgid);
 }
 
 static int io_buffer_add_list(struct io_ring_ctx *ctx,
 			      struct io_buffer_list *bl, unsigned int bgid)
 {
+	/*
+	 * Store buffer group ID and finally mark the list as visible.
+	 * The normal lookup doesn't care about the visibility as we're
+	 * always under the ->uring_lock, but the RCU lookup from mmap does.
+	 */
 	bl->bgid = bgid;
+	smp_store_release(&bl->is_ready, 1);
+
 	if (bgid < BGID_ARRAY)
 		return 0;
 
@@ -194,18 +210,19 @@ void __user *io_buffer_select(struct io_
 
 static __cold int io_init_bl_list(struct io_ring_ctx *ctx)
 {
+	struct io_buffer_list *bl;
 	int i;
 
-	ctx->io_bl = kcalloc(BGID_ARRAY, sizeof(struct io_buffer_list),
-				GFP_KERNEL);
-	if (!ctx->io_bl)
+	bl = kcalloc(BGID_ARRAY, sizeof(struct io_buffer_list), GFP_KERNEL);
+	if (!bl)
 		return -ENOMEM;
 
 	for (i = 0; i < BGID_ARRAY; i++) {
-		INIT_LIST_HEAD(&ctx->io_bl[i].buf_list);
-		ctx->io_bl[i].bgid = i;
+		INIT_LIST_HEAD(&bl[i].buf_list);
+		bl[i].bgid = i;
 	}
 
+	smp_store_release(&ctx->io_bl, bl);
 	return 0;
 }
 
@@ -270,7 +287,7 @@ void io_destroy_buffers(struct io_ring_c
 	xa_for_each(&ctx->io_bl_xa, index, bl) {
 		xa_erase(&ctx->io_bl_xa, bl->bgid);
 		__io_remove_buffers(ctx, bl, -1U);
-		kfree(bl);
+		kfree_rcu(bl, rcu);
 	}
 
 	while (!list_empty(&ctx->io_buffers_pages)) {
@@ -455,7 +472,16 @@ int io_provide_buffers(struct io_kiocb *
 		INIT_LIST_HEAD(&bl->buf_list);
 		ret = io_buffer_add_list(ctx, bl, p->bgid);
 		if (ret) {
-			kfree(bl);
+			/*
+			 * Doesn't need rcu free as it was never visible, but
+			 * let's keep it consistent throughout. Also can't
+			 * be a lower indexed array group, as adding one
+			 * where lookup failed cannot happen.
+			 */
+			if (p->bgid >= BGID_ARRAY)
+				kfree_rcu(bl, rcu);
+			else
+				WARN_ON_ONCE(1);
 			goto err;
 		}
 	}
@@ -550,6 +576,8 @@ int io_register_pbuf_ring(struct io_ring
 	struct io_buffer_list *bl, *free_bl = NULL;
 	int ret;
 
+	lockdep_assert_held(&ctx->uring_lock);
+
 	if (copy_from_user(&reg, arg, sizeof(reg)))
 		return -EFAULT;
 
@@ -604,7 +632,7 @@ int io_register_pbuf_ring(struct io_ring
 		return 0;
 	}
 
-	kfree(free_bl);
+	kfree_rcu(free_bl, rcu);
 	return ret;
 }
 
@@ -613,6 +641,8 @@ int io_unregister_pbuf_ring(struct io_ri
 	struct io_uring_buf_reg reg;
 	struct io_buffer_list *bl;
 
+	lockdep_assert_held(&ctx->uring_lock);
+
 	if (copy_from_user(&reg, arg, sizeof(reg)))
 		return -EFAULT;
 	if (reg.resv[0] || reg.resv[1] || reg.resv[2])
@@ -629,7 +659,7 @@ int io_unregister_pbuf_ring(struct io_ri
 	__io_remove_buffers(ctx, bl, -1U);
 	if (bl->bgid >= BGID_ARRAY) {
 		xa_erase(&ctx->io_bl_xa, bl->bgid);
-		kfree(bl);
+		kfree_rcu(bl, rcu);
 	}
 	return 0;
 }
@@ -638,7 +668,15 @@ void *io_pbuf_get_address(struct io_ring
 {
 	struct io_buffer_list *bl;
 
-	bl = io_buffer_get_list(ctx, bgid);
+	bl = __io_buffer_get_list(ctx, smp_load_acquire(&ctx->io_bl), bgid);
+
+	/*
+	 * Ensure the list is fully setup. Only strictly needed for RCU lookup
+	 * via mmap, and in that case only for the array indexed groups. For
+	 * the xarray lookups, it's either visible and ready, or not at all.
+	 */
+	if (!smp_load_acquire(&bl->is_ready))
+		return NULL;
 	if (!bl || !bl->is_mmap)
 		return NULL;
 
--- a/io_uring/kbuf.h
+++ b/io_uring/kbuf.h
@@ -15,6 +15,7 @@ struct io_buffer_list {
 			struct page **buf_pages;
 			struct io_uring_buf_ring *buf_ring;
 		};
+		struct rcu_head rcu;
 	};
 	__u16 bgid;
 
@@ -28,6 +29,8 @@ struct io_buffer_list {
 	__u8 is_mapped;
 	/* ring mapped provided buffers, but mmap'ed by application */
 	__u8 is_mmap;
+	/* bl is visible from an RCU point of view for lookup */
+	__u8 is_ready;
 };
 
 struct io_buffer {



  parent reply	other threads:[~2023-12-05  3:21 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-05  3:14 [PATCH 6.6 000/134] 6.6.5-rc1 review Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 001/134] leds: class: Dont expose color sysfs entry Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 002/134] cifs: Fix FALLOC_FL_ZERO_RANGE by setting i_size if EOF moved Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 003/134] cifs: Fix FALLOC_FL_INSERT_RANGE by setting i_size after " Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 004/134] smb: client: fix missing mode bits for SMB symlinks Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 005/134] smb: client: report correct st_size for SMB and NFS symlinks Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 006/134] ksmbd: fix possible deadlock in smb2_open Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 007/134] pinctrl: avoid reload of p state in list iteration Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 008/134] firewire: core: fix possible memory leak in create_units() Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 009/134] mmc: sdhci-pci-gli: Disable LPM during initialization Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 010/134] mmc: sdhci-sprd: Fix vqmmc not shutting down after the card was pulled Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 011/134] mmc: cqhci: Increase recovery halt timeout Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 012/134] mmc: cqhci: Warn of halt or task clear failure Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 013/134] mmc: cqhci: Fix task clearing in CQE error recovery Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 014/134] mmc: block: Retry commands " Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 015/134] mmc: block: Do not lose cache flush during " Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 016/134] mmc: block: Be sure to wait while busy in " Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 017/134] drm/i915: Also check for VGA converter in eDP probe Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 018/134] ALSA: hda: Disable power-save on KONTRON SinglePC Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 019/134] ALSA: hda/realtek: Headset Mic VREF to 100% Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 020/134] ALSA: hda/realtek: Add supported ALC257 for ChromeOS Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 021/134] net: libwx: fix memory leak on msix entry Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 022/134] dm-verity: align struct dm_verity_fec_io properly Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 023/134] scsi: Change SCSI device boolean fields to single bit flags Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 024/134] scsi: sd: Fix system start for ATA devices Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 025/134] scsi: ufs: core: Clear cmd if abort succeeds in MCQ mode Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 026/134] drm/amd: Enable PCIe PME from D3 Greg Kroah-Hartman
2023-12-05  3:14 ` [PATCH 6.6 027/134] drm/amdgpu: correct the amdgpu runtime dereference usage count Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 028/134] drm/amdgpu: Force order between a read and write to the same address Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 029/134] drm/amdgpu: fix memory overflow in the IB test Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 030/134] drm/amdgpu: Update EEPROM I2C address for smu v13_0_0 Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 031/134] drm/amd/display: Include udelay when waiting for INBOX0 ACK Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 032/134] drm/amd/display: Remove min_dst_y_next_start check for Z8 Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 033/134] drm/amd/display: Use DRAM speed from validation for dummy p-state Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 034/134] drm/amd/display: Update min Z8 residency time to 2100 for DCN314 Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 035/134] drm/amd/display: fix ABM disablement Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 036/134] drm/amd/display: force toggle rate wa for first link training for a retimer Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 037/134] dm verity: initialize fec io before freeing it Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 038/134] dm verity: dont perform FEC for failed readahead IO Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 039/134] nvme: check for valid nvme_identify_ns() before using it Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 040/134] r8169: fix deadlock on RTL8125 in jumbo mtu mode Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 041/134] ACPI: video: Use acpi_video_device for cooling-dev driver data Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 042/134] io_uring: dont allow discontig pages for IORING_SETUP_NO_MMAP Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 043/134] iommu/vt-d: Fix incorrect cache invalidation for mm notification Greg Kroah-Hartman
2023-12-05  3:15 ` Greg Kroah-Hartman [this message]
2023-12-05  3:15 ` [PATCH 6.6 045/134] nouveau: find the smallest page allocation to cover a buffer alloc Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 046/134] powercap: DTPM: Fix unneeded conversions to micro-Watts Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 047/134] cpufreq/amd-pstate: Fix the return value of amd_pstate_fast_switch() Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 048/134] dma-buf: fix check in dma_resv_add_fence Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 049/134] io_uring: dont guard IORING_OFF_PBUF_RING with SETUP_NO_MMAP Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 050/134] iommu: Avoid more races around device probe Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 051/134] bcache: revert replacing IS_ERR_OR_NULL with IS_ERR Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 052/134] ext2: Fix ki_pos update for DIO buffered-io fallback case Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 053/134] iommu/vt-d: Add MTL to quirk list to skip TE disabling Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 054/134] KVM: PPC: Book3S HV: Fix KVM_RUN clobbering FP/VEC user registers Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 055/134] powerpc: Dont clobber f0/vs0 during fp|altivec register save Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 056/134] parisc: Mark ex_table entries 32-bit aligned in assembly.h Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 057/134] parisc: Mark ex_table entries 32-bit aligned in uaccess.h Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 058/134] parisc: Use natural CPU alignment for bug_table Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 059/134] parisc: Mark lock_aligned variables 16-byte aligned on SMP Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 060/134] parisc: Drop the HP-UX ENOSYM and EREMOTERELEASE error codes Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 061/134] parisc: Mark jump_table naturally aligned Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 062/134] parisc: Ensure 32-bit alignment on parisc unwind section Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 063/134] parisc: Mark altinstructions read-only and 32-bit aligned Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 064/134] btrfs: add dmesg output for first mount and last unmount of a filesystem Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 065/134] btrfs: ref-verify: fix memory leaks in btrfs_ref_tree_mod() Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 066/134] btrfs: fix off-by-one when checking chunk map includes logical address Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 067/134] btrfs: send: ensure send_fd is writable Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 068/134] btrfs: make error messages more clear when getting a chunk map Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 069/134] btrfs: free the allocated memory if btrfs_alloc_page_array() fails Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 070/134] btrfs: fix 64bit compat send ioctl arguments not initializing version member Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 071/134] io_uring: enable io_mem_alloc/free to be used in other parts Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 072/134] io_uring/kbuf: defer release of mapped buffer rings Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 073/134] io_uring/kbuf: recycle freed mapped buffer ring entries Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 074/134] wifi: cfg80211: fix CQM for non-range use Greg Kroah-Hartman
2023-12-09 10:05   ` Sven Joachim
2023-12-10  9:32     ` Jaron Kent-Dobias
2023-12-10 10:25       ` Linux regression tracking (Thorsten Leemhuis)
2023-12-05  3:15 ` [PATCH 6.6 075/134] pinctrl: stm32: Add check for devm_kcalloc Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 076/134] pinctrl: stm32: fix array read out of bound Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 077/134] media: v4l2-subdev: Fix a 64bit bug Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 078/134] netdevsim: Dont accept device bound programs Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 079/134] net: rswitch: Fix type of ret in rswitch_start_xmit() Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 080/134] net: rswitch: Fix return value " Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 081/134] net: rswitch: Fix missing dev_kfree_skb_any() in error path Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 082/134] ipv4: igmp: fix refcnt uaf issue when receiving igmp query packet Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 083/134] wifi: iwlwifi: mvm: fix an error code in iwl_mvm_mld_add_sta() Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 084/134] wifi: mac80211: do not pass AP_VLAN vif pointer to drivers during flush Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 085/134] net: dsa: mv88e6xxx: fix marvell 6350 switch probing Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 086/134] net: dsa: mv88e6xxx: fix marvell 6350 probe crash Greg Kroah-Hartman
2023-12-05  3:15 ` [PATCH 6.6 087/134] dpaa2-eth: increase the needed headroom to account for alignment Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 088/134] dpaa2-eth: recycle the RX buffer only after all processing done Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 089/134] bpf: Add missed allocation hint for bpf_mem_cache_alloc_flags() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 090/134] uapi: propagate __struct_group() attributes to the container union Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 091/134] selftests/net: ipsec: fix constant out of range Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 092/134] selftests/net: fix a char signedness issue Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 093/134] selftests/net: unix: fix unused variable compiler warning Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 094/134] selftests/net: mptcp: fix uninitialized variable warnings Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 095/134] octeontx2-af: Fix possible buffer overflow Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 096/134] net: stmmac: xgmac: Disable FPE MMC interrupts Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 097/134] octeontx2-pf: Fix adding mbox work queue entry when num_vfs > 64 Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 098/134] octeontx2-pf: Restore TC ingress police rules when interface is up Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 099/134] neighbour: Fix __randomize_layout crash in struct neighbour Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 100/134] efi/unaccepted: Fix off-by-one when checking for overlapping ranges Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 101/134] r8169: prevent potential deadlock in rtl8169_close Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 102/134] ravb: Fix races between ravb_tx_timeout_work() and net related ops Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 103/134] ethtool: dont propagate EOPNOTSUPP from dumps Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 104/134] bpf, sockmap: af_unix stream sockets need to hold ref for pair sock Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 105/134] ice: Fix VF Reset paths when interface in a failed over aggregate Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 106/134] net: ravb: Check return value of reset_control_deassert() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 107/134] net: ravb: Use pm_runtime_resume_and_get() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 108/134] net: ravb: Make write access to CXR35 first before accessing other EMAC registers Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 109/134] net: ravb: Start TX queues after HW initialization succeeded Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 110/134] net: ravb: Stop DMA in case of failures on ravb_open() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 111/134] net: ravb: Keep reverse order of operations in ravb_remove() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 112/134] powerpc/pseries/iommu: enable_ddw incorrectly returns direct mapping for SR-IOV device Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 113/134] s390/cmma: fix handling of swapper_pg_dir and invalid_pg_dir Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 114/134] drm/amd/display: Refactor edp power control Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 115/134] drm/amd/display: Remove power sequencing check Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 116/134] cpufreq: imx6q: Dont disable 792 Mhz OPP unnecessarily Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 117/134] iommu/vt-d: Omit devTLB invalidation requests when TES=0 Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 118/134] iommu/vt-d: Disable PCI ATS in legacy passthrough mode Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 119/134] iommu/vt-d: Make context clearing consistent with context mapping Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 120/134] drm/i915/gsc: Mark internal GSC engine with reserved uabi class Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 121/134] drm/panel: starry-2081101qfh032011-53g: Fine tune the panel power sequence Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 122/134] drm/panel: nt36523: fix return value check in nt36523_probe() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 123/134] cpufreq/amd-pstate: Fix scaling_min_freq and scaling_max_freq update Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 124/134] cpufreq/amd-pstate: Only print supported EPP values for performance governor Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 125/134] drm/amd/pm: fix a memleak in aldebaran_tables_init Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 126/134] iommu: Fix printk arg in of_iommu_get_resv_regions() Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 127/134] drm/amd/display: refactor ILR to make it work Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 128/134] drm/amd/display: Reduce default backlight min from 5 nits to 1 nits Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 129/134] drm/amd/display: Simplify brightness initialization Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 130/134] drm/amd/display: Fix MPCC 1DLUT programming Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 131/134] vfio/pds: Fix mutex lock->magic != lock warning Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 132/134] vfio/pds: Fix possible sleep while in atomic context Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 133/134] x86/xen: fix percpu vcpu_info allocation Greg Kroah-Hartman
2023-12-05  3:16 ` [PATCH 6.6 134/134] vfio: Drop vfio_file_iommu_group() stub to fudge around a KVM wart Greg Kroah-Hartman
2023-12-05 11:10 ` [PATCH 6.6 000/134] 6.6.5-rc1 review Jon Hunter
2023-12-05 12:33 ` Takeshi Ogasawara
2023-12-05 13:25 ` Bagas Sanjaya
2023-12-05 15:49 ` Harshit Mogalapalli
2023-12-05 15:53 ` Naresh Kamboju
2023-12-05 16:13   ` Arnd Bergmann
2023-12-05 16:16     ` Johannes Berg
2023-12-05 16:55 ` Guenter Roeck
2023-12-05 17:10 ` SeongJae Park
2023-12-05 17:41 ` Naresh Kamboju
2023-12-05 18:28 ` Ron Economos
2023-12-05 18:46 ` Florian Fainelli
2023-12-06  1:37 ` Shuah Khan
2023-12-06 21:42 ` Ricardo B. Marliere
2023-12-06 22:34 ` Justin Forbes

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=20231205031538.347386160@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=axboe@kernel.dk \
    --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