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
next prev 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).