mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Willy Tarreau <w@1wt.eu>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org, linux@roeck-us.net
Cc: Eric Dumazet <edumazet@google.com>,
	"David S . Miller" <davem@davemloft.net>,
	Willy Tarreau <w@1wt.eu>
Subject: [PATCH 3.10 117/250] net: use a work queue to defer net_disable_timestamp() work
Date: Thu,  8 Jun 2017 00:58:23 +0200	[thread overview]
Message-ID: <1496876436-32402-118-git-send-email-w@1wt.eu> (raw)
In-Reply-To: <1496876436-32402-1-git-send-email-w@1wt.eu>

From: Eric Dumazet <edumazet@google.com>

commit 5fa8bbda38c668e56b0c6cdecced2eac2fe36dec upstream.

Dmitry reported a warning [1] showing that we were calling
net_disable_timestamp() -> static_key_slow_dec() from a non
process context.

Grabbing a mutex while holding a spinlock or rcu_read_lock()
is not allowed.

As Cong suggested, we now use a work queue.

It is possible netstamp_clear() exits while netstamp_needed_deferred
is not zero, but it is probably not worth trying to do better than that.

netstamp_needed_deferred atomic tracks the exact number of deferred
decrements.

[1]
[ INFO: suspicious RCU usage. ]
4.10.0-rc5+ #192 Not tainted
-------------------------------
./include/linux/rcupdate.h:561 Illegal context switch in RCU read-side
critical section!

other info that might help us debug this:

rcu_scheduler_active = 2, debug_locks = 0
2 locks held by syz-executor14/23111:
 #0:  (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff83a35c35>] lock_sock
include/net/sock.h:1454 [inline]
 #0:  (sk_lock-AF_INET6){+.+.+.}, at: [<ffffffff83a35c35>]
rawv6_sendmsg+0x1e65/0x3ec0 net/ipv6/raw.c:919
 #1:  (rcu_read_lock){......}, at: [<ffffffff83ae2678>] nf_hook
include/linux/netfilter.h:201 [inline]
 #1:  (rcu_read_lock){......}, at: [<ffffffff83ae2678>]
__ip6_local_out+0x258/0x840 net/ipv6/output_core.c:160

stack backtrace:
CPU: 2 PID: 23111 Comm: syz-executor14 Not tainted 4.10.0-rc5+ #192
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs
01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:15 [inline]
 dump_stack+0x2ee/0x3ef lib/dump_stack.c:51
 lockdep_rcu_suspicious+0x139/0x180 kernel/locking/lockdep.c:4452
 rcu_preempt_sleep_check include/linux/rcupdate.h:560 [inline]
 ___might_sleep+0x560/0x650 kernel/sched/core.c:7748
 __might_sleep+0x95/0x1a0 kernel/sched/core.c:7739
 mutex_lock_nested+0x24f/0x1730 kernel/locking/mutex.c:752
 atomic_dec_and_mutex_lock+0x119/0x160 kernel/locking/mutex.c:1060
 __static_key_slow_dec+0x7a/0x1e0 kernel/jump_label.c:149
 static_key_slow_dec+0x51/0x90 kernel/jump_label.c:174
 net_disable_timestamp+0x3b/0x50 net/core/dev.c:1728
 sock_disable_timestamp+0x98/0xc0 net/core/sock.c:403
 __sk_destruct+0x27d/0x6b0 net/core/sock.c:1441
 sk_destruct+0x47/0x80 net/core/sock.c:1460
 __sk_free+0x57/0x230 net/core/sock.c:1468
 sock_wfree+0xae/0x120 net/core/sock.c:1645
 skb_release_head_state+0xfc/0x200 net/core/skbuff.c:655
 skb_release_all+0x15/0x60 net/core/skbuff.c:668
 __kfree_skb+0x15/0x20 net/core/skbuff.c:684
 kfree_skb+0x16e/0x4c0 net/core/skbuff.c:705
 inet_frag_destroy+0x121/0x290 net/ipv4/inet_fragment.c:304
 inet_frag_put include/net/inet_frag.h:133 [inline]
 nf_ct_frag6_gather+0x1106/0x3840
