All of lore.kernel.org
 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: 144+ 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   ` 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   ` Sasha Levin
2020-06-29 15:51 ` [PATCH 4.4 056/135] usb/ehci-platform: " Sasha Levin
2020-06-29 15:51   ` 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
     [not found] ` <20200629155309.2495516-1-sashal-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
2020-06-30  9:13   ` Jon Hunter
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 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.