LKML Archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org, Bruno Thomsen <bruno.thomsen@gmail.com>,
	Oliver Neukum <oneukum@suse.com>
Subject: [PATCH 5.10 110/126] USB: cdc-acm: untangle a circular dependency between callback and softint
Date: Mon,  5 Apr 2021 10:54:32 +0200	[thread overview]
Message-ID: <20210405085034.677222525@linuxfoundation.org> (raw)
In-Reply-To: <20210405085031.040238881@linuxfoundation.org>

From: Oliver Neukum <oneukum@suse.com>

commit 6069e3e927c8fb3a1947b07d1a561644ea960248 upstream.

We have a cycle of callbacks scheduling works which submit
URBs with thos callbacks. This needs to be blocked, stopped
and unblocked to untangle the circle.

The issue leads to faults like:

[   55.068392] Unable to handle kernel paging request at virtual address 6b6b6c03
[   55.075624] pgd = be866494
[   55.078335] [6b6b6c03] *pgd=00000000
[   55.081924] Internal error: Oops: 5 [#1] PREEMPT SMP ARM
[   55.087238] Modules linked in: ppp_async crc_ccitt ppp_generic slhc
xt_TCPMSS xt_tcpmss xt_hl nf_log_ipv6 nf_log_ipv4 nf_log_common
xt_policy xt_limit xt_conntrack xt_tcpudp xt_pkttype ip6table_mangle
iptable_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4
iptable_mangle ip6table_filter ip6_tables iptable_filter ip_tables
des_generic md5 sch_fq_codel cdc_mbim cdc_wdm cdc_ncm usbnet mii
cdc_acm usb_storage ip_tunnel xfrm_user xfrm6_tunnel tunnel6
xfrm4_tunnel tunnel4 esp6 esp4 ah6 ah4 xfrm_algo xt_LOG xt_LED
xt_comment x_tables ipv6
[   55.134954] CPU: 0 PID: 82 Comm: kworker/0:2 Tainted: G
   T 5.8.17 #1
[   55.142526] Hardware name: Freescale i.MX7 Dual (Device Tree)
[   55.148304] Workqueue: events acm_softint [cdc_acm]
[   55.153196] PC is at kobject_get+0x10/0xa4
[   55.157302] LR is at usb_get_dev+0x14/0x1c
[   55.161402] pc : [<8047c06c>]    lr : [<80560448>]    psr: 20000193
[   55.167671] sp : bca39ea8  ip : 00007374  fp : bf6cbd80
[   55.172899] r10: 00000000  r9 : bdd92284  r8 : bdd92008
[   55.178128] r7 : 6b6b6b6b  r6 : fffffffe  r5 : 60000113  r4 : 6b6b6be3
[   55.184658] r3 : 6b6b6b6b  r2 : 00000111  r1 : 00000000  r0 : 6b6b6be3
[   55.191191] Flags: nzCv  IRQs off  FIQs on  Mode SVC_32  ISA ARM Segment none
[   55.198417] Control: 10c5387d  Table: bcf0c06a  DAC: 00000051
[   55.204168] Process kworker/0:2 (pid: 82, stack limit = 0x9bdd2a89)
[   55.210439] Stack: (0xbca39ea8 to 0xbca3a000)
[   55.214805] 9ea0:                   bf6cbd80 80769a50 6b6b6b6b 80560448 bdeb0500 8056bfe8
[   55.222991] 9ec0: 00000002 b76da000 00000000 bdeb0500 bdd92448 bca38000 bdeb0510 8056d69c
[   55.231177] 9ee0: bca38000 00000000 80c050fc 00000000 bca39f44 09d42015 00000000 00000001
[   55.239363] 9f00: bdd92448 bdd92438 bdd92000 7f1158c4 bdd92448 bca2ee00 bf6cbd80 bf6cef00
[   55.247549] 9f20: 00000000 00000000 00000000 801412d8 bf6cbd98 80c03d00 bca2ee00 bf6cbd80
[   55.255735] 9f40: bca2ee14 bf6cbd98 80c03d00 00000008 bca38000 80141568 00000000 80c446ae
[   55.263921] 9f60: 00000000 bc9ed880 bc9f0700 bca38000 bc117eb4 80141524 bca2ee00 bc9ed8a4
[   55.272107] 9f80: 00000000 80147cc8 00000000 bc9f0700 80147b84 00000000 00000000 00000000
[   55.280292] 9fa0: 00000000 00000000 00000000 80100148 00000000 00000000 00000000 00000000
[   55.288477] 9fc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
[   55.296662] 9fe0: 00000000 00000000 00000000 00000000 00000013 00000000 00000000 00000000
[   55.304860] [<8047c06c>] (kobject_get) from [<80560448>] (usb_get_dev+0x14/0x1c)
[   55.312271] [<80560448>] (usb_get_dev) from [<8056bfe8>] (usb_hcd_unlink_urb+0x50/0xd8)
[   55.320286] [<8056bfe8>] (usb_hcd_unlink_urb) from [<8056d69c>] (usb_kill_urb.part.0+0x44/0xd0)
[   55.329004] [<8056d69c>] (usb_kill_urb.part.0) from [<7f1158c4>] (acm_softint+0x4c/0x10c [cdc_acm])
[   55.338082] [<7f1158c4>] (acm_softint [cdc_acm]) from [<801412d8>] (process_one_work+0x19c/0x3e8)
[   55.346969] [<801412d8>] (process_one_work) from [<80141568>] (worker_thread+0x44/0x4dc)
[   55.355072] [<80141568>] (worker_thread) from [<80147cc8>] (kthread+0x144/0x180)
[   55.362481] [<80147cc8>] (kthread) from [<80100148>] (ret_from_fork+0x14/0x2c)
[   55.369706] Exception stack(0xbca39fb0 to 0xbca39ff8)

Tested-by: Bruno Thomsen <bruno.thomsen@gmail.com>
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Cc: stable <stable@vger.kernel.org>
Link: https://lore.kernel.org/r/20210311130126.15972-1-oneukum@suse.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 drivers/usb/class/cdc-acm.c |   48 +++++++++++++++++++++++++++++---------------
 1 file changed, 32 insertions(+), 16 deletions(-)

--- a/drivers/usb/class/cdc-acm.c
+++ b/drivers/usb/class/cdc-acm.c
@@ -147,17 +147,29 @@ static inline int acm_set_control(struct
 #define acm_send_break(acm, ms) \
 	acm_ctrl_msg(acm, USB_CDC_REQ_SEND_BREAK, ms, NULL, 0)
 
-static void acm_kill_urbs(struct acm *acm)
+static void acm_poison_urbs(struct acm *acm)
 {
 	int i;
 
-	usb_kill_urb(acm->ctrlurb);
+	usb_poison_urb(acm->ctrlurb);
 	for (i = 0; i < ACM_NW; i++)
-		usb_kill_urb(acm->wb[i].urb);
+		usb_poison_urb(acm->wb[i].urb);
 	for (i = 0; i < acm->rx_buflimit; i++)
-		usb_kill_urb(acm->read_urbs[i]);
+		usb_poison_urb(acm->read_urbs[i]);
+}
+
+static void acm_unpoison_urbs(struct acm *acm)
+{
+	int i;
+
+	for (i = 0; i < acm->rx_buflimit; i++)
+		usb_unpoison_urb(acm->read_urbs[i]);
+	for (i = 0; i < ACM_NW; i++)
+		usb_unpoison_urb(acm->wb[i].urb);
+	usb_unpoison_urb(acm->ctrlurb);
 }
 
+
 /*
  * Write buffer management.
  * All of these assume proper locks taken by the caller.
@@ -226,9 +238,10 @@ static int acm_start_wb(struct acm *acm,
 
 	rc = usb_submit_urb(wb->urb, GFP_ATOMIC);
 	if (rc < 0) {
-		dev_err(&acm->data->dev,
-			"%s - usb_submit_urb(write bulk) failed: %d\n",
-			__func__, rc);
+		if (rc != -EPERM)
+			dev_err(&acm->data->dev,
+				"%s - usb_submit_urb(write bulk) failed: %d\n",
+				__func__, rc);
 		acm_write_done(acm, wb);
 	}
 	return rc;
@@ -482,11 +495,6 @@ static void acm_read_bulk_callback(struc
 	dev_vdbg(&acm->data->dev, "got urb %d, len %d, status %d\n",
 		rb->index, urb->actual_length, status);
 
-	if (!acm->dev) {
-		dev_dbg(&acm->data->dev, "%s - disconnected\n", __func__);
-		return;
-	}
-
 	switch (status) {
 	case 0:
 		usb_mark_last_busy(acm->dev);
@@ -733,6 +741,7 @@ static void acm_port_shutdown(struct tty
 	 * Need to grab write_lock to prevent race with resume, but no need to
 	 * hold it due to the tty-port initialised flag.
 	 */
+	acm_poison_urbs(acm);
 	spin_lock_irq(&acm->write_lock);
 	spin_unlock_irq(&acm->write_lock);
 
@@ -749,7 +758,8 @@ static void acm_port_shutdown(struct tty
 		usb_autopm_put_interface_async(acm->control);
 	}
 
-	acm_kill_urbs(acm);
+	acm_unpoison_urbs(acm);
+
 }
 
 static void acm_tty_cleanup(struct tty_struct *tty)
@@ -1542,8 +1552,14 @@ static void acm_disconnect(struct usb_in
 	if (!acm)
 		return;
 
-	mutex_lock(&acm->mutex);
 	acm->disconnected = true;
+	/*
+	 * there is a circular dependency. acm_softint() can resubmit
+	 * the URBs in error handling so we need to block any
+	 * submission right away
+	 */
+	acm_poison_urbs(acm);
+	mutex_lock(&acm->mutex);
 	if (acm->country_codes) {
 		device_remove_file(&acm->control->dev,
 				&dev_attr_wCountryCodes);
@@ -1562,7 +1578,6 @@ static void acm_disconnect(struct usb_in
 		tty_kref_put(tty);
 	}
 
-	acm_kill_urbs(acm);
 	cancel_delayed_work_sync(&acm->dwork);
 
 	tty_unregister_device(acm_tty_driver, acm->minor);
@@ -1604,7 +1619,7 @@ static int acm_suspend(struct usb_interf
 	if (cnt)
 		return 0;
 
-	acm_kill_urbs(acm);
+	acm_poison_urbs(acm);
 	cancel_delayed_work_sync(&acm->dwork);
 	acm->urbs_in_error_delay = 0;
 
@@ -1617,6 +1632,7 @@ static int acm_resume(struct usb_interfa
 	struct urb *urb;
 	int rv = 0;
 
+	acm_unpoison_urbs(acm);
 	spin_lock_irq(&acm->write_lock);
 
 	if (--acm->susp_count)



  parent reply	other threads:[~2021-04-05  9:15 UTC|newest]

Thread overview: 153+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-05  8:52 [PATCH 5.10 000/126] 5.10.28-rc1 review Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 001/126] arm64: mm: correct the inside linear map range during hotplug check Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 002/126] bpf: Fix fexit trampoline Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 003/126] virtiofs: Fail dax mount if device does not support it Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 004/126] ext4: shrink race window in ext4_should_retry_alloc() Greg Kroah-Hartman
2021-04-05 15:29   ` Pavel Machek
2021-04-06 21:11     ` Eric Whitney
2021-04-05  8:52 ` [PATCH 5.10 005/126] ext4: fix bh ref count on error paths Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 006/126] fs: nfsd: fix kconfig dependency warning for NFSD_V4 Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 007/126] rpc: fix NULL dereference on kmalloc failure Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 008/126] iomap: Fix negative assignment to unsigned sis->pages in iomap_swapfile_activate Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 009/126] ASoC: rt1015: fix i2c communication error Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 010/126] ASoC: rt5640: Fix dac- and adc- vol-tlv values being off by a factor of 10 Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 011/126] ASoC: rt5651: " Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 012/126] ASoC: sgtl5000: set DAP_AVC_CTRL register to correct default value on probe Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 013/126] ASoC: es8316: Simplify adc_pga_gain_tlv table Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 014/126] ASoC: soc-core: Prevent warning if no DMI table is present Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 015/126] ASoC: cs42l42: Fix Bitclock polarity inversion Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 016/126] ASoC: cs42l42: Fix channel width support Greg Kroah-Hartman
2021-04-05  8:52 ` [PATCH 5.10 017/126] ASoC: cs42l42: Fix mixer volume control Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 018/126] ASoC: cs42l42: Always wait at least 3ms after reset Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 019/126] NFSD: fix error handling in NFSv4.0 callbacks Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 020/126] kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 021/126] vhost: Fix vhost_vq_reset() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 022/126] io_uring: fix ->flags races by linked timeouts Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 023/126] scsi: st: Fix a use after free in st_open() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 024/126] scsi: qla2xxx: Fix broken #endif placement Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 025/126] staging: comedi: cb_pcidas: fix request_irq() warn Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 026/126] staging: comedi: cb_pcidas64: " Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 027/126] ASoC: rt5659: Update MCLK rate in set_sysclk() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 028/126] ASoC: rt711: add snd_soc_component remove callback Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 029/126] thermal/core: Add NULL pointer check before using cooling device stats Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 030/126] locking/ww_mutex: Simplify use_ww_ctx & ww_ctx handling Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 031/126] locking/ww_mutex: Fix acquire/release imbalance in ww_acquire_init()/ww_acquire_fini() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 032/126] nvmet-tcp: fix kmap leak when data digest in use Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 033/126] io_uring: imply MSG_NOSIGNAL for send[msg]()/recv[msg]() calls Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 034/126] static_call: Align static_call_is_init() patching condition Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 035/126] ext4: do not iput inode under running transaction in ext4_rename() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 036/126] io_uring: call req_set_fail_links() on short send[msg]()/recv[msg]() with MSG_WAITALL Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 037/126] net: mvpp2: fix interrupt mask/unmask skip condition Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 038/126] flow_dissector: fix TTL and TOS dissection on IPv4 fragments Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 039/126] can: dev: move driver related infrastructure into separate subdir Greg Kroah-Hartman
2021-04-05 15:30   ` Pavel Machek
2021-04-05 16:11     ` Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 040/126] net: introduce CAN specific pointer in the struct net_device Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 041/126] can: tcan4x5x: fix max register value Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 042/126] brcmfmac: clear EAP/association status bits on linkdown events Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 043/126] ath11k: add ieee80211_unregister_hw to avoid kernel crash caused by NULL pointer Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 044/126] rtw88: coex: 8821c: correct antenna switch function Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 045/126] netdevsim: dev: Initialize FIB module after debugfs Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 046/126] iwlwifi: pcie: dont disable interrupts for reg_lock Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 047/126] ath10k: hold RCU lock when calling ieee80211_find_sta_by_ifaddr() Greg Kroah-Hartman
2021-04-05 15:34   ` Pavel Machek
2021-04-06  0:27     ` Shuah Khan
2021-04-05  8:53 ` [PATCH 5.10 048/126] net: ethernet: aquantia: Handle error cleanup of start on open Greg Kroah-Hartman
2021-04-05 15:37   ` Pavel Machek
2021-04-05  8:53 ` [PATCH 5.10 049/126] appletalk: Fix skb allocation size in loopback case Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 050/126] net: ipa: remove two unused register definitions Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 051/126] net: ipa: fix register write command validation Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 052/126] net: wan/lmc: unregister device when no matching device is found Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 053/126] net: 9p: advance iov on empty read Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 054/126] bpf: Remove MTU check in __bpf_skb_max_len Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 055/126] ACPI: tables: x86: Reserve memory occupied by ACPI tables Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 056/126] ACPI: processor: Fix CPU0 wakeup in acpi_idle_play_dead() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 057/126] ALSA: usb-audio: Apply sample rate quirk to Logitech Connect Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 058/126] ALSA: hda: Re-add dropped snd_poewr_change_state() calls Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 059/126] ALSA: hda: Add missing sanity checks in PM prepare/complete callbacks Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 060/126] ALSA: hda/realtek: fix a determine_headset_type issue for a Dell AIO Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 061/126] ALSA: hda/realtek: call alc_update_headset_mode() in hp_automute_hook Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 062/126] ALSA: hda/realtek: fix mute/micmute LEDs for HP 640 G8 Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 063/126] xtensa: fix uaccess-related livelock in do_page_fault Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 064/126] xtensa: move coprocessor_flush to the .text section Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 065/126] KVM: SVM: load control fields from VMCB12 before checking them Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 066/126] KVM: SVM: ensure that EFER.SVME is set when running nested guest or on nested vmexit Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 067/126] PM: runtime: Fix race getting/putting suppliers at probe Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 068/126] PM: runtime: Fix ordering in pm_runtime_get_suppliers() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 069/126] tracing: Fix stack trace event size Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 070/126] s390/vdso: copy tod_steering_delta value to vdso_data page Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 071/126] s390/vdso: fix tod_steering_delta type Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 072/126] mm: fix race by making init_zero_pfn() early_initcall Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 073/126] drm/amdkfd: dqm fence memory corruption Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 074/126] drm/amdgpu: fix offset calculation in amdgpu_vm_bo_clear_mappings() Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 075/126] drm/amdgpu: check alignment on CPU page for bo map Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 076/126] reiserfs: update reiserfs_xattrs_initialized() condition Greg Kroah-Hartman
2021-04-05  8:53 ` [PATCH 5.10 077/126] drm/imx: fix memory leak when fails to init Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 078/126] drm/tegra: dc: Restore coupling of display controllers Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 079/126] drm/tegra: sor: Grab runtime PM reference across reset Greg Kroah-Hartman
2021-04-05 15:42   ` Pavel Machek
2021-04-06 11:50     ` Thierry Reding
2021-04-06 19:14       ` Pavel Machek
2021-04-05  8:54 ` [PATCH 5.10 080/126] vfio/nvlink: Add missing SPAPR_TCE_IOMMU depends Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 081/126] pinctrl: rockchip: fix restore error in resume Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 082/126] KVM: x86/mmu: change TDP MMU yield function returns to match cond_resched Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 083/126] KVM: x86/mmu: Merge flush and non-flush tdp_mmu_iter_cond_resched Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 084/126] KVM: x86/mmu: Rename goal_gfn to next_last_level_gfn Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 085/126] KVM: x86/mmu: Ensure forward progress when yielding in TDP MMU iter Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 086/126] KVM: x86/mmu: Yield in TDU MMU iter even if no SPTES changed Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 087/126] kvm: x86/mmu: Add existing trace points to TDP MMU Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 088/126] KVM: x86/mmu: Add lockdep when setting a TDP MMU SPTE Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 089/126] KVM: x86/mmu: Factor out handling of removed page tables Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 090/126] KVM: x86/mmu: Protect TDP MMU page table memory with RCU Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 091/126] KVM: x86/mmu: Ensure TLBs are flushed when yielding during GFN range zap Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 092/126] KVM: x86/mmu: Add comment on __tdp_mmu_set_spte Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 093/126] KVM: x86/mmu: Dont redundantly clear TDP MMU pt memory Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 094/126] KVM: x86/mmu: Fix braces in kvm_recover_nx_lpages Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 095/126] KVM: x86/mmu: Factor out functions to add/remove TDP MMU pages Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 096/126] KVM: x86/mmu: Use atomic ops to set SPTEs in TDP MMU map Greg Kroah-Hartman
2021-04-06  6:09   ` Paolo Bonzini
2021-04-06 13:49     ` Sasha Levin
2021-04-06 15:48       ` Paolo Bonzini
2021-04-06 18:01         ` Sasha Levin
2021-04-06 18:28           ` Paolo Bonzini
2021-04-06 19:44             ` Sasha Levin
2021-04-06 20:43               ` Paolo Bonzini
2021-04-06 22:57                 ` Sasha Levin
2021-04-05  8:54 ` [PATCH 5.10 097/126] KVM: x86: compile out TDP MMU on 32-bit systems Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 098/126] KVM: x86/mmu: Ensure TLBs are flushed for TDP MMU during NX zapping Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 099/126] extcon: Add stubs for extcon_register_notifier_all() functions Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 100/126] extcon: Fix error handling in extcon_dev_register Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 101/126] firmware: stratix10-svc: reset COMMAND_RECONFIG_FLAG_PARTIAL to 0 Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 102/126] usb: dwc3: pci: Enable dis_uX_susphy_quirk for Intel Merrifield Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 103/126] video: hyperv_fb: Fix a double free in hvfb_probe Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 104/126] firewire: nosy: Fix a use-after-free bug in nosy_ioctl() Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 105/126] usbip: vhci_hcd fix shift out-of-bounds in vhci_hub_control() Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 106/126] USB: quirks: ignore remote wake-up on Fibocom L850-GL LTE modem Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 107/126] usb: musb: Fix suspend with devices connected for a64 Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 108/126] usb: xhci-mtk: fix broken streams issue on 0.96 xHCI Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 109/126] cdc-acm: fix BREAK rx code path adding necessary calls Greg Kroah-Hartman
2021-04-05  8:54 ` Greg Kroah-Hartman [this message]
2021-04-05  8:54 ` [PATCH 5.10 111/126] USB: cdc-acm: downgrade message to debug Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 112/126] USB: cdc-acm: fix double free on probe failure Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 113/126] USB: cdc-acm: fix use-after-free after " Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 114/126] usb: gadget: udc: amd5536udc_pci fix null-ptr-dereference Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 115/126] usb: dwc2: Fix HPRT0.PrtSusp bit setting for HiKey 960 board Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 116/126] usb: dwc2: Prevent core suspend when port connection flag is 0 Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 117/126] usb: dwc3: qcom: skip interconnect init for ACPI probe Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 118/126] usb: dwc3: gadget: Clear DEP flags after stop transfers in ep disable Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 119/126] soc: qcom-geni-se: Cleanup the code to remove proxy votes Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 120/126] staging: rtl8192e: Fix incorrect source in memcpy() Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 121/126] staging: rtl8192e: Change state information from u16 to u8 Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 122/126] driver core: clear deferred probe reason on probe retry Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 123/126] drivers: video: fbcon: fix NULL dereference in fbcon_cursor() Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 124/126] riscv: evaluate put_user() arg before enabling user access Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 125/126] Revert "kernel: freezer should treat PF_IO_WORKER like PF_KTHREAD for freezing" Greg Kroah-Hartman
2021-04-05  8:54 ` [PATCH 5.10 126/126] bpf: Use NOP_ATOMIC5 instead of emit_nops(&prog, 5) for BPF_TRAMP_F_CALL_ORIG Greg Kroah-Hartman
2021-04-05 17:08 ` [PATCH 5.10 000/126] 5.10.28-rc1 review Florian Fainelli
2021-04-05 17:59 ` Guenter Roeck
2021-04-05 18:44 ` Naresh Kamboju
2021-04-06  0:10 ` Shuah Khan
2021-04-06 13:43 ` Andrei Rabusov
2021-04-07  1:58 ` Samuel Zou
2021-04-07  8:14 ` Sudip Mukherjee
2021-04-07  8:20 ` Pavel Machek

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=20210405085034.677222525@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=bruno.thomsen@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=oneukum@suse.com \
    --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;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).