net/ipv6/netfilter/nf_conntrack_reasm.c:617
 ipv6_defrag+0x1be/0x2b0 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:68
 nf_hook_entry_hookfn include/linux/netfilter.h:102 [inline]
 nf_hook_slow+0xc3/0x290 net/netfilter/core.c:310
 nf_hook include/linux/netfilter.h:212 [inline]
 __ip6_local_out+0x489/0x840 net/ipv6/output_core.c:160
 ip6_local_out+0x2d/0x170 net/ipv6/output_core.c:170
 ip6_send_skb+0xa1/0x340 net/ipv6/ip6_output.c:1722
 ip6_push_pending_frames+0xb3/0xe0 net/ipv6/ip6_output.c:1742
 rawv6_push_pending_frames net/ipv6/raw.c:613 [inline]
 rawv6_sendmsg+0x2d1a/0x3ec0 net/ipv6/raw.c:927
 inet_sendmsg+0x164/0x5b0 net/ipv4/af_inet.c:744
 sock_sendmsg_nosec net/socket.c:635 [inline]
 sock_sendmsg+0xca/0x110 net/socket.c:645
 sock_write_iter+0x326/0x600 net/socket.c:848
 do_iter_readv_writev+0x2e3/0x5b0 fs/read_write.c:695
 do_readv_writev+0x42c/0x9b0 fs/read_write.c:872
 vfs_writev+0x87/0xc0 fs/read_write.c:911
 do_writev+0x110/0x2c0 fs/read_write.c:944
 SYSC_writev fs/read_write.c:1017 [inline]
 SyS_writev+0x27/0x30 fs/read_write.c:1014
 entry_SYSCALL_64_fastpath+0x1f/0xc2
RIP: 0033:0x445559
RSP: 002b:00007f6f46fceb58 EFLAGS: 00000292 ORIG_RAX: 0000000000000014
RAX: ffffffffffffffda RBX: 0000000000000005 RCX: 0000000000445559
RDX: 0000000000000001 RSI: 0000000020f1eff0 RDI: 0000000000000005
RBP: 00000000006e19c0 R08: 0000000000000000 R09: 0000000000000000
R10: 0000000000000000 R11: 0000000000000292 R12: 0000000000700000
R13: 0000000020f59000 R14: 0000000000000015 R15: 0000000000020400
BUG: sleeping function called from invalid context at
kernel/locking/mutex.c:752
in_atomic(): 1, irqs_disabled(): 0, pid: 23111, name: syz-executor14
INFO: lockdep is turned off.
CPU: 2 PID: 23111 Comm: syz-executor14 Not tainted 4.10.0-rc5+ #192
Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs
01/01/2011
Call Trace:
 __dump_stack lib/dump_stack.c:15 [inline]
 dump_stack+0x2ee/0x3ef lib/dump_stack.c:51
 ___might_sleep+0x47e/0x650 kernel/sched/core.c:7780
 __might_sleep+0x95/0x1a0 kernel/sched/core.c:7739
 mutex_lock_nested+0x24f/0x1730 kernel/locking/mutex.c:752
 atomic_dec_and_mutex_lock+0x119/0x160 kernel/locking/mutex.c:1060
 __static_key_slow_dec+0x7a/0x1e0 kernel/jump_label.c:149
 static_key_slow_dec+0x51/0x90 kernel/jump_label.c:174
 net_disable_timestamp+0x3b/0x50 net/core/dev.c:1728
 sock_disable_timestamp+0x98/0xc0 net/core/sock.c:403
 __sk_destruct+0x27d/0x6b0 net/core/sock.c:1441
 sk_destruct+0x47/0x80 net/core/sock.c:1460
 __sk_free+0x57/0x230 net/core/sock.c:1468
 sock_wfree+0xae/0x120 net/core/sock.c:1645
 skb_release_head_state+0xfc/0x200 net/core/skbuff.c:655
 skb_release_all+0x15/0x60 net/core/skbuff.c:668
 __kfree_skb+0x15/0x20 net/core/skbuff.c:684
 kfree_skb+0x16e/0x4c0 net/core/skbuff.c:705
 inet_frag_destroy+0x121/0x290 net/ipv4/inet_fragment.c:304
 inet_frag_put include/net/inet_frag.h:133 [inline]
 nf_ct_frag6_gather+0x1106/0x3840
