All of lore.kernel.org
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Eric Biggers <ebiggers@google.com>
Subject: [PATCH 5.10 067/132] aio: keep poll requests on waitqueue until completed
Date: Mon, 13 Dec 2021 10:30:08 +0100	[thread overview]
Message-ID: <20211213092941.410628628@linuxfoundation.org> (raw)
In-Reply-To: <20211213092939.074326017@linuxfoundation.org>

From: Eric Biggers <ebiggers@google.com>

commit 363bee27e25804d8981dd1c025b4ad49dc39c530 upstream.

Currently, aio_poll_wake() will always remove the poll request from the
waitqueue.  Then, if aio_poll_complete_work() sees that none of the
polled events are ready and the request isn't cancelled, it re-adds the
request to the waitqueue.  (This can easily happen when polling a file
that doesn't pass an event mask when waking up its waitqueue.)

This is fundamentally broken for two reasons:

  1. If a wakeup occurs between vfs_poll() and the request being
     re-added to the waitqueue, it will be missed because the request
     wasn't on the waitqueue at the time.  Therefore, IOCB_CMD_POLL
     might never complete even if the polled file is ready.

  2. When the request isn't on the waitqueue, there is no way to be
     notified that the waitqueue is being freed (which happens when its
     lifetime is shorter than the struct file's).  This is supposed to
     happen via the waitqueue entries being woken up with POLLFREE.

Therefore, leave the requests on the waitqueue until they are actually
completed (or cancelled).  To keep track of when aio_poll_complete_work
needs to be scheduled, use new fields in struct poll_iocb.  Remove the
'done' field which is now redundant.

Note that this is consistent with how sys_poll() and eventpoll work;
their wakeup functions do *not* remove the waitqueue entries.

Fixes: 2c14fa838cbe ("aio: implement IOCB_CMD_POLL")
Cc: <stable@vger.kernel.org> # v4.18+
Link: https://lore.kernel.org/r/20211209010455.42744-5-ebiggers@kernel.org
Signed-off-by: Eric Biggers <ebiggers@google.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 fs/aio.c |   83 +++++++++++++++++++++++++++++++++++++++++++++++----------------
 1 file changed, 63 insertions(+), 20 deletions(-)

--- a/fs/aio.c
+++ b/fs/aio.c
@@ -182,8 +182,9 @@ struct poll_iocb {
 	struct file		*file;
 	struct wait_queue_head	*head;
 	__poll_t		events;
-	bool			done;
 	bool			cancelled;
+	bool			work_scheduled;
+	bool			work_need_resched;
 	struct wait_queue_entry	wait;
 	struct work_struct	work;
 };
@@ -1640,14 +1641,26 @@ static void aio_poll_complete_work(struc
 	 * avoid further branches in the fast path.
 	 */
 	spin_lock_irq(&ctx->ctx_lock);
+	spin_lock(&req->head->lock);
 	if (!mask && !READ_ONCE(req->cancelled)) {
-		add_wait_queue(req->head, &req->wait);
+		/*
+		 * The request isn't actually ready to be completed yet.
+		 * Reschedule completion if another wakeup came in.
+		 */
+		if (req->work_need_resched) {
+			schedule_work(&req->work);
+			req->work_need_resched = false;
+		} else {
+			req->work_scheduled = false;
+		}
+		spin_unlock(&req->head->lock);
 		spin_unlock_irq(&ctx->ctx_lock);
 		return;
 	}
+	list_del_init(&req->wait.entry);
+	spin_unlock(&req->head->lock);
 	list_del_init(&iocb->ki_list);
 	iocb->ki_res.res = mangle_poll(mask);
-	req->done = true;
 	spin_unlock_irq(&ctx->ctx_lock);
 
 	iocb_put(iocb);
@@ -1661,9 +1674,9 @@ static int aio_poll_cancel(struct kiocb
 
 	spin_lock(&req->head->lock);
 	WRITE_ONCE(req->cancelled, true);
-	if (!list_empty(&req->wait.entry)) {
-		list_del_init(&req->wait.entry);
+	if (!req->work_scheduled) {
 		schedule_work(&aiocb->poll.work);
+		req->work_scheduled = true;
 	}
 	spin_unlock(&req->head->lock);
 
@@ -1682,20 +1695,26 @@ static int aio_poll_wake(struct wait_que
 	if (mask && !(mask & req->events))
 		return 0;
 
-	list_del_init(&req->wait.entry);
-
-	if (mask && spin_trylock_irqsave(&iocb->ki_ctx->ctx_lock, flags)) {
+	/*
+	 * Complete the request inline if possible.  This requires that three
+	 * conditions be met:
+	 *   1. An event mask must have been passed.  If a plain wakeup was done
+	 *	instead, then mask == 0 and we have to call vfs_poll() to get
+	 *	the events, so inline completion isn't possible.
+	 *   2. The completion work must not have already been scheduled.
+	 *   3. ctx_lock must not be busy.  We have to use trylock because we
+	 *	already hold the waitqueue lock, so this inverts the normal
+	 *	locking order.  Use irqsave/irqrestore because not all
+	 *	filesystems (e.g. fuse) call this function with IRQs disabled,
+	 *	yet IRQs have to be disabled before ctx_lock is obtained.
+	 */
+	if (mask && !req->work_scheduled &&
+	    spin_trylock_irqsave(&iocb->ki_ctx->ctx_lock, flags)) {
 		struct kioctx *ctx = iocb->ki_ctx;
 
-		/*
-		 * Try to complete the iocb inline if we can. Use
-		 * irqsave/irqrestore because not all filesystems (e.g. fuse)
-		 * call this function with IRQs disabled and because IRQs
-		 * have to be disabled before ctx_lock is obtained.
-		 */
+		list_del_init(&req->wait.entry);
 		list_del(&iocb->ki_list);
 		iocb->ki_res.res = mangle_poll(mask);
-		req->done = true;
 		if (iocb->ki_eventfd && eventfd_signal_count()) {
 			iocb = NULL;
 			INIT_WORK(&req->work, aio_poll_put_work);
@@ -1705,7 +1724,20 @@ static int aio_poll_wake(struct wait_que
 		if (iocb)
 			iocb_put(iocb);
 	} else {
-		schedule_work(&req->work);
+		/*
+		 * Schedule the completion work if needed.  If it was already
+		 * scheduled, record that another wakeup came in.
+		 *
+		 * Don't remove the request from the waitqueue here, as it might
+		 * not actually be complete yet (we won't know until vfs_poll()
+		 * is called), and we must not miss any wakeups.
+		 */
+		if (req->work_scheduled) {
+			req->work_need_resched = true;
+		} else {
+			schedule_work(&req->work);
+			req->work_scheduled = true;
+		}
 	}
 	return 1;
 }
@@ -1752,8 +1784,9 @@ static int aio_poll(struct aio_kiocb *ai
 	req->events = demangle_poll(iocb->aio_buf) | EPOLLERR | EPOLLHUP;
 
 	req->head = NULL;
-	req->done = false;
 	req->cancelled = false;
+	req->work_scheduled = false;
+	req->work_need_resched = false;
 
 	apt.pt._qproc = aio_poll_queue_proc;
 	apt.pt._key = req->events;
@@ -1768,17 +1801,27 @@ static int aio_poll(struct aio_kiocb *ai
 	spin_lock_irq(&ctx->ctx_lock);
 	if (likely(req->head)) {
 		spin_lock(&req->head->lock);
-		if (unlikely(list_empty(&req->wait.entry))) {
-			if (apt.error)
+		if (list_empty(&req->wait.entry) || req->work_scheduled) {
+			/*
+			 * aio_poll_wake() already either scheduled the async
+			 * completion work, or completed the request inline.
+			 */
+			if (apt.error) /* unsupported case: multiple queues */
 				cancel = true;
 			apt.error = 0;
 			mask = 0;
 		}
 		if (mask || apt.error) {
+			/* Steal to complete synchronously. */
 			list_del_init(&req->wait.entry);
 		} else if (cancel) {
+			/* Cancel if possible (may be too late though). */
 			WRITE_ONCE(req->cancelled, true);
-		} else if (!req->done) { /* actually waiting for an event */
+		} else if (!list_empty(&req->wait.entry)) {
+			/*
+			 * Actually waiting for an event, so add the request to
+			 * active_reqs so that it can be cancelled if needed.
+			 */
 			list_add_tail(&aiocb->ki_list, &ctx->active_reqs);
 			aiocb->ki_cancel = aio_poll_cancel;
 		}



  parent reply	other threads:[~2021-12-13 10:06 UTC|newest]

Thread overview: 155+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-13  9:29 [PATCH 5.10 000/132] 5.10.85-rc1 review Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 001/132] usb: gadget: uvc: fix multiple opens Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 002/132] gcc-plugins: simplify GCC plugin-dev capability test Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 003/132] gcc-plugins: fix gcc 11 indigestion with plugins Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 004/132] HID: quirks: Add quirk for the Microsoft Surface 3 type-cover Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 005/132] HID: google: add eel USB id Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 006/132] HID: add hid_is_usb() function to make it simpler for USB detection Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 007/132] HID: add USB_HID dependancy to hid-prodikeys Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 008/132] HID: add USB_HID dependancy to hid-chicony Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 009/132] HID: add USB_HID dependancy on some USB HID drivers Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 010/132] HID: bigbenff: prevent null pointer dereference Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 011/132] HID: wacom: fix problems when device is not a valid USB device Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 012/132] HID: check for valid USB device for many HID drivers Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 013/132] nft_set_pipapo: Fix bucket load in AVX2 lookup routine for six 8-bit groups Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 014/132] IB/hfi1: Insure use of smp_processor_id() is preempt disabled Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 015/132] IB/hfi1: Fix early init panic Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 016/132] IB/hfi1: Fix leak of rcvhdrtail_dummy_kvaddr Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 017/132] can: kvaser_usb: get CAN clock frequency from device Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 018/132] can: kvaser_pciefd: kvaser_pciefd_rx_error_frame(): increase correct stats->{rx,tx}_errors counter Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 019/132] can: sja1000: fix use after free in ems_pcmcia_add_card() Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 020/132] x86/sme: Explicitly map new EFI memmap table as encrypted Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 021/132] drm/amd/amdkfd: adjust dummy functions placement Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 022/132] drm/amdkfd: separate kfd_iommu_resume from kfd_resume Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 023/132] drm/amdgpu: add amdgpu_amdkfd_resume_iommu Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 024/132] drm/amdgpu: move iommu_resume before ip init/resume Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 025/132] drm/amdgpu: init iommu after amdkfd device init Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 026/132] drm/amdkfd: fix boot failure when iommu is disabled in Picasso Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 027/132] nfc: fix potential NULL pointer deref in nfc_genl_dump_ses_done Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 028/132] selftests: netfilter: add a vrf+conntrack testcase Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 029/132] vrf: dont run conntrack on vrf with !dflt qdisc Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 030/132] bpf, x86: Fix "no previous prototype" warning Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 031/132] bpf: Fix the off-by-two error in range markings Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 032/132] ice: ignore dropped packets during init Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 033/132] bonding: make tx_rebalance_counter an atomic Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 034/132] nfp: Fix memory leak in nfp_cpp_area_cache_add() Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 035/132] seg6: fix the iif in the IPv6 socket control block Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 036/132] udp: using datalen to cap max gso segments Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 037/132] netfilter: conntrack: annotate data-races around ct->timeout Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 038/132] iavf: restore MSI state on reset Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 039/132] iavf: Fix reporting when setting descriptor count Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 040/132] IB/hfi1: Correct guard on eager buffer deallocation Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 041/132] devlink: fix netns refcount leak in devlink_nl_cmd_reload() Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 042/132] net/sched: fq_pie: prevent dismantle issue Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 043/132] KVM: x86: Wait for IPIs to be delivered when handling Hyper-V TLB flush hypercall Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 044/132] mm: bdi: initialize bdi_min_ratio when bdi is unregistered Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 045/132] ALSA: ctl: Fix copy of updated id with element read/write Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 046/132] ALSA: hda/realtek - Add headset Mic support for Lenovo ALC897 platform Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 047/132] ALSA: hda/realtek: Fix quirk for TongFang PHxTxX1 Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 048/132] ALSA: pcm: oss: Fix negative period/buffer sizes Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 049/132] ALSA: pcm: oss: Limit the period size to 16MB Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 050/132] ALSA: pcm: oss: Handle missing errors in snd_pcm_oss_change_params*() Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 051/132] scsi: qla2xxx: Format log strings only if needed Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 052/132] btrfs: clear extent buffer uptodate when we fail to write it Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 053/132] btrfs: replace the BUG_ON in btrfs_del_root_ref with proper error handling Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 054/132] md: fix update super 1.0 on rdev size change Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 055/132] nfsd: fix use-after-free due to delegation race Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 056/132] nfsd: Fix nsfd startup race (again) Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 057/132] tracefs: Have new files inherit the ownership of their parent Greg Kroah-Hartman
2021-12-13  9:29 ` [PATCH 5.10 058/132] mmc: renesas_sdhi: initialize variable properly when tuning Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 059/132] clk: qcom: regmap-mux: fix parent clock lookup Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 060/132] drm/syncobj: Deal with signalled fences in drm_syncobj_find_fence Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 061/132] can: pch_can: pch_can_rx_normal: fix use after free Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 062/132] can: m_can: Disable and ignore ELO interrupt Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 063/132] libata: add horkage for ASMedia 1092 Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 064/132] wait: add wake_up_pollfree() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 065/132] binder: use wake_up_pollfree() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 066/132] signalfd: " Greg Kroah-Hartman
2021-12-13  9:30 ` Greg Kroah-Hartman [this message]
2021-12-13  9:30 ` [PATCH 5.10 068/132] aio: fix use-after-free due to missing POLLFREE handling Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 069/132] net: mvpp2: fix XDP rx queues registering Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 070/132] tracefs: Set all files to the same group ownership as the mount option Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 071/132] block: fix ioprio_get(IOPRIO_WHO_PGRP) vs setuid(2) Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 072/132] scsi: pm80xx: Do not call scsi_remove_host() in pm8001_alloc() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 073/132] scsi: scsi_debug: Fix buffer size of REPORT ZONES command Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 074/132] qede: validate non LSO skb length Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 075/132] PM: runtime: Fix pm_runtime_active() kerneldoc comment Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 076/132] ASoC: rt5682: Fix crash due to out of scope stack vars Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 077/132] ASoC: qdsp6: q6routing: Fix return value from msm_routing_put_audio_mixer Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 078/132] ASoC: codecs: wsa881x: fix return values from kcontrol put Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 079/132] ASoC: codecs: wcd934x: handle channel mappping list correctly Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 080/132] ASoC: codecs: wcd934x: return correct value from mixer put Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 081/132] RDMA/hns: Do not halt commands during reset until later Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 082/132] RDMA/hns: Do not destroy QP resources in the hw resetting phase Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 083/132] clk: imx: use module_platform_driver Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 084/132] i40e: Fix failed opcode appearing if handling messages from VF Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 085/132] i40e: Fix pre-set max number of queues for VF Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 086/132] mtd: rawnand: fsmc: Take instruction delay into account Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 087/132] mtd: rawnand: fsmc: Fix timing computation Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 088/132] i40e: Fix NULL pointer dereference in i40e_dbg_dump_desc Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 089/132] Revert "PCI: aardvark: Fix support for PCI_ROM_ADDRESS1 on emulated bridge" Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 090/132] perf tools: Fix SMT detection fast read path Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 091/132] Documentation/locking/locktypes: Update migrate_disable() bits Greg Kroah-Hartman
2021-12-29 11:12   ` Pavel Machek
2021-12-13  9:30 ` [PATCH 5.10 092/132] dt-bindings: net: Reintroduce PHY no lane swap binding Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 093/132] tools build: Remove needless libpython-version feature check that breaks test-all fast path Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 094/132] net: cdc_ncm: Allow for dwNtbOutMaxSize to be unset or zero Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 095/132] net: altera: set a couple error code in probe() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 096/132] net: fec: only clear interrupt of handling queue in fec_enet_rx_queue() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 097/132] net, neigh: clear whole pneigh_entry at alloc time Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 098/132] net/qla3xxx: fix an error code in ql_adapter_up() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 099/132] selftests/fib_tests: Rework fib_rp_filter_test() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 100/132] USB: gadget: detect too-big endpoint 0 requests Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 101/132] USB: gadget: zero allocate endpoint 0 buffers Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 102/132] usb: core: config: fix validation of wMaxPacketValue entries Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 103/132] xhci: Remove CONFIG_USB_DEFAULT_PERSIST to prevent xHCI from runtime suspending Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 104/132] usb: core: config: using bit mask instead of individual bits Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 105/132] xhci: avoid race between disable slot command and host runtime suspend Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 106/132] iio: gyro: adxrs290: fix data signedness Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 107/132] iio: trigger: Fix reference counting Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 108/132] iio: trigger: stm32-timer: fix MODULE_ALIAS Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 109/132] iio: stk3310: Dont return error code in interrupt handler Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 110/132] iio: mma8452: Fix trigger reference couting Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 111/132] iio: ltr501: Dont return error code in trigger handler Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 112/132] iio: kxsd9: " Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 113/132] iio: itg3200: Call iio_trigger_notify_done() on error Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 114/132] iio: dln2-adc: Fix lockdep complaint Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 115/132] iio: dln2: Check return value of devm_iio_trigger_register() Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 116/132] iio: at91-sama5d2: Fix incorrect sign extension Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 117/132] iio: adc: stm32: fix a current leak by resetting pcsel before disabling vdda Greg Kroah-Hartman
2021-12-13  9:30 ` [PATCH 5.10 118/132] iio: adc: axp20x_adc: fix charging current reporting on AXP22x Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 119/132] iio: ad7768-1: Call iio_trigger_notify_done() on error Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 120/132] iio: accel: kxcjk-1013: Fix possible memory leak in probe and remove Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 121/132] csky: fix typo of fpu config macro Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 122/132] irqchip/aspeed-scu: Replace update_bits with write_bits Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 123/132] irqchip/armada-370-xp: Fix return value of armada_370_xp_msi_alloc() Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 124/132] irqchip/armada-370-xp: Fix support for Multi-MSI interrupts Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 125/132] irqchip/irq-gic-v3-its.c: Force synchronisation when issuing INVALL Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 126/132] irqchip: nvic: Fix offset for Interrupt Priority Offsets Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 127/132] misc: fastrpc: fix improper packet size calculation Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 128/132] bpf: Add selftests to cover packet access corner cases Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 129/132] kbuild: simplify GCC_PLUGINS enablement in dummy-tools/gcc Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 130/132] doc: gcc-plugins: update gcc-plugins.rst Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 131/132] MAINTAINERS: adjust GCC PLUGINS after gcc-plugin.sh removal Greg Kroah-Hartman
2021-12-13  9:31 ` [PATCH 5.10 132/132] Documentation/Kbuild: Remove references to gcc-plugin.sh Greg Kroah-Hartman
2021-12-13 10:35 ` [PATCH 5.10 000/132] 5.10.85-rc1 review Pavel Machek
2021-12-13 12:44   ` Greg Kroah-Hartman
2021-12-13 12:54     ` Greg Kroah-Hartman
2021-12-13 19:16       ` Pavel Machek
2021-12-13 21:55         ` Pavel Machek
2021-12-13 19:21     ` Daniel Díaz
     [not found]       ` <CAEUSe7-CD5jvro+7DgM-6N_G-Ab_ovNFLG1b_F_ZsTAYJ23D-A@mail.gmail.com>
2022-01-06 10:16         ` Pavel Machek
2022-01-06 10:24           ` Greg KH
2021-12-14  2:42   ` Masahiro Yamada
2021-12-13 11:48 ` Fox Chen
2021-12-13 14:43 ` Jon Hunter
2021-12-13 18:17 ` Tadeusz Struk
2021-12-14  6:43   ` Krzysztof Kozlowski
2021-12-14 15:00     ` Jakub Kicinski
2021-12-14 15:15       ` Greg Kroah-Hartman
2021-12-13 18:29 ` Naresh Kamboju
2021-12-13 19:56 ` Guenter Roeck
2021-12-13 20:25 ` Shuah Khan
2021-12-13 20:40 ` Florian Fainelli
2021-12-14 11:18 ` Samuel Zou
2021-12-14 12:46 ` Sudip Mukherjee

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=20211213092941.410628628@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ebiggers@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.