linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Sasha Levin <sashal@kernel.org>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: Jiri Olsa <jolsa@redhat.com>, Ingo Molnar <mingo@kernel.org>,
	"Gustavo A . R . Silva" <gustavoars@kernel.org>,
	Anders Roxell <anders.roxell@linaro.org>,
	"Naveen N . Rao" <naveen.n.rao@linux.ibm.com>,
	Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>,
	David Miller <davem@davemloft.net>, Ingo Molnar <mingo@elte.hu>,
	Peter Zijlstra <peterz@infradead.org>,
	"Ziqian SUN (Zamir)" <zsun@redhat.com>,
	Masami Hiramatsu <mhiramat@kernel.org>,
	Jiri Olsa <jolsa@kernel.org>,
	Steven Rostedt <rostedt@goodmis.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 4.4 073/135] kretprobe: Prevent triggering kretprobe from within kprobe_flush_task
Date: Mon, 29 Jun 2020 11:52:07 -0400	[thread overview]
Message-ID: <20200629155309.2495516-74-sashal@kernel.org> (raw)
In-Reply-To: <20200629155309.2495516-1-sashal@kernel.org>

From: Jiri Olsa <jolsa@redhat.com>

[ Upstream commit 9b38cc704e844e41d9cf74e647bff1d249512cb3 ]

Ziqian reported lockup when adding retprobe on _raw_spin_lock_irqsave.
My test was also able to trigger lockdep output:

 ============================================
 WARNING: possible recursive locking detected
 5.6.0-rc6+ #6 Not tainted
 --------------------------------------------
 sched-messaging/2767 is trying to acquire lock:
 ffffffff9a492798 (&(kretprobe_table_locks[i].lock)){-.-.}, at: kretprobe_hash_lock+0x52/0xa0

 but task is already holding lock:
 ffffffff9a491a18 (&(kretprobe_table_locks[i].lock)){-.-.}, at: kretprobe_trampoline+0x0/0x50

 other info that might help us debug this:
  Possible unsafe locking scenario:

        CPU0
        ----
   lock(&(kretprobe_table_locks[i].lock));
   lock(&(kretprobe_table_locks[i].lock));

  *** DEADLOCK ***

  May be due to missing lock nesting notation

 1 lock held by sched-messaging/2767:
  #0: ffffffff9a491a18 (&(kretprobe_table_locks[i].lock)){-.-.}, at: kretprobe_trampoline+0x0/0x50

 stack backtrace:
 CPU: 3 PID: 2767 Comm: sched-messaging Not tainted 5.6.0-rc6+ #6
 Call Trace:
  dump_stack+0x96/0xe0
  __lock_acquire.cold.57+0x173/0x2b7
  ? native_queued_spin_lock_slowpath+0x42b/0x9e0
  ? lockdep_hardirqs_on+0x590/0x590
  ? __lock_acquire+0xf63/0x4030
  lock_acquire+0x15a/0x3d0
  ? kretprobe_hash_lock+0x52/0xa0
  _raw_spin_lock_irqsave+0x36/0x70
  ? kretprobe_hash_lock+0x52/0xa0
  kretprobe_hash_lock+0x52/0xa0
  trampoline_handler+0xf8/0x940
  ? kprobe_fault_handler+0x380/0x380
  ? find_held_lock+0x3a/0x1c0
  kretprobe_trampoline+0x25/0x50
  ? lock_acquired+0x392/0xbc0
  ? _raw_spin_lock_irqsave+0x50/0x70
  ? __get_valid_kprobe+0x1f0/0x1f0
  ? _raw_spin_unlock_irqrestore+0x3b/0x40
  ? finish_task_switch+0x4b9/0x6d0
  ? __switch_to_asm+0x34/0x70
  ? __switch_to_asm+0x40/0x70

The code within the kretprobe handler checks for probe reentrancy,
so we won't trigger any _raw_spin_lock_irqsave probe in there.