net/ipv6/netfilter/nf_conntrack_reasm.c:617
 ipv6_defrag+0x1be/0x2b0 net/ipv6/netfilter/nf_defrag_ipv6_hooks.c:68
 nf_hook_entry_hookfn include/linux/netfilter.h:102 [inline]
 nf_hook_slow+0xc3/0x290 net/netfilter/core.c:310
 nf_hook include/linux/netfilter.h:212 [inline]
 __ip6_local_out+0x489/0x840 net/ipv6/output_core.c:160
 ip6_local_out+0x2d/0x170 net/ipv6/output_core.c:170
 ip6_send_skb+0xa1/0x340 net/ipv6/ip6_output.c:1722
 ip6_push_pending_frames+0xb3/0xe0 net/ipv6/ip6_output.c:1742
 rawv6_push_pending_frames net/ipv6/raw.c:613 [inline]
 rawv6_sendmsg+0x2d1a/0x3ec0 net/ipv6/raw.c:927
 inet_sendmsg+0x164/0x5b0 net/ipv4/af_inet.c:744
 sock_sendmsg_nosec net/socket.c:635 [inline]
 sock_sendmsg+0xca/0x110 net/socket.c:645
 sock_write_iter+0x326/0x600 net/socket.c:848
 do_iter_readv_writev+0x2e3/0x5b0 fs/read_write.c:695
 do_readv_writev+0x42c/0x9b0 fs/read_write.c:872
 vfs_writev+0x87/0xc0 fs/read_write.c:911
 do_writev+0x110/0x2c0 fs/read_write.c:944
 SYSC_writev fs/read_write.c:1017 [inline]
 SyS_writev+0x27/0x30 fs/read_write.c:1014
 entry_SYSCALL_64_fastpath+0x1f/0xc2
RIP: 0033:0x445559

Fixes: b90e5794c5bd ("net: dont call jump_label_dec from irq context")
Suggested-by: Cong Wang <xiyou.wangcong@gmail.com>
Reported-by: Dmitry Vyukov <dvyukov@google.com>
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Willy Tarreau <w@1wt.eu>
---
 net/core/dev.c | 31 +++++++++++++------------------
 1 file changed, 13 insertions(+), 18 deletions(-)

diff --git a/net/core/dev.c b/net/core/dev.c
index 4dbc7af..11535a9 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -1559,24 +1559,19 @@ EXPORT_SYMBOL(call_netdevice_notifiers);
 
 static struct static_key netstamp_needed __read_mostly;
 #ifdef HAVE_JUMP_LABEL
-/* We are not allowed to call static_key_slow_dec() from irq context
- * If net_disable_timestamp() is called from irq context, defer the
- * static_key_slow_dec() calls.
- */
 static atomic_t netstamp_needed_deferred;
