mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org,
	"David S. Miller" <davem@davemloft.net>,
	"Nikolay Aleksandrov" <nikolay@cumulusnetworks.com>
Subject: [PATCH 3.2 139/152] ipmr, ip6mr: fix scheduling while atomic and a deadlock with ipmr_get_route
Date: Mon, 14 Nov 2016 00:14:07 +0000	[thread overview]
Message-ID: <lsq.1479082447.76487607@decadent.org.uk> (raw)
In-Reply-To: <lsq.1479082446.271293126@decadent.org.uk>

3.2.84-rc1 review patch.  If anyone has any objections, please let me know.

------------------

From: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>

commit 2cf750704bb6d7ed8c7d732e071dd1bc890ea5e8 upstream.

Since the commit below the ipmr/ip6mr rtnl_unicast() code uses the portid
instead of the previous dst_pid which was copied from in_skb's portid.
Since the skb is new the portid is 0 at that point so the packets are sent
to the kernel and we get scheduling while atomic or a deadlock (depending
on where it happens) by trying to acquire rtnl two times.
Also since this is RTM_GETROUTE, it can be triggered by a normal user.

Here's the sleeping while atomic trace:
[ 7858.212557] BUG: sleeping function called from invalid context at kernel/locking/mutex.c:620
[ 7858.212748] in_atomic(): 1, irqs_disabled(): 0, pid: 0, name: swapper/0
[ 7858.212881] 2 locks held by swapper/0/0:
[ 7858.213013]  #0:  (((&mrt->ipmr_expire_timer))){+.-...}, at: [<ffffffff810fbbf5>] call_timer_fn+0x5/0x350
[ 7858.213422]  #1:  (mfc_unres_lock){+.....}, at: [<ffffffff8161e005>] ipmr_expire_process+0x25/0x130
[ 7858.213807] CPU: 0 PID: 0 Comm: swapper/0 Not tainted 4.8.0-rc7+ #179
[ 7858.213934] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.7.5-20140531_083030-gandalf 04/01/2014
[ 7858.214108]  0000000000000000 ffff88005b403c50 ffffffff813a7804 0000000000000000
[ 7858.214412]  ffffffff81a1338e ffff88005b403c78 ffffffff810a4a72 ffffffff81a1338e
[ 7858.214716]  000000000000026c 0000000000000000 ffff88005b403ca8 ffffffff810a4b9f
[ 7858.215251] Call Trace:
[ 7858.215412]  <IRQ>  [<ffffffff813a7804>] dump_stack+0x85/0xc1
[ 7858.215662]  [<ffffffff810a4a72>] ___might_sleep+0x192/0x250
[ 7858.215868]  [<ffffffff810a4b9f>] __might_sleep+0x6f/0x100
[ 7858.216072]  [<ffffffff8165bea3>] mutex_lock_nested+0x33/0x4d0
[ 7858.216279]  [<ffffffff815a7a5f>] ? netlink_lookup+0x25f/0x460
[ 7858.216487]  [<ffffffff8157474b>] rtnetlink_rcv+0x1b/0x40
[ 7858.216687]  [<ffffffff815a9a0c>] netlink_unicast+0x19c/0x260
[ 7858.216900]  [<ffffffff81573c70>] rtnl_unicast+0x20/0x30
[ 7858.217128]  [<ffffffff8161cd39>] ipmr_destroy_unres+0xa9/0xf0
[ 7858.217351]  [<ffffffff8161e06f>] ipmr_expire_process+0x8f/0x130
[ 7858.217581]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.217785]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.217990]  [<ffffffff810fbc95>] call_timer_fn+0xa5/0x350
[ 7858.218192]  [<ffffffff810fbbf5>] ? call_timer_fn+0x5/0x350
[ 7858.218415]  [<ffffffff8161dfe0>] ? ipmr_net_init+0x180/0x180
[ 7858.218656]  [<ffffffff810fde10>] run_timer_softirq+0x260/0x640
[ 7858.218865]  [<ffffffff8166379b>] ? __do_softirq+0xbb/0x54f
[ 7858.219068]  [<ffffffff816637c8>] __do_softirq+0xe8/0x54f
[ 7858.219269]  [<ffffffff8107a948>] irq_exit+0xb8/0xc0
[ 7858.219463]  [<ffffffff81663452>] smp_apic_timer_interrupt+0x42/0x50
[ 7858.219678]  [<ffffffff816625bc>] apic_timer_interrupt+0x8c/0xa0
[ 7858.219897]  <EOI>  [<ffffffff81055f16>] ? native_safe_halt+0x6/0x10
[ 7858.220165]  [<ffffffff810d64dd>] ? trace_hardirqs_on+0xd/0x10
[ 7858.220373]  [<ffffffff810298e3>] default_idle+0x23/0x190
[ 7858.220574]  [<ffffffff8102a20f>] arch_cpu_idle+0xf/0x20
[ 7858.220790]  [<ffffffff810c9f8c>] default_idle_call+0x4c/0x60
[ 7858.221016]  [<ffffffff810ca33b>] cpu_startup_entry+0x39b/0x4d0
[ 7858.221257]  [<ffffffff8164f995>] rest_init+0x135/0x140
[ 7858.221469]  [<ffffffff81f83014>] start_kernel+0x50e/0x51b
[ 7858.221670]  [<ffffffff81f82120>] ? early_idt_handler_array+0x120/0x120
[ 7858.221894]  [<ffffffff81f8243f>] x86_64_start_reservations+0x2a/0x2c
[ 7858.222113]  [<ffffffff81f8257c>] x86_64_start_kernel+0x13b/0x14a