The problem is in outside kprobe_flush_task, where we call:

  kprobe_flush_task
    kretprobe_table_lock
      raw_spin_lock_irqsave
        _raw_spin_lock_irqsave

where _raw_spin_lock_irqsave triggers the kretprobe and installs
kretprobe_trampoline handler on _raw_spin_lock_irqsave return.

The kretprobe_trampoline handler is then executed with already
locked kretprobe_table_locks, and first thing it does is to
lock kretprobe_table_locks ;-) the whole lockup path like:

  kprobe_flush_task
    kretprobe_table_lock
      raw_spin_lock_irqsave
        _raw_spin_lock_irqsave ---> probe triggered, kretprobe_trampoline installed

        ---> kretprobe_table_locks locked

        kretprobe_trampoline
          trampoline_handler
            kretprobe_hash_lock(current, &head, &flags);  <--- deadlock

Adding kprobe_busy_begin/end helpers that mark code with fake
probe installed to prevent triggering of another kprobe within
this code.

Using these helpers in kprobe_flush_task, so the probe recursion
protection check is hit and the probe is never set to prevent
above lockup.

Link: http://lkml.kernel.org/r/158927059835.27680.7011202830041561604.stgit@devnote2

Fixes: ef53d9c5e4da ("kprobes: improve kretprobe scalability with hashed locking")
Cc: Ingo Molnar <mingo@kernel.org>
Cc: "Gustavo A . R . Silva" <gustavoars@kernel.org>
Cc: Anders Roxell <anders.roxell@linaro.org>
Cc: "Naveen N . Rao" <naveen.n.rao@linux.ibm.com>
Cc: Anil S Keshavamurthy <anil.s.keshavamurthy@intel.com>
Cc: David Miller <davem@davemloft.net>
Cc: Ingo Molnar <mingo@elte.hu>
Cc: Peter Zijlstra <peterz@infradead.org>
Cc: stable@vger.kernel.org
Reported-by: "Ziqian SUN (Zamir)" <zsun@redhat.com>
Acked-by: Masami Hiramatsu <mhiramat@kernel.org>
Signed-off-by: Jiri Olsa <jolsa@kernel.org>
Signed-off-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 arch/x86/kernel/kprobes/core.c | 16 +++-------------
 include/linux/kprobes.h        |  4 ++++
 kernel/kprobes.c               | 24 ++++++++++++++++++++++++
 3 files changed, 31 insertions(+), 13 deletions(-)

diff --git a/arch/x86/kernel/kprobes/core.c b/arch/x86/kernel/kprobes/core.c
index 7d2e2e40bbba3..5a6cb30b1c621 100644
--- a/arch/x86/kernel/kprobes/core.c
+++ b/arch/x86/kernel/kprobes/core.c
@@ -736,16 +736,11 @@ static void __used kretprobe_trampoline_holder(void)
 NOKPROBE_SYMBOL(kretprobe_trampoline_holder);
 NOKPROBE_SYMBOL(kretprobe_trampoline);
 
-static struct kprobe kretprobe_kprobe = {
-	.addr = (void *)kretprobe_trampoline,
-};
-
 /*
  * Called from kretprobe_trampoline
  */
 __visible __used void *trampoline_handler(struct pt_regs *regs)
 {
-	struct kprobe_ctlblk *kcb;
 	struct kretprobe_instance *ri = NULL;
 	struct hlist_head *head, empty_rp;
 	struct hlist_node *tmp;
@@ -755,16 +750,12 @@ __visible __used void *trampoline_handler(struct pt_regs *regs)
 	void *frame_pointer;
 	bool skipped = false;
 
-	preempt_disable();
-
 	/*
 	 * Set a dummy kprobe for avoiding kretprobe recursion.
 	 * Since kretprobe never run in kprobe handler, kprobe must not
 	 * be running at this point.
 	 */
-	kcb = get_kprobe_ctlblk();
-	__this_cpu_write(current_kprobe, &kretprobe_kprobe);
-	kcb->kprobe_status = KPROBE_HIT_ACTIVE;
+	kprobe_busy_begin();
 
 	INIT_HLIST_HEAD(&empty_rp);
 	kretprobe_hash_lock(current, &head, &flags);
@@ -843,7 +834,7 @@ __visible __used void *trampoline_handler(struct pt_regs *regs)
 			__this_cpu_write(current_kprobe, &ri->rp->kp);
 			ri->ret_addr = correct_ret_addr;
 			ri->rp->handler(ri, regs);
-			__this_cpu_write(current_kprobe, &kretprobe_kprobe);
+			__this_cpu_write(current_kprobe, &kprobe_busy);
 		}
 
 		recycle_rp_inst(ri, &empty_rp);