-#endif
-
-void net_enable_timestamp(void)
+static void netstamp_clear(struct work_struct *work)
 {
-#ifdef HAVE_JUMP_LABEL
 	int deferred = atomic_xchg(&netstamp_needed_deferred, 0);
 
-	if (deferred) {
-		while (--deferred)
-			static_key_slow_dec(&netstamp_needed);
-		return;
-	}
+	while (deferred--)
+		static_key_slow_dec(&netstamp_needed);
+}
+static DECLARE_WORK(netstamp_work, netstamp_clear);
 #endif
+
+void net_enable_timestamp(void)
+{
 	static_key_slow_inc(&netstamp_needed);
 }
 EXPORT_SYMBOL(net_enable_timestamp);
@@ -1584,12 +1579,12 @@ EXPORT_SYMBOL(net_enable_timestamp);
 void net_disable_timestamp(void)
 {
 #ifdef HAVE_JUMP_LABEL
-	if (in_interrupt()) {
-		atomic_inc(&netstamp_needed_deferred);
-		return;
-	}
-#endif
+	/* net_disable_timestamp() can be called from non process context */
+	atomic_inc(&netstamp_needed_deferred);
+	schedule_work(&netstamp_work);
+#else
 	static_key_slow_dec(&netstamp_needed);
+#endif
 }
 EXPORT_SYMBOL(net_disable_timestamp);
 
-- 
2.8.0.rc2.1.gbe9624a

  parent reply	other threads:[~2017-06-07 23:48 UTC|newest]

Thread overview: 254+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-07 22:56 [PATCH 3.10 000/250] 3.10.106-stable review Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 001/250] packet: fix race condition in packet_set_ring Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 002/250] crypto: crypto_memneq - add equality testing of memory regions w/o timing leaks Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 003/250] EVM: Use crypto_memneq() for digest comparisons Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 004/250] libceph: don't set weight to IN when OSD is destroyed Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 005/250] KVM: x86: fix emulation of "MOV SS, null selector" Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 006/250] KVM: x86: Introduce segmented_write_std Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 007/250] posix_acl: Clear SGID bit when setting file permissions Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 008/250] tmpfs: clear S_ISGID when setting posix ACLs Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 009/250] fbdev: color map copying bounds checking Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 010/250] selinux: fix off-by-one in setprocattr Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 011/250] tcp: avoid infinite loop in tcp_splice_read() Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 012/250] xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 013/250] xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 014/250] KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 015/250] KEYS: Change the name of the dead type to ".dead" to prevent user access Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 016/250] KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 017/250] ext4: fix data exposure after a crash Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 018/250] locking/rtmutex: Prevent dequeue vs. unlock race Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 019/250] m68k: Fix ndelay() macro Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 020/250] hotplug: Make register and unregister notifier API symmetric Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 021/250] Btrfs: fix tree search logic when replaying directory entry deletes Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 022/250] USB: serial: kl5kusb105: fix open error path Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 023/250] block_dev: don't test bdev->bd_contains when it is not stable Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 024/250] crypto: caam - fix AEAD givenc descriptors Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 025/250] ext4: fix mballoc breakage with 64k block size Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 026/250] ext4: fix stack memory corruption " Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 027/250] ext4: reject inodes with negative size Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 028/250] ext4: return -ENOMEM instead of success Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 029/250] f2fs: set ->owner for debugfs status file's file_operations Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 030/250] block: protect iterate_bdevs() against concurrent close Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 031/250] scsi: zfcp: fix use-after-"free" in FC ingress path after TMF Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 032/250] scsi: zfcp: do not trace pure benign residual HBA responses at default level Willy Tarreau
2017-06-07 22:56 ` [PATCH 3.10 033/250] scsi: zfcp: fix rport unblock race with LUN recovery Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 034/250] ftrace/x86_32: Set ftrace_stub to weak to prevent gcc from using short jumps to it Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 035/250] IB/mad: Fix an array index check Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 036/250] IB/multicast: Check ib_find_pkey() return value Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 037/250] powerpc: Convert cmp to cmpd in idle enter sequence Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 038/250] usb: gadget: composite: Test get_alt() presence instead of set_alt() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 039/250] USB: serial: omninet: fix NULL-derefs at open and disconnect Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 040/250] USB: serial: quatech2: fix sleep-while-atomic in close Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 041/250] USB: serial: pl2303: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 042/250] USB: serial: keyspan_pda: verify endpoints at probe Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 043/250] USB: serial: spcp8x5: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 044/250] USB: serial: io_ti: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 045/250] USB: serial: io_ti: fix another " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 046/250] USB: serial: iuu_phoenix: fix " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 047/250] USB: serial: garmin_gps: fix memory leak on failed URB submit Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 048/250] USB: serial: ti_usb_3410_5052: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 049/250] USB: serial: io_edgeport: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 050/250] USB: serial: oti6858: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 051/250] USB: serial: cyberjack: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 052/250] USB: serial: kobil_sct: fix NULL-deref in write Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 053/250] USB: serial: mos7840: fix NULL-deref at open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 054/250] USB: serial: mos7720: " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 055/250] USB: serial: mos7720: fix use-after-free on probe errors Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 056/250] USB: serial: mos7720: fix parport " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 057/250] USB: serial: mos7720: fix parallel probe Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 058/250] usb: xhci-mem: use passed in GFP flags instead of GFP_KERNEL Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 059/250] usb: musb: Fix trying to free already-free IRQ 4 Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 060/250] ALSA: usb-audio: Fix bogus error return in snd_usb_create_stream() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 061/250] USB: serial: kl5kusb105: abort on open exception path Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 062/250] staging: iio: ad7606: fix improper setting of oversampling pins Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 063/250] usb: dwc3: gadget: always unmap EP0 requests Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 064/250] cris: Only build flash rescue image if CONFIG_ETRAX_AXISFLASHMAP is selected Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 065/250] hwmon: (ds620) Fix overflows seen when writing temperature limits Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 066/250] clk: clk-wm831x: fix a logic error Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 067/250] iommu/amd: Fix the left value check of cmd buffer Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 068/250] scsi: mvsas: fix command_active typo Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 069/250] target/iscsi: Fix double free in lio_target_tiqn_addtpg() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 070/250] mmc: mmc_test: Uninitialized return value Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 071/250] powerpc/pci/rpadlpar: Fix device reference leaks Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 072/250] ser_gigaset: return -ENOMEM on error instead of success Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 073/250] net, sched: fix soft lockup in tc_classify Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 074/250] net: stmmac: Fix race between stmmac_drv_probe and stmmac_open Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 075/250] gro: Enter slow-path if there is no tailroom Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 076/250] gro: use min_t() in skb_gro_reset_offset() Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 077/250] gro: Disable frag0 optimization on IPv6 ext headers Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 078/250] powerpc: Fix build warning on 32-bit PPC Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 079/250] Input: i8042 - add Pegatron touchpad to noloop table Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 080/250] mm/hugetlb.c: fix reservation race when freeing surplus pages Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 081/250] USB: serial: kl5kusb105: fix line-state error handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 082/250] USB: serial: ch341: fix initial modem-control state Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 083/250] USB: serial: ch341: fix open error handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 084/250] USB: serial: ch341: fix control-message " Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 085/250] USB: serial: ch341: fix open and resume after B0 Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 086/250] USB: serial: ch341: fix resume after reset Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 087/250] USB: serial: ch341: fix modem-control and B0 handling Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 088/250] x86/cpu: Fix bootup crashes by sanitizing the argument of the 'clearcpuid=' command-line option Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 089/250] NFSv4.1: nfs4_fl_prepare_ds must be careful about reporting success Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 090/250] powerpc/ibmebus: Fix further device reference leaks Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 091/250] powerpc/ibmebus: Fix device reference leaks in sysfs interface Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 092/250] IB/mlx4: Set traffic class in AH Willy Tarreau
2017-06-07 22:57 ` [PATCH 3.10 093/250] IB/mlx4: Fix port query for 56Gb Ethernet links Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 094/250] perf scripting: Avoid leaking the scripting_context variable Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 095/250] ARM: dts: imx31: fix clock control module interrupts description Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 096/250] svcrpc: don't leak contexts on PROC_DESTROY Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 097/250] mmc: mxs-mmc: Fix additional cycles after transmission stop Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 098/250] mtd: nand: xway: disable module support Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 099/250] ubifs: Fix journal replay wrt. xattr nodes Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 100/250] arm64/ptrace: Preserve previous registers for short regset write Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 101/250] arm64/ptrace: Avoid uninitialised struct padding in fpr_set() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 102/250] arm64/ptrace: Reject attempts to set incomplete hardware breakpoint fields Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 103/250] ARM: ux500: fix prcmu_is_cpu_in_wfi() calculation Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 104/250] ite-cir: initialize use_demodulator before using it Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 105/250] fuse: do not use iocb after it may have been freed Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 106/250] crypto: caam - fix non-hmac hashes Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 107/250] drm/i915: Don't leak edid in intel_crt_detect_ddc() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 108/250] s5k4ecgx: select CRC32 helper Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 109/250] platform/x86: intel_mid_powerbtn: Set IRQ_ONESHOT Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 110/250] net: fix harmonize_features() vs NETIF_F_HIGHDMA Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 111/250] tcp: initialize max window for a new fastopen socket Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 112/250] svcrpc: fix oops in absence of krb5 module Willy Tarreau
2017-06-08  8:19   ` Simo Sorce
2017-06-07 22:58 ` [PATCH 3.10 113/250] ARM: 8643/3: arm/ptrace: Preserve previous registers for short regset write Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 114/250] mac80211: Fix adding of mesh vendor IEs Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 115/250] scsi: zfcp: fix use-after-free by not tracing WKA port open/close on failed send Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 116/250] drm/i915: fix use-after-free in page_flip_completed() Willy Tarreau
2017-06-07 22:58 ` Willy Tarreau [this message]
2017-06-07 22:58 ` [PATCH 3.10 118/250] ipv4: keep skb->dst around in presence of IP options Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 119/250] netlabel: out of bound access in cipso_v4_validate() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 120/250] ip6_gre: fix ip6gre_err() invalid reads Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 121/250] ping: fix a null pointer dereference Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 122/250] l2tp: do not use udp_ioctl() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 123/250] packet: fix races in fanout_add() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 124/250] packet: Do not call fanout_release from atomic contexts Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 125/250] net: socket: fix recvmmsg not returning error from sock_error Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 126/250] USB: serial: mos7840: fix another NULL-deref at open Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 127/250] USB: serial: ftdi_sio: fix modem-status error handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 128/250] USB: serial: ftdi_sio: fix extreme low-latency setting Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 129/250] USB: serial: ftdi_sio: fix line-status over-reporting Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 130/250] USB: serial: spcp8x5: fix modem-status handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 131/250] USB: serial: opticon: fix CTS retrieval at open Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 132/250] USB: serial: ark3116: fix register-accessor error handling Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 133/250] x86/platform/goldfish: Prevent unconditional loading Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 134/250] goldfish: Sanitize the broken interrupt handler Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 135/250] ocfs2: do not write error flag to user structure we cannot copy from/to Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 136/250] mfd: pm8921: Potential NULL dereference in pm8921_remove() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 137/250] drm/nv50/disp: min/max are reversed in nv50_crtc_gamma_set() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 138/250] net: 6lowpan: fix lowpan_header_create non-compression memcpy call Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 139/250] vti4: Don't count header length twice Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 140/250] net/sched: em_meta: Fix 'meta vlan' to correctly recognize zero VID frames Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 141/250] MIPS: OCTEON: Fix copy_from_user fault handling for large buffers Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 142/250] MIPS: Clear ISA bit correctly in get_frame_info() Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 143/250] MIPS: Prevent unaligned accesses during stack unwinding Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 144/250] MIPS: Fix get_frame_info() handling of microMIPS function size Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 145/250] MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 146/250] MIPS: Calculate microMIPS ra properly when unwinding the stack Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 147/250] MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 148/250] uvcvideo: Fix a wrong macro Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 149/250] scsi: aacraid: Reorder Adapter status check Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 150/250] ath9k: use correct OTP register offsets for the AR9340 and AR9550 Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 151/250] fuse: add missing FR_FORCE Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 152/250] RDMA/core: Fix incorrect structure packing for booleans Willy Tarreau
2017-06-07 22:58 ` [PATCH 3.10 153/250] NFSv4: fix getacl head length estimation Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 154/250] s390/qdio: clear DSCI prior to scanning multiple input queues Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 155/250] IB/ipoib: Fix deadlock between rmmod and set_mode Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 156/250] ktest: Fix child exit code processing Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 157/250] nlm: Ensure callback code also checks that the files match Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 158/250] dm: flush queued bios when process blocks to avoid deadlock Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 159/250] USB: serial: digi_acceleport: fix OOB data sanity check Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 160/250] USB: serial: digi_acceleport: fix OOB-event processing Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 161/250] MIPS: ip27: Disable qlge driver in defconfig Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 162/250] tracing: Add #undef to fix compile error Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 163/250] USB: serial: safe_serial: fix information leak in completion handler Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 164/250] USB: serial: omninet: fix reference leaks at open Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 165/250] USB: iowarrior: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 166/250] USB: iowarrior: fix NULL-deref in write Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 167/250] USB: serial: io_ti: fix NULL-deref in interrupt callback Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 168/250] USB: serial: io_ti: fix information leak in completion handler Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 169/250] vxlan: correctly validate VXLAN ID against VXLAN_N_VID Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 170/250] ipv4: mask tos for input route Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 171/250] locking/static_keys: Add static_key_{en,dis}able() helpers Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 172/250] net: net_enable_timestamp() can be called from irq contexts Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 173/250] dccp/tcp: fix routing redirect race Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 174/250] net sched actions: decrement module reference count after table flush Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 175/250] perf/core: Fix event inheritance on fork() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 176/250] isdn/gigaset: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 177/250] xen: do not re-use pirq number cached in pci device msi msg data Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 178/250] net: properly release sk_frag.page Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 179/250] net: unix: properly re-increment inflight counter of GC discarded candidates Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 180/250] Input: ims-pcu - validate number of endpoints before using them Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 181/250] Input: hanwang " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 182/250] Input: yealink " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 183/250] Input: cm109 " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 184/250] USB: uss720: fix NULL-deref at probe Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 185/250] USB: idmouse: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 186/250] USB: wusbcore: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 187/250] uwb: i1480-dfu: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 188/250] uwb: hwa-rc: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 189/250] mmc: ushc: " Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 190/250] ext4: mark inode dirty after converting inline directory Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 191/250] scsi: libsas: fix ata xfer length Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 192/250] ALSA: ctxfi: Fallback DMA mask to 32bit Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 193/250] ALSA: ctxfi: Fix the incorrect check of dma_set_mask() call Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 194/250] ACPI / PNP: Avoid conflicting resource reservations Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 195/250] ACPI / resources: free memory on error in add_region_before() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 196/250] ACPI / PNP: Reserve ACPI resources at the fs_initcall_sync stage Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 197/250] USB: OHCI: Fix race between ED unlink and URB submission Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 198/250] i2c: at91: manage unexpected RXRDY flag when starting a transfer Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 199/250] ipv4: igmp: Allow removing groups from a removed interface Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 200/250] ptrace: fix PTRACE_LISTEN race corrupting task->state Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 201/250] ring-buffer: Fix return value check in test_ringbuffer() Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 202/250] metag/usercopy: Fix alignment error checking Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 203/250] metag/usercopy: Add early abort to copy_to_user Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 204/250] metag/usercopy: Set flags before ADDZ Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 205/250] metag/usercopy: Fix src fixup in from user rapf loops Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 206/250] metag/usercopy: Add missing fixups Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 207/250] s390/decompressor: fix initrd corruption caused by bss clear Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 208/250] net/mlx4_en: Fix bad WQE issue Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 209/250] net/mlx4_core: Fix racy CQ (Completion Queue) free Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 210/250] char: Drop bogus dependency of DEVPORT on !M68K Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 211/250] powerpc: Disable HFSCR[TM] if TM is not supported Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 212/250] pegasus: Use heap buffers for all register access Willy Tarreau
2017-06-07 22:59 ` [PATCH 3.10 213/250] rtl8150: " Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 214/250] tracing: Allocate the snapshot buffer before enabling probe Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 215/250] ring-buffer: Have ring_buffer_iter_empty() return true when empty Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 216/250] netfilter: arp_tables: fix invoking 32bit "iptable -P INPUT ACCEPT" failed in 64bit kernel Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 217/250] net: phy: handle state correctly in phy_stop_machine Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 218/250] l2tp: take reference on sessions being dumped Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 219/250] MIPS: KGDB: Use kernel context for sleeping threads Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 220/250] ARM: dts: imx31: move CCM device node to AIPS2 bus devices Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 221/250] ARM: dts: imx31: fix AVIC base address Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 222/250] tun: Fix TUN_PKT_STRIP setting Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 223/250] Staging: vt6655-6: potential NULL dereference in hostap_disable_hostapd() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 224/250] net: sctp: rework multihoming retransmission path selection to rfc4960 Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 225/250] perf trace: Use the syscall raw_syscalls:sys_enter timestamp Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 226/250] USB: usbtmc: add missing endpoint sanity check Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 227/250] ping: implement proper locking Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 228/250] USB: fix problems with duplicate endpoint addresses Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 229/250] USB: dummy-hcd: fix bug in stop_activity (handle ep0) Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 230/250] mm/init: fix zone boundary creation Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 231/250] can: Fix kernel panic at security_sock_rcv_skb Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 232/250] Drivers: hv: avoid vfree() on crash Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 233/250] xc2028: avoid use after free Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 234/250] xc2028: unlock on error in xc2028_set_config() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 235/250] xc2028: Fix use-after-free bug properly Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 236/250] ipv6: fix ip6_tnl_parse_tlv_enc_lim() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 237/250] ipv6: pointer math error in ip6_tnl_parse_tlv_enc_lim() Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 238/250] ipv6: fix the use of pcpu_tstats in ip6_tunnel Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 239/250] sctp: avoid BUG_ON on sctp_wait_for_sndbuf Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 240/250] sctp: deny peeloff operation on asocs with threads sleeping on it Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 241/250] KVM: x86: clear bus pointer when destroyed Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 242/250] kvm: exclude ioeventfd from counting kvm_io_range limit Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 243/250] KVM: kvm_io_bus_unregister_dev() should never fail Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 244/250] TTY: n_hdlc, fix lockdep false positive Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 245/250] tty: n_hdlc: get rid of racy n_hdlc.tbuf Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 246/250] ipv6: handle -EFAULT from skb_copy_bits Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 247/250] fs: exec: apply CLOEXEC before changing dumpable task flags Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 248/250] mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 249/250] dccp/tcp: do not inherit mc_list from parent Willy Tarreau
2017-06-07 23:00 ` [PATCH 3.10 250/250] char: lp: fix possible integer overflow in lp_setup() Willy Tarreau
2017-06-08  0:38 ` [PATCH 3.10 000/250] 3.10.106-stable review Guenter Roeck
2017-06-08  4:23   ` Willy Tarreau

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=1496876436-32402-118-git-send-email-w@1wt.eu \
    --to=w@1wt.eu \
    --cc=davem@davemloft.net \
    --cc=edumazet@google.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@roeck-us.net \
    --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

all inboxes | Powered by JetHome®