Fixes: 2942e9005056 ("[RTNETLINK]: Use rtnl_unicast() for rtnetlink unicasts")
Signed-off-by: Nikolay Aleksandrov <nikolay@cumulusnetworks.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[bwh: Backported to 3.2:
 - Use 'pid' instead of 'portid' where necessary
 - Adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 include/linux/mroute.h  | 2 +-
 include/linux/mroute6.h | 2 +-
 net/ipv4/ipmr.c         | 3 ++-
 net/ipv4/route.c        | 3 ++-
 net/ipv6/ip6mr.c        | 5 +++--
 net/ipv6/route.c        | 4 +++-
 6 files changed, 12 insertions(+), 7 deletions(-)

--- a/include/linux/mroute.h
+++ b/include/linux/mroute.h
@@ -245,7 +245,7 @@ struct mfc_cache {
 struct rtmsg;
 extern int ipmr_get_route(struct net *net, struct sk_buff *skb,
 			  __be32 saddr, __be32 daddr,
-			  struct rtmsg *rtm, int nowait);
+			  struct rtmsg *rtm, int nowait, u32 portid);
 #endif
 
 #endif
--- a/include/linux/mroute6.h
+++ b/include/linux/mroute6.h
@@ -228,7 +228,7 @@ struct mfc6_cache {
 #ifdef __KERNEL__
 struct rtmsg;
 extern int ip6mr_get_route(struct net *net, struct sk_buff *skb,
-			   struct rtmsg *rtm, int nowait);
+			   struct rtmsg *rtm, int nowait, u32 portid);
 
 #ifdef CONFIG_IPV6_MROUTE
 extern struct sock *mroute6_socket(struct net *net, struct sk_buff *skb);
--- a/net/ipv4/ipmr.c
+++ b/net/ipv4/ipmr.c
@@ -2058,7 +2058,7 @@ rtattr_failure:
 
 int ipmr_get_route(struct net *net, struct sk_buff *skb,
 		   __be32 saddr, __be32 daddr,
-		   struct rtmsg *rtm, int nowait)
+		   struct rtmsg *rtm, int nowait, u32 portid)
 {
 	struct mfc_cache *cache;
 	struct mr_table *mrt;
@@ -2098,6 +2098,7 @@ int ipmr_get_route(struct net *net, stru
 			return -ENOMEM;
 		}
 
+		NETLINK_CB(skb2).pid = portid;
 		skb_push(skb2, sizeof(struct iphdr));
 		skb_reset_network_header(skb2);
 		iph = ip_hdr(skb2);
--- a/net/ipv4/route.c
+++ b/net/ipv4/route.c
@@ -3077,7 +3077,8 @@ static int rt_fill_info(struct net *net,
 		    IPV4_DEVCONF_ALL(net, MC_FORWARDING)) {
 			int err = ipmr_get_route(net, skb,
 						 rt->rt_src, rt->rt_dst,
-						 r, nowait);
+						 r, nowait, pid);
+
 			if (err <= 0) {
 				if (!nowait) {
 					if (err == 0)
--- a/net/ipv6/ip6mr.c
+++ b/net/ipv6/ip6mr.c
@@ -2137,8 +2137,8 @@ rtattr_failure:
 	return -EMSGSIZE;
 }
 
-int ip6mr_get_route(struct net *net,
-		    struct sk_buff *skb, struct rtmsg *rtm, int nowait)
+int ip6mr_get_route(struct net *net, struct sk_buff *skb, struct rtmsg *rtm,
+		    int nowait, u32 portid)
 {
 	int err;
 	struct mr6_table *mrt;
@@ -2176,6 +2176,7 @@ int ip6mr_get_route(struct net *net,
 			return -ENOMEM;
 		}
 
+		NETLINK_CB(skb2).pid = portid;
 		skb_reset_transport_header(skb2);
 
 		skb_put(skb2, sizeof(struct ipv6hdr));
--- a/net/ipv6/route.c
+++ b/net/ipv6/route.c
@@ -2416,7 +2416,9 @@ static int rt6_fill_node(struct net *net
 	if (iif) {
 #ifdef CONFIG_IPV6_MROUTE
 		if (ipv6_addr_is_multicast(&rt->rt6i_dst.addr)) {
-			int err = ip6mr_get_route(net, skb, rtm, nowait);
+			int err = ip6mr_get_route(net, skb, rtm, nowait,
+						  pid);
+
 			if (err <= 0) {
 				if (!nowait) {
 					if (err == 0)

  parent reply	other threads:[~2016-11-14  2:09 UTC|newest]

Thread overview: 159+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-11-14  0:14 [PATCH 3.2 000/152] 3.2.84-rc1 review Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 101/152] asm-generic: make copy_from_user() zero the destination properly Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 065/152] x86/mm: Disable preemption during CR3 read+write Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 016/152] x86/quirks: Reintroduce scanning of secondary buses Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 093/152] iio: accel: kxsd9: Fix scaling bug Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 007/152] usb: renesas_usbhs: protect the CFIFOSEL setting in usbhsg_ep_enable() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 092/152] IB/ipoib: Fix memory corruption in ipoib cm mode connect flow Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 133/152] ocfs2/dlm: fix race between convert and migration Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 132/152] xfrm: Fix memory leak of aead algorithm name Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 084/152] x86/apic: Do not init irq remapping if ioapic is disabled Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 058/152] USB: serial: ftdi_sio: add PIDs for Ivium Technologies devices Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 136/152] btrfs: ensure that file descriptor used with subvol ioctls is a dir Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 046/152] avr32: off by one in at32_init_pio() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 025/152] ext4: fix reference counting bug on block allocation error Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 097/152] ALSA: timer: Fix zero-division by continue of uninitialized instance Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 100/152] alpha: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 147/152] Btrfs: skip adding an acl attribute if we don't have to Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 095/152] crypto: cryptd - initialize child shash_desc on import Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 040/152] net/irda: fix NULL pointer dereference on memory allocation failure Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 116/152] s390: get_user() should zero on failure Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 055/152] hostfs: Freeing an ERR_PTR in hostfs_fill_sb_common() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 120/152] sh: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 142/152] KEYS: Fix short sprintf buffer in /proc/keys show function Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 090/152] x86/paravirt: Do not trace _paravirt_ident_*() functions Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 012/152] drm/radeon: Poll for both connect/disconnect on analog connectors Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 125/152] microblaze: fix __get_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 009/152] ext4: check for extents that wrap around Ben Hutchings
2016-11-14 15:29   ` Vegard Nossum
2016-11-14 16:15     ` Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 115/152] ppc32: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 047/152] ubi: Fix race condition between ubi device creation and udev Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 032/152] brcmsmac: Initialize power in brcms_c_stf_ss_algo_channel_get() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 005/152] serial: samsung: Fix possible out of bounds access on non-DT platform Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 054/152] mm/hugetlb: avoid soft lockup in set_max_huge_pages() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 049/152] s390: Define AT_VECTOR_SIZE_ARCH for ARCH_DLINFO Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 096/152] ALSA: timer: Code cleanup Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 059/152] USB: serial: ftdi_sio: add device ID for WICED USB UART dev board Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 077/152] USB: serial: option: add WeTelecom WM-D200 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 127/152] USB: change bInterval default to 10 ms Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 022/152] net: ethoc: Fix early error paths Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 107/152] cris: buggered copy_from_user/copy_to_user/clear_user Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 082/152] USB: avoid left shift by -1 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 072/152] xhci: don't dereference a xhci member after removing xhci Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 037/152] nfs: don't create zero-length requests Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 051/152] x86/syscalls/64: Add compat_sys_keyctl for 32-bit userspace Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 017/152] x86/quirks: Add early quirk to reset Apple AirPort card Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 063/152] USB: validate wMaxPacketValue entries in endpoint descriptors Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 026/152] ext4: short-cut orphan cleanup on error Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 067/152] megaraid_sas: Fix probing cards without io port Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 088/152] ALSA: timer: fix NULL pointer dereference on memory allocation failure Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 068/152] USB: serial: mos7720: fix non-atomic allocation in write path Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 062/152] netfilter: nfnetlink_queue: reject verdict request from different portid Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 056/152] block: fix use-after-free in seq file Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 034/152] hwmon: (adt7411) set bit 3 in CFG1 register Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 102/152] mtd: nand: davinci: Reinitialize the HW ECC engine in 4bit hwctl Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 129/152] irda: Free skb on irda_accept error path Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 011/152] ext4: validate s_reserved_gdt_blocks on mount Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 070/152] cdc-acm: fix wrong pipe type on rx interrupt xfers Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 110/152] ia64: copy_from_user() should zero the destination on access_ok() failure Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 134/152] ocfs2: fix start offset to ocfs2_zero_range_for_truncate() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 122/152] blackfin: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 081/152] USB: fix typo in wMaxPacketSize validation Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 089/152] ALSA: timer: fix NULL pointer dereference in read()/ioctl() race Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 074/152] drm/radeon: fix radeon_move_blit on 32bit systems Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 039/152] ARM: OMAP3: hwmod data: Add sysc information for DSI Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 069/152] USB: serial: mos7840: fix non-atomic allocation in write path Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 104/152] ARM: sa1111: fix pcmcia suspend/resume Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 048/152] tcp: consider recv buf for the initial window scale Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 086/152] fs/seq_file: fix out-of-bounds read Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 064/152] s390/dasd: fix hanging device after clear subchannel Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 118/152] score: fix copy_from_user() and friends Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 019/152] NFS: Don't drop CB requests with invalid principals Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 044/152] KEYS: 64-bit MIPS needs to use compat_sys_keyctl for 32-bit userspace Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 114/152] parisc: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 010/152] ext4: don't call ext4_should_journal_data() on the journal inode Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 018/152] svc: Avoid garbage replies when pc_func() returns rpc_drop_reply Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 091/152] IB/core: Fix use after free in send_leave function Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 035/152] tty/vt/keyboard: fix OOB access in do_compute_shiftstate() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 117/152] score: fix __get_user/get_user Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 099/152] xfrm_user: propagate sec ctx allocation errors Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 119/152] sh64: failing __get_user() should zero Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 137/152] can: dev: fix deadlock reported after bus-off Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 144/152] firewire: net: guard against rx buffer overflows Ben Hutchings
2016-11-14 21:09   ` Stefan Richter
2016-11-14  0:14 ` [PATCH 3.2 061/152] aacraid: Check size values after double-fetch from user Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 098/152] ALSA: rawmidi: Fix possible deadlock with virmidi registration Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 124/152] microblaze: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 128/152] IB/ipoib: Don't allow MC joins during light MC flush Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 060/152] drm/edid: Add 6 bpc quirk for display AEO model 0 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 106/152] asm-generic: make get_user() clear the destination on errors Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 052/152] balloon: check the number of available pages in leak balloon Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 042/152] Input: i8042 - break load dependency between atkbd/psmouse and i8042 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 113/152] openrisc: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` Ben Hutchings [this message]
2016-11-14  0:14 ` [PATCH 3.2 001/152] netlabel: add address family checks to netlbl_{sock,req}_delattr() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 111/152] mn10300: failing __get_user() and get_user() should zero Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 031/152] tpm: read burstcount from TPM_STS in one 32-bit transaction Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 015/152] x86/quirks: Apply nvidia_bugs quirk only on root bus Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 043/152] ceph: Correctly return NXIO errors from ceph_llseek Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 080/152] usb: gadget: fsl_qe_udc: signedness bug in qe_get_frame() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 151/152] xenbus: don't look up transaction IDs for ordinary writes Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 030/152] crypto: scatterwalk - Fix test in scatterwalk_done Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 021/152] Bluetooth: Add support of 13d3:3490 AR3012 device Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 008/152] Input: xpad - validate USB endpoint count during probe Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 014/152] ppp: defer netns reference release for ppp channel Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 087/152] ALSA: timer: fix division by zero after SNDRV_TIMER_IOCTL_CONTINUE Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 105/152] crypto: skcipher - Fix blkcipher walk OOM crash Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 108/152] frv: fix clear_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 045/152] drm/radeon: fix firmware info version checks Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 041/152] l2tp: Correctly return -EBADF from pppol2tp_getname Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 112/152] mn10300: copy_from_user() should zero on access_ok() failure Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 131/152] openrisc: fix the fix of copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 121/152] sparc32: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 002/152] powerpc/numa: Fix multiple bugs in memory_hotplug_max() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 150/152] xenbus: don't BUG() on user mode induced condition Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 138/152] tracing: Move mutex to protect against resetting of seq data Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 075/152] Input: i8042 - set up shared ps2_cmd_mutex for AUX ports Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 066/152] arm: oabi compat: add missing access checks Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 085/152] USB: serial: option: add WeTelecom 0x6802 and 0x6803 products Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 079/152] drm: Reject page_flip for !DRIVER_MODESET Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 071/152] usb: xhci: Fix panic if disconnect Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 073/152] tcp: fix use after free in tcp_xmit_retransmit_queue() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 152/152] ext3: NULL dereference in ext3_evict_inode() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 033/152] mtd: nand: fix bug writing 1 byte less than page size Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 141/152] Bluetooth: Fix potential NULL dereference in RFCOMM bind callback Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 053/152] dm flakey: error READ bios during the down_interval Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 004/152] crypto: gcm - Filter out async ghash if necessary Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 109/152] hexagon: fix strncpy_from_user() error return Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 145/152] fs: Give dentry to inode_change_ok() instead of inode Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 094/152] sched/core: Fix a race between try_to_wake_up() and a woken up task Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 057/152] USB: serial: option: add D-Link DWM-156/A3 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 083/152] ubifs: Fix assertion in layout_in_gaps() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 028/152] USB: serial: option: add support for Telit LE910 PID 0x1206 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 146/152] fs: Avoid premature clearing of capabilities Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 135/152] i2c-eg20t: fix race between i2c init and interrupt enable Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 148/152] posix_acl: Clear SGID bit when setting file permissions Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 024/152] KVM: nVMX: Fix memory corruption when using VMCS shadowing Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 103/152] NFSv4.1: Fix the CREATE_SESSION slot number accounting Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 038/152] pps: do not crash when failed to register Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 006/152] usb: renesas_usbhs: fix NULL pointer dereference in xfer_work() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 078/152] iio: accel: kxsd9: Fix raw read return Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 143/152] scsi: arcmsr: Buffer overflow in arcmsr_iop_message_xfer() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 027/152] mtd: pmcmsp-flash: Allocating too much in init_msp_flash() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 140/152] mm,ksm: fix endless looping in allocating memory when ksm enable Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 036/152] MIPS: RM7000: Double locking bug in rm7k_tc_disable() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 023/152] KVM: nVMX: fix lifetime issues for vmcs02 Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 126/152] avr32: fix copy_from_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 130/152] avr32: fix 'undefined reference to `___copy_from_user' Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 123/152] m32r: fix __get_user() Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 076/152] parisc: Fix order of EREFUSED define in errno.h Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 029/152] Bluetooth: Fix l2cap_sock_setsockopt() with optname BT_RCVMTU Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 003/152] sched/cputime: Fix prev steal time accouting during CPU hotplug Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 050/152] ext4: validate that metadata blocks do not overlap superblock Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 020/152] Bluetooth: Add USB ID 13D3:3487 to ath3k Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 013/152] ALSA: ctl: Stop notification after disconnection Ben Hutchings
2016-11-14  0:14 ` [PATCH 3.2 149/152] [media] usbvision: revert commit 588afcc1 Ben Hutchings
2016-11-14  4:05 ` [PATCH 3.2 000/152] 3.2.84-rc1 review Ben Hutchings
2016-11-14  5:47 ` Guenter Roeck
2016-11-14 17:10   ` Ben Hutchings

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=lsq.1479082447.76487607@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=davem@davemloft.net \
    --cc=linux-kernel@vger.kernel.org \
    --cc=nikolay@cumulusnetworks.com \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®