@@ -859,8 +850,7 @@ __visible __used void *trampoline_handler(struct pt_regs *regs)
 
 	kretprobe_hash_unlock(current, &flags);
 
-	__this_cpu_write(current_kprobe, NULL);
-	preempt_enable();
+	kprobe_busy_end();
 
 	hlist_for_each_entry_safe(ri, tmp, &empty_rp, hlist) {
 		hlist_del(&ri->hlist);
diff --git a/include/linux/kprobes.h b/include/linux/kprobes.h
index cb527c78de9fd..4db62045f01ae 100644
--- a/include/linux/kprobes.h
+++ b/include/linux/kprobes.h
@@ -366,6 +366,10 @@ static inline struct kprobe_ctlblk *get_kprobe_ctlblk(void)
 	return this_cpu_ptr(&kprobe_ctlblk);
 }
 
+extern struct kprobe kprobe_busy;
+void kprobe_busy_begin(void);
+void kprobe_busy_end(void);
+
 int register_kprobe(struct kprobe *p);
 void unregister_kprobe(struct kprobe *p);
 int register_kprobes(struct kprobe **kps, int num);
diff --git a/kernel/kprobes.c b/kernel/kprobes.c
index 430baa19e48c3..5bda113a3116c 100644
--- a/kernel/kprobes.c
+++ b/kernel/kprobes.c
@@ -1150,6 +1150,26 @@ __releases(hlist_lock)
 }
 NOKPROBE_SYMBOL(kretprobe_table_unlock);
 
+struct kprobe kprobe_busy = {
+	.addr = (void *) get_kprobe,
+};
+
+void kprobe_busy_begin(void)
+{
+	struct kprobe_ctlblk *kcb;
+
+	preempt_disable();
+	__this_cpu_write(current_kprobe, &kprobe_busy);
+	kcb = get_kprobe_ctlblk();
+	kcb->kprobe_status = KPROBE_HIT_ACTIVE;
+}
+
+void kprobe_busy_end(void)
+{
+	__this_cpu_write(current_kprobe, NULL);
+	preempt_enable();
+}
+
 /*
  * This function is called from finish_task_switch when task tk becomes dead,
  * so that we can recycle any function-return probe instances associated
@@ -1167,6 +1187,8 @@ void kprobe_flush_task(struct task_struct *tk)
 		/* Early boot.  kretprobe_table_locks not yet initialized. */
 		return;
 
+	kprobe_busy_begin();
+
 	INIT_HLIST_HEAD(&empty_rp);
 	hash = hash_ptr(tk, KPROBE_HASH_BITS);
 	head = &kretprobe_inst_table[hash];
@@ -1180,6 +1202,8 @@ void kprobe_flush_task(struct task_struct *tk)
 		hlist_del(&ri->hlist);
 		kfree(ri);
 	}
+
+	kprobe_busy_end();
 }
 NOKPROBE_SYMBOL(kprobe_flush_task);
 
-- 
2.25.1


  parent reply	other threads:[~2020-06-29 21:10 UTC|newest]

Thread overview: 140+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-06-29 15:50 [PATCH 4.4 000/135] 4.4.229-rc1 review Sasha Levin
2020-06-29 15:50 ` [PATCH 4.4 001/135] s390: fix syscall_get_error for compat processes Sasha Levin
2020-06-29 15:50 ` [PATCH 4.4 002/135] clk: sunxi: Fix incorrect usage of round_down() Sasha Levin
2020-06-29 15:50 ` [PATCH 4.4 003/135] i2c: piix4: Detect secondary SMBus controller on AMD AM4 chipsets Sasha Levin
2020-06-29 15:50 ` [PATCH 4.4 004/135] clk: qcom: msm8916: Fix the address location of pll->config_reg Sasha Levin
2020-06-29 15:50 ` [PATCH 4.4 005/135] ALSA: isa/wavefront: prevent out of bounds write in ioctl Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 006/135] scsi: qla2xxx: Fix issue with adapter's stopping state Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 007/135] i2c: pxa: clear all master action bits in i2c_pxa_stop_message() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 008/135] usblp: poison URBs upon disconnect Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 009/135] ps3disk: use the default segment boundary Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 010/135] vfio/pci: fix memory leaks in alloc_perm_bits() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 011/135] mfd: wm8994: Fix driver operation if loaded as modules Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 012/135] scsi: lpfc: Fix lpfc_nodelist leak when processing unsolicited event Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 013/135] nfsd: Fix svc_xprt refcnt leak when setup callback client failed Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 014/135] powerpc/crashkernel: Take "mem=" option into account Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 015/135] yam: fix possible memory leak in yam_init_driver Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 016/135] mksysmap: Fix the mismatch of '.L' symbols in System.map Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 017/135] scsi: sr: Fix sr_probe() missing deallocate of device minor Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 018/135] scsi: ibmvscsi: Don't send host info in adapter info MAD after LPM Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 019/135] ALSA: usb-audio: Improve frames size computation Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 020/135] s390/qdio: put thinint indicator after early error Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 021/135] tty: hvc: Fix data abort due to race in hvc_open Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 022/135] staging: sm750fb: add missing case while setting FB_VISUAL Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 023/135] i2c: pxa: fix i2c_pxa_scream_blue_murder() debug output Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 024/135] serial: amba-pl011: Make sure we initialize the port.lock spinlock Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 025/135] drivers: base: Fix NULL pointer exception in __platform_driver_probe() if a driver developer is foolish Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 026/135] PCI/ASPM: Allow ASPM on links to PCIe-to-PCI/PCI-X Bridges Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 027/135] power: supply: smb347-charger: IRQSTAT_D is volatile Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 028/135] scsi: mpt3sas: Fix double free warnings Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 029/135] dlm: remove BUG() before panic() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 030/135] clk: ti: composite: fix memory leak Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 031/135] tty: n_gsm: Fix SOF skipping Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 032/135] tty: n_gsm: Fix waking up upper tty layer when room available Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 033/135] powerpc/pseries/ras: Fix FWNMI_VALID off by one Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 034/135] powerpc/ps3: Fix kexec shutdown hang Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 035/135] vfio-pci: Mask cap zero Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 036/135] usb/ohci-platform: Fix a warning when hibernating Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 037/135] USB: host: ehci-mxc: Add error handling in ehci_mxc_drv_probe() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 038/135] tty: n_gsm: Fix bogus i++ in gsm_data_kick Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 039/135] clk: samsung: exynos5433: Add IGNORE_UNUSED flag to sclk_i2s1 Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 040/135] watchdog: da9062: No need to ping manually before setting timeout Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 041/135] usb: dwc2: gadget: move gadget resume after the core is in L0 state Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 042/135] USB: gadget: udc: s3c2410_udc: Remove pointless NULL check in s3c2410_udc_nuke Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 043/135] usb: gadget: lpc32xx_udc: don't dereference ep pointer before null check Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 044/135] usb: gadget: fix potential double-free in m66592_probe Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 045/135] net: sunrpc: Fix off-by-one issues in 'rpc_ntop6' Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 046/135] ASoC: fsl_asrc_dma: Fix dma_chan leak when config DMA channel failed Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 047/135] openrisc: Fix issue with argument clobbering for clone/fork Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 048/135] gfs2: Allow lock_nolock mount to specify jid=X Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 049/135] scsi: iscsi: Fix reference count leak in iscsi_boot_create_kobj Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 050/135] lib/zlib: remove outdated and incorrect pre-increment optimization Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 051/135] include/linux/bitops.h: avoid clang shift-count-overflow warnings Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 052/135] elfnote: mark all .note sections SHF_ALLOC Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 053/135] selftests/net: in timestamping, strncpy needs to preserve null byte Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 054/135] scsi: acornscsi: Fix an error handling path in acornscsi_probe() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 055/135] usb/xhci-plat: Set PM runtime as active on resume Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 056/135] usb/ehci-platform: " Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 057/135] perf report: Fix NULL pointer dereference in hists__fprintf_nr_sample_events() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 058/135] bcache: fix potential deadlock problem in btree_gc_coalesce Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 059/135] block: Fix use-after-free in blkdev_get() Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 060/135] libata: Use per port sync for detach Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 061/135] drm: encoder_slave: fix refcouting error for modules Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 062/135] drm/dp_mst: Reformat drm_dp_check_act_status() a bit Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 063/135] drm/qxl: Use correct notify port address when creating cursor ring Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 064/135] selinux: fix double free Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 065/135] ext4: fix partial cluster initialization when splitting extent Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 066/135] drm/dp_mst: Increase ACT retry timeout to 3s Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 067/135] sparc64: fix misuses of access_process_vm() in genregs32_[sg]et() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 068/135] block: nr_sects_write(): Disable preemption on seqcount write Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 069/135] crypto: algboss - don't wait during notifier callback Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 070/135] kprobes: Fix to protect kick_kprobe_optimizer() by kprobe_mutex Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 071/135] powerpc/kprobes: Fixes for kprobe_lookup_name() on BE Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 072/135] x86/kprobes: Avoid kretprobe recursion bug Sasha Levin
2020-06-29 15:52 ` Sasha Levin [this message]
2020-06-29 15:52 ` [PATCH 4.4 074/135] e1000e: Do not wake up the system via WOL if device wakeup is disabled Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 075/135] sched/rt, net: Use CONFIG_PREEMPTION.patch Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 076/135] net: core: device_rename: Use rwsem instead of a seqcount Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 077/135] net: Revert "pkt_sched: fq: use proper locking in fq_dump_stats()" Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 078/135] scsi: scsi_devinfo: handle non-terminated strings Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 079/135] l2tp: Allow duplicate session creation with UDP Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 080/135] net: sched: export __netdev_watchdog_up() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 081/135] fix a braino in "sparc32: fix register window handling in genregs32_[gs]et()" Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 082/135] net: fix memleak in register_netdevice() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 083/135] net: usb: ax88179_178a: fix packet alignment padding Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 084/135] tg3: driver sleeps indefinitely when EEH errors exceed eeh_max_freezes Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 085/135] ip_tunnel: fix use-after-free in ip_tunnel_lookup() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 086/135] tcp_cubic: fix spurious HYSTART_DELAY exit upon drop in min RTT Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 087/135] ip6_gre: fix use-after-free in ip6gre_tunnel_lookup() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 088/135] tcp: grow window for OOO packets only for SACK flows Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 089/135] sctp: Don't advertise IPv4 addresses if ipv6only is set on the socket Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 090/135] net: Fix the arp error in some cases Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 091/135] net: Do not clear the sock TX queue in sk_set_socket() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 092/135] net: core: reduce recursion limit value Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 093/135] mld: fix memory leak in ipv6_mc_destroy_dev() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 094/135] USB: ohci-sm501: Add missed iounmap() in remove Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 095/135] usb: dwc2: Postponed gadget registration to the udc class driver Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 096/135] usb: add USB_QUIRK_DELAY_INIT for Logitech C922 Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 097/135] PCI: Disable MSI for HiSilicon Hip06/Hip07 Root Ports Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 098/135] USB: ehci: reopen solution for Synopsys HC bug Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 099/135] usb: host: ehci-exynos: Fix error check in exynos_ehci_probe() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 100/135] ALSA: usb-audio: add quirk for Denon DCD-1500RE Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 101/135] xhci: Fix incorrect EP_STATE_MASK Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 102/135] xhci: Fix enumeration issue when setting max packet size for FS devices Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 103/135] cdc-acm: Add DISABLE_ECHO quirk for Microchip/SMSC chip Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 104/135] ALSA: usb-audio: uac1: Invalidate ctl on interrupt Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 105/135] ALSA: usb-audio: allow clock source validity interrupts Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 106/135] ALSA: usb-audio: Clean up mixer element list traverse Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 107/135] ALSA: usb-audio: Fix OOB access of mixer element list Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 108/135] xhci: Poll for U0 after disabling USB2 LPM Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 109/135] cifs/smb3: Fix data inconsistent when punch hole Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 110/135] cifs/smb3: Fix data inconsistent when zero file range Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 111/135] efi/esrt: Fix reference count leak in esre_create_sysfs_entry Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 112/135] RDMA/mad: Fix possible memory leak in ib_mad_post_receive_mads() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 113/135] ARM: imx5: add missing put_device() call in imx_suspend_alloc_ocram() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 114/135] usb: gadget: udc: Potential Oops in error handling code Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 115/135] netfilter: ipset: fix unaligned atomic access Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 116/135] sched/core: Fix PI boosting between RT and DEADLINE tasks Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 117/135] net: alx: fix race condition in alx_remove Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 118/135] kbuild: improve cc-option to clean up all temporary files Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 119/135] blktrace: break out of blktrace setup on concurrent calls Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 120/135] ACPI: sysfs: Fix pm_profile_attr type Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 121/135] KVM: X86: Fix MSR range of APIC registers in X2APIC mode Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 122/135] mm/slab: use memzero_explicit() in kzfree() Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 123/135] ocfs2: load global_inode_alloc Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 124/135] ocfs2: fix value of OCFS2_INVALID_SLOT Sasha Levin
2020-06-29 15:52 ` [PATCH 4.4 125/135] ocfs2: fix panic on nfs server over ocfs2 Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 126/135] arm64: perf: Report the PC value in REGS_ABI_32 mode Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 127/135] tracing: Fix event trigger to accept redundant spaces Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 128/135] drm/radeon: fix fb_div check in ni_init_smc_spll_table() Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 129/135] sunrpc: fixed rollback in rpc_gssd_dummy_populate() Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 130/135] SUNRPC: Properly set the @subbuf parameter of xdr_buf_subsegment() Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 131/135] pNFS/flexfiles: Fix list corruption if the mirror count changes Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 132/135] NFSv4 fix CLOSE not waiting for direct IO compeletion Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 133/135] PCI: Disable MSI for HiSilicon Hip06/Hip07 only in Root Port mode Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 134/135] ALSA: usb-audio: Fix invalid NULL check in snd_emuusb_set_samplerate() Sasha Levin
2020-06-29 15:53 ` [PATCH 4.4 135/135] Linux 4.4.229-rc1 Sasha Levin
2020-06-30  8:17 ` [PATCH 4.4 000/135] 4.4.229-rc1 review Naresh Kamboju
2020-06-30  9:13 ` Jon Hunter
2020-06-30 13:17 ` Chris Paterson
2020-06-30 17:20 ` Guenter Roeck

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=20200629155309.2495516-74-sashal@kernel.org \
    --to=sashal@kernel.org \
    --cc=anders.roxell@linaro.org \
    --cc=anil.s.keshavamurthy@intel.com \
    --cc=davem@davemloft.net \
    --cc=gustavoars@kernel.org \
    --cc=jolsa@kernel.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mhiramat@kernel.org \
    --cc=mingo@elte.hu \
    --cc=mingo@kernel.org \
    --cc=naveen.n.rao@linux.ibm.com \
    --cc=peterz@infradead.org \
    --cc=rostedt@goodmis.org \
    --cc=stable@vger.kernel.org \
    --cc=zsun@redhat.com \
    /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 NNTP newsgroup(s).