From: Ben Hutchings <ben@decadent.org.uk>
To: linux-kernel@vger.kernel.org, stable@vger.kernel.org
Cc: akpm@linux-foundation.org,
"Alan Stern" <stern@rowland.harvard.edu>,
"Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Felipe Balbi" <felipe.balbi@linux.intel.com>
Subject: [PATCH 3.16 067/204] USB: gadgetfs, dummy-hcd, net2280: fix locking for callbacks
Date: Thu, 28 Dec 2017 17:05:44 +0000 [thread overview]
Message-ID: <lsq.1514480744.521111499@decadent.org.uk> (raw)
In-Reply-To: <lsq.1514480743.579539031@decadent.org.uk>
3.16.52-rc1 review patch. If anyone has any objections, please let me know.
------------------
From: Alan Stern <stern@rowland.harvard.edu>
commit f16443a034c7aa359ddf6f0f9bc40d01ca31faea upstream.
Using the syzkaller kernel fuzzer, Andrey Konovalov generated the
following error in gadgetfs:
> BUG: KASAN: use-after-free in __lock_acquire+0x3069/0x3690
> kernel/locking/lockdep.c:3246
> Read of size 8 at addr ffff88003a2bdaf8 by task kworker/3:1/903
>
> CPU: 3 PID: 903 Comm: kworker/3:1 Not tainted 4.12.0-rc4+ #35
> Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS Bochs 01/01/2011
> Workqueue: usb_hub_wq hub_event
> Call Trace:
> __dump_stack lib/dump_stack.c:16 [inline]
> dump_stack+0x292/0x395 lib/dump_stack.c:52
> print_address_description+0x78/0x280 mm/kasan/report.c:252
> kasan_report_error mm/kasan/report.c:351 [inline]
> kasan_report+0x230/0x340 mm/kasan/report.c:408
> __asan_report_load8_noabort+0x19/0x20 mm/kasan/report.c:429
> __lock_acquire+0x3069/0x3690 kernel/locking/lockdep.c:3246
> lock_acquire+0x22d/0x560 kernel/locking/lockdep.c:3855
> __raw_spin_lock include/linux/spinlock_api_smp.h:142 [inline]
> _raw_spin_lock+0x2f/0x40 kernel/locking/spinlock.c:151
> spin_lock include/linux/spinlock.h:299 [inline]
> gadgetfs_suspend+0x89/0x130 drivers/usb/gadget/legacy/inode.c:1682
> set_link_state+0x88e/0xae0 drivers/usb/gadget/udc/dummy_hcd.c:455
> dummy_hub_control+0xd7e/0x1fb0 drivers/usb/gadget/udc/dummy_hcd.c:2074
> rh_call_control drivers/usb/core/hcd.c:689 [inline]
> rh_urb_enqueue drivers/usb/core/hcd.c:846 [inline]
> usb_hcd_submit_urb+0x92f/0x20b0 drivers/usb/core/hcd.c:1650
> usb_submit_urb+0x8b2/0x12c0 drivers/usb/core/urb.c:542
> usb_start_wait_urb+0x148/0x5b0 drivers/usb/core/message.c:56
> usb_internal_control_msg drivers/usb/core/message.c:100 [inline]
> usb_control_msg+0x341/0x4d0 drivers/usb/core/message.c:151
> usb_clear_port_feature+0x74/0xa0 drivers/usb/core/hub.c:412
> hub_port_disable+0x123/0x510 drivers/usb/core/hub.c:4177
> hub_port_init+0x1ed/0x2940 drivers/usb/core/hub.c:4648
> hub_port_connect drivers/usb/core/hub.c:4826 [inline]
> hub_port_connect_change drivers/usb/core/hub.c:4999 [inline]
> port_event drivers/usb/core/hub.c:5105 [inline]
> hub_event+0x1ae1/0x3d40 drivers/usb/core/hub.c:5185
> process_one_work+0xc08/0x1bd0 kernel/workqueue.c:2097
> process_scheduled_works kernel/workqueue.c:2157 [inline]
> worker_thread+0xb2b/0x1860 kernel/workqueue.c:2233
> kthread+0x363/0x440 kernel/kthread.c:231
> ret_from_fork+0x2a/0x40 arch/x86/entry/entry_64.S:424
>
> Allocated by task 9958:
> save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
> save_stack+0x43/0xd0 mm/kasan/kasan.c:513
> set_track mm/kasan/kasan.c:525 [inline]
> kasan_kmalloc+0xad/0xe0 mm/kasan/kasan.c:617
> kmem_cache_alloc_trace+0x87/0x280 mm/slub.c:2745
> kmalloc include/linux/slab.h:492 [inline]
> kzalloc include/linux/slab.h:665 [inline]
> dev_new drivers/usb/gadget/legacy/inode.c:170 [inline]
> gadgetfs_fill_super+0x24f/0x540 drivers/usb/gadget/legacy/inode.c:1993
> mount_single+0xf6/0x160 fs/super.c:1192
> gadgetfs_mount+0x31/0x40 drivers/usb/gadget/legacy/inode.c:2019
> mount_fs+0x9c/0x2d0 fs/super.c:1223
> vfs_kern_mount.part.25+0xcb/0x490 fs/namespace.c:976
> vfs_kern_mount fs/namespace.c:2509 [inline]
> do_new_mount fs/namespace.c:2512 [inline]
> do_mount+0x41b/0x2d90 fs/namespace.c:2834
> SYSC_mount fs/namespace.c:3050 [inline]
> SyS_mount+0xb0/0x120 fs/namespace.c:3027
> entry_SYSCALL_64_fastpath+0x1f/0xbe
>
> Freed by task 9960:
> save_stack_trace+0x1b/0x20 arch/x86/kernel/stacktrace.c:59
> save_stack+0x43/0xd0 mm/kasan/kasan.c:513
> set_track mm/kasan/kasan.c:525 [inline]
> kasan_slab_free+0x72/0xc0 mm/kasan/kasan.c:590
> slab_free_hook mm/slub.c:1357 [inline]
> slab_free_freelist_hook mm/slub.c:1379 [inline]
> slab_free mm/slub.c:2961 [inline]
> kfree+0xed/0x2b0 mm/slub.c:3882
> put_dev+0x124/0x160 drivers/usb/gadget/legacy/inode.c:163
> gadgetfs_kill_sb+0x33/0x60 drivers/usb/gadget/legacy/inode.c:2027
> deactivate_locked_super+0x8d/0xd0 fs/super.c:309
> deactivate_super+0x21e/0x310 fs/super.c:340
> cleanup_mnt+0xb7/0x150 fs/namespace.c:1112
> __cleanup_mnt+0x1b/0x20 fs/namespace.c:1119
> task_work_run+0x1a0/0x280 kernel/task_work.c:116
> exit_task_work include/linux/task_work.h:21 [inline]
> do_exit+0x18a8/0x2820 kernel/exit.c:878
> do_group_exit+0x14e/0x420 kernel/exit.c:982
> get_signal+0x784/0x1780 kernel/signal.c:2318
> do_signal+0xd7/0x2130 arch/x86/kernel/signal.c:808
> exit_to_usermode_loop+0x1ac/0x240 arch/x86/entry/common.c:157
> prepare_exit_to_usermode arch/x86/entry/common.c:194 [inline]
> syscall_return_slowpath+0x3ba/0x410 arch/x86/entry/common.c:263
> entry_SYSCALL_64_fastpath+0xbc/0xbe
>
> The buggy address belongs to the object at ffff88003a2bdae0
> which belongs to the cache kmalloc-1024 of size 1024
> The buggy address is located 24 bytes inside of
> 1024-byte region [ffff88003a2bdae0, ffff88003a2bdee0)
> The buggy address belongs to the page:
> page:ffffea0000e8ae00 count:1 mapcount:0 mapping: (null)
> index:0x0 compound_mapcount: 0
> flags: 0x100000000008100(slab|head)
> raw: 0100000000008100 0000000000000000 0000000000000000 0000000100170017
> raw: ffffea0000ed3020 ffffea0000f5f820 ffff88003e80efc0 0000000000000000
> page dumped because: kasan: bad access detected
>
> Memory state around the buggy address:
> ffff88003a2bd980: fb fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> ffff88003a2bda00: fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc fc
> >ffff88003a2bda80: fc fc fc fc fc fc fc fc fc fc fc fc fb fb fb fb
> ^
> ffff88003a2bdb00: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> ffff88003a2bdb80: fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb fb
> ==================================================================
What this means is that the gadgetfs_suspend() routine was trying to
access dev->lock after it had been deallocated. The root cause is a
race in the dummy_hcd driver; the dummy_udc_stop() routine can race
with the rest of the driver because it contains no locking. And even
when proper locking is added, it can still race with the
set_link_state() function because that function incorrectly drops the
private spinlock before invoking any gadget driver callbacks.
The result of this race, as seen above, is that set_link_state() can
invoke a callback in gadgetfs even after gadgetfs has been unbound
from dummy_hcd's UDC and its private data structures have been
deallocated.
include/linux/usb/gadget.h documents that the ->reset, ->disconnect,
->suspend, and ->resume callbacks may be invoked in interrupt context.
In general this is necessary, to prevent races with gadget driver
removal. This patch fixes dummy_hcd to retain the spinlock across
these calls, and it adds a spinlock acquisition to dummy_udc_stop() to
prevent the race.
The net2280 driver makes the same mistake of dropping the private
spinlock for its ->disconnect and ->reset callback invocations. The
patch fixes it too.
Lastly, since gadgetfs_suspend() may be invoked in interrupt context,
it cannot assume that interrupts are enabled when it runs. It must
use spin_lock_irqsave() instead of spin_lock_irq(). The patch fixes
that bug as well.
Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
Reported-and-tested-by: Andrey Konovalov <andreyknvl@google.com>
Acked-by: Felipe Balbi <felipe.balbi@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
[bwh: Backported to 3.16:
- Drop changes in net2280's handle_stat1_irqs()
- Adjust filenames, context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
--- a/drivers/usb/gadget/inode.c
+++ b/drivers/usb/gadget/inode.c
@@ -1798,9 +1798,10 @@ static void
gadgetfs_suspend (struct usb_gadget *gadget)
{
struct dev_data *dev = get_gadget_data (gadget);
+ unsigned long flags;
INFO (dev, "suspended from state %d\n", dev->state);
- spin_lock (&dev->lock);
+ spin_lock_irqsave(&dev->lock, flags);
switch (dev->state) {
case STATE_DEV_SETUP: // VERY odd... host died??
case STATE_DEV_CONNECTED:
@@ -1811,7 +1812,7 @@ gadgetfs_suspend (struct usb_gadget *gad
default:
break;
}
- spin_unlock (&dev->lock);
+ spin_unlock_irqrestore(&dev->lock, flags);
}
static struct usb_gadget_driver gadgetfs_driver = {
--- a/drivers/usb/gadget/dummy_hcd.c
+++ b/drivers/usb/gadget/dummy_hcd.c
@@ -379,20 +379,13 @@ static void set_link_state(struct dummy_
(dum_hcd->old_status & USB_PORT_STAT_RESET) == 0 &&
dum->driver) {
stop_activity(dum);
- spin_unlock(&dum->lock);
dum->driver->disconnect(&dum->gadget);
- spin_lock(&dum->lock);
}
} else if (dum_hcd->active != dum_hcd->old_active) {
- if (dum_hcd->old_active && dum->driver->suspend) {
- spin_unlock(&dum->lock);
+ if (dum_hcd->old_active && dum->driver->suspend)
dum->driver->suspend(&dum->gadget);
- spin_lock(&dum->lock);
- } else if (!dum_hcd->old_active && dum->driver->resume) {
- spin_unlock(&dum->lock);
+ else if (!dum_hcd->old_active && dum->driver->resume)
dum->driver->resume(&dum->gadget);
- spin_lock(&dum->lock);
- }
}
dum_hcd->old_status = dum_hcd->port_status;
@@ -926,7 +919,9 @@ static int dummy_udc_stop(struct usb_gad
dev_dbg(udc_dev(dum), "unregister gadget driver '%s'\n",
driver->driver.name);
+ spin_lock_irq(&dum->lock);
dum->driver = NULL;
+ spin_unlock_irq(&dum->lock);
return 0;
}
--- a/drivers/usb/gadget/net2280.c
+++ b/drivers/usb/gadget/net2280.c
@@ -1941,11 +1941,8 @@ stop_activity (struct net2280 *dev, stru
nuke (&dev->ep [i]);
/* report disconnect; the driver is already quiesced */
- if (driver) {
- spin_unlock(&dev->lock);
+ if (driver)
driver->disconnect(&dev->gadget);
- spin_lock(&dev->lock);
- }
usb_reinit (dev);
}
next prev parent reply other threads:[~2017-12-28 17:35 UTC|newest]
Thread overview: 207+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-12-28 17:05 [PATCH 3.16 000/204] 3.16.52-rc1 review Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 140/204] fuse: fix READDIRPLUS skipping an entry Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 109/204] KEYS: encrypted: fix dereference of NULL user_key_payload Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 144/204] xfrm: Clear sk_dst_cache when applying per-socket policy Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 129/204] can: esd_usb2: Fix can_dlc value for received RTR, frames Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 103/204] usb: gadget: composite: Fix use-after-free in usb_composite_overwrite_options Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 035/204] usb-storage: unusual_devs entry to fix write-access regression for Seagate external drives Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 111/204] lib/digsig: fix dereference of NULL user_key_payload Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 158/204] tcp: fix tcp_mtu_probe() vs highest_sack Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 165/204] ocfs2: fstrim: Fix start offset of first cluster group during fstrim Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 087/204] sh: sh7264: remove nonexistent GPIO_PH[0-7] to fix pinctrl registration Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 141/204] SMB: fix leak of validate negotiate info response buffer Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 184/204] dccp: CVE-2017-8824: use-after-free in DCCP code Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 093/204] nl80211: Define policy for packet pattern attributes Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 192/204] mm, thp: Do not make page table dirty unconditionally in touch_p[mu]d() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 174/204] ALSA: seq: Fix OSS sysex delivery in OSS emulation Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 124/204] ALSA: hda: Remove superfluous '-' added by printk conversion Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 020/204] tracing: Fix trace_pipe behavior for instance traces Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 198/204] exec: Ensure mm->user_ns contains the execed files Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 189/204] netlink: Add netns check on taps Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 096/204] udp: fix bcast packet reception Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 135/204] x86/amd_nb: Add Fam17h Data Fabric as "Northbridge" Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 005/204] HID: i2c-hid: allocate hid buffers for real worst case Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 043/204] iio: ad7793: Fix the serial interface reset Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 203/204] crypto: hmac - require that the underlying hash algorithm is unkeyed Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 091/204] Smack: remove unneeded NULL-termination from securtity label Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 031/204] net_sched: always reset qdisc backlog in qdisc_reset() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 199/204] ptrace: Don't allow accessing an undumpable mm Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 050/204] KEYS: fix writing past end of user-supplied buffer in keyring_read() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 013/204] xhci: fix finding correct bus_state structure for USB 3.1 hosts Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 090/204] mm/memory_hotplug: define find_{smallest|biggest}_section_pfn as unsigned long Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 023/204] ARM: dts: da850-evm: add serial and ethernet aliases Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 030/204] powerpc/pseries: Fix parent_dn reference leak in add_dt_node() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 039/204] IB/ocrdma: fix incorrect fall-through on switch statement Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 151/204] l2tp: hold tunnel in pppol2tp_connect() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 137/204] ipsec: Fix aborted xfrm policy dump crash Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 156/204] macvtap: fix TUNSETSNDBUF values > 64k Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 200/204] ptrace: Properly initialize ptracer_cred on fork Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 153/204] ALSA: seq: Fix nested rwsem annotation for lockdep splat Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 024/204] crypto: talitos - fix sha224 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 107/204] KVM: nVMX: fix guest CR4 loading when emulating L2 to L1 exit Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 029/204] SMB: Validate negotiate (to protect against downgrade) even if signing off Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 075/204] ipv4: fix broadcast packets reception Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 009/204] USB: serial: option: add support for TP-Link LTE module Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 002/204] ASoC: adau17x1: Workaround for noise bug in ADC Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 033/204] Input: uinput - avoid crash when sending FF request to device going away Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 114/204] include/linux/of.h: provide of_n_{addr,size}_cells wrappers for !CONFIG_OF Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 064/204] Revert "IB/ipoib: Update broadcast object if PKey value was changed in index 0" Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 092/204] lsm: fix smack_inode_removexattr and xattr_getsecurity memleak Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 178/204] rbd: use GFP_NOIO for parent stat and data requests Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 117/204] USB: serial: metro-usb: add MS7820 device id Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 102/204] usb: renesas_usbhs: Fix DMAC sequence for receiving zero-length packet Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 204/204] KEYS: add missing permission check for request_key() destination Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 186/204] Bluetooth: bnep: bnep_add_connection() should verify that it's dealing with l2cap socket Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 160/204] KEYS: trusted: sanitize all key material Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 166/204] netfilter/ipvs: clear ipvs_property flag when SKB net namespace changed Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 146/204] ip6_gre: Reduce log level in ip6gre_err() to debug Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 176/204] KEYS: fix NULL pointer dereference during ASN.1 parsing [ver #2] Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 168/204] l2tp: hold tunnel socket when handling control frames in l2tp_ip and l2tp_ip6 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 015/204] ip6_gre: skb_push ipv6hdr before packing the header in ip6gre_header Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 120/204] scsi: zfcp: fix erp_action use-before-initialize in REC action trace Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 122/204] usb: cdc_acm: Add quirk for Elatec TWN3 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 057/204] btrfs: prevent to set invalid default subvolid Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 040/204] SMB3: Don't ignore O_SYNC/O_DSYNC and O_DIRECT flags Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 127/204] parisc: Fix double-word compare and exchange in LWS code on 32-bit kernels Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 155/204] MIPS: microMIPS: Fix incorrect mask in insn_table_MM Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 194/204] security: let security modules use PTRACE_MODE_* with bitmasks Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 063/204] arm64: Make sure SPsel is always set Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 058/204] drm/i915/bios: ignore HDMI on port A Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 099/204] direct-io: Prevent NULL pointer access in submit_page_section Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 170/204] ALSA: timer: Protect the whole snd_timer_close() with open race Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 085/204] sh: sh7722: remove nonexistent GPIO_PTQ7 to fix pinctrl registration Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 047/204] KEYS: don't revoke uninstantiated key in request_key_auth_new() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 049/204] KEYS: fix key refcount leak in keyctl_read_key() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 172/204] ARM: 8720/1: ensure dump_instr() checks addr_limit Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 051/204] KEYS: prevent creating a different user's keyrings Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 115/204] fs/mpage.c: fix mpage_writepage() for pages with buffers Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 149/204] x86/uaccess, sched/preempt: Verify access_ok() context Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 017/204] gpio: acpi: work around false-positive -Wstring-overflow warning Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 044/204] iio: core: Return error for failed read_reg Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 179/204] can: c_can: don't indicate triple sampling support for D_CAN Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 028/204] cifs: release auth_key.response for reconnect Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 012/204] usb: Increase quirk delay for USB devices Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 079/204] brcmfmac: Add length checks on firmware events Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 130/204] can: gs_usb: fix busy loop if no more TX context is available Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 084/204] kernel/params.c: align add_sysfs_param documentation with code Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 046/204] KEYS: fix cred refcount leak in request_key_auth_new() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 059/204] vti: fix use after free in vti_tunnel_xmit/vti6_tnl_xmit Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 097/204] workqueue: replace pool->manager_arb mutex with a flag Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 197/204] ptrace: Capture the ptracer's creds not PT_PTRACE_CAP Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 066/204] USB: dummy-hcd: fix infinite-loop resubmission bug Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 095/204] ALSA: seq: Fix copy_from_user() call inside lock Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 082/204] scsi: sd: Implement blacklist option for WRITE SAME w/ UNMAP Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 154/204] MIPS: Fix CM region target definitions Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 048/204] KEYS: fix key refcount leak in keyctl_assume_authority() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 147/204] ip6_gre: only increase err_count for some certain type icmpv6 in ip6gre_err Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 182/204] sched/topology: Simplify build_overlap_sched_groups() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 016/204] s390/mm: fix write access check in gup_huge_pmd() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 061/204] netfilter: ipset: pernet ops must be unregistered last Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 162/204] KEYS: fix out-of-bounds read during ASN.1 parsing Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 134/204] x86, amd_nb: Add device IDs to NB tables for F15h M60h Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 094/204] netfilter: x_tables: avoid stack-out-of-bounds read in xt_copy_counters_from_user Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 108/204] bus: mbus: fix window size calculation for 4GB windows Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 010/204] uwb: ensure that endpoint is interrupt Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 072/204] sched/sysctl: Check user input value of sysctl_sched_time_avg Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 088/204] sh: sh7269: remove nonexistent GPIO_PH[0-7] to fix pinctrl registration Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 004/204] cifs: check rsp for NULL before dereferencing in SMB2_open Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 143/204] net/unix: don't show information about sockets from other namespaces Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 188/204] netfilter: nfnetlink_cthelper: Add missing permission checks Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 169/204] l2tp: don't use l2tp_tunnel_find() in l2tp_ip and l2tp_ip6 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 190/204] netfilter: xt_osf: Add missing permission checks Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 011/204] uwb: properly check kthread_run return value Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 077/204] udp: perform source validation for mcast early demux Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 183/204] sched/topology: Optimize build_group_mask() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 014/204] usb: pci-quirks.c: Corrected timeout values used in handshake Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 125/204] x86/microcode/intel: Disable late loading on model 79 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 132/204] arm/arm64: KVM: set right LR register value for 32 bit guest when inject abort Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 113/204] iommu/amd: Finish TLB flush in amd_iommu_unmap() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 080/204] brcmfmac: Add check for short event packets Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 076/204] IPv4: early demux can return an error code Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 121/204] usb: xhci: Handle error condition in xhci_stop_device() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 131/204] sctp: add the missing sock_owned_by_user check in sctp_icmp_redirect Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 110/204] FS-Cache: fix dereference of NULL user_key_payload Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 126/204] Input: ti_am335x_tsc - fix incorrect step config for 5 wire touchscreen Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 119/204] tun: call dev_get_valid_name() before register_netdevice() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 052/204] IB/mlx5: Fix the size parameter to find_first_bit Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 056/204] Btrfs: fix incorrect {node,sector}size endianness from BTRFS_IOC_FS_INFO Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 161/204] KEYS: trusted: fix writing past end of buffer in trusted_read() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 201/204] KVM: Fix stack-out-of-bounds read in write_mmio Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 104/204] ALSA: caiaq: Fix stray URB at probe error path Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 007/204] scsi: lpfc: Don't return internal MBXERR_ERROR code from probe function Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 027/204] cifs: release cifs root_cred after exit_cifs Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 159/204] KEYS: return full count in keyring_read() if buffer is too small Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 123/204] usb: quirks: add quirk for WORLDE MINI MIDI keyboard Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 157/204] tun/tap: sanitize TUNSETSNDBUF input Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 065/204] USB: dummy-hcd: fix connection failures (wrong speed) Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 193/204] KVM: VMX: remove I/O port 0x80 bypass on Intel hosts Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 003/204] iwlwifi: mvm: use IWL_HCMD_NOCOPY for MCAST_FILTER_CMD Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 038/204] USB: g_mass_storage: Fix deadlock when driver is unbound Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 001/204] tile: array underflow in setup_maxnodemem() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 195/204] ptrace: change __ptrace_unlink() to clear ->ptrace under ->siglock Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 032/204] Input: uinput - avoid FF flush when destroying device Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 106/204] iommu/exynos: Remove initconst attribute to avoid potential kernel oops Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 180/204] vlan: fix a use-after-free in vlan_device_event() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 164/204] arm64: ensure __dump_instr() checks addr_limit Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 142/204] SMB: fix validate negotiate info uninitialised memory use Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 037/204] USB: gadgetfs: Fix crash caused by inadequate synchronization Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 177/204] MIPS: AR7: Ensure that serial ports are properly set up Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 083/204] USB: serial: qcserial: add Dell DW5818, DW5819 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 025/204] crypto: talitos - Don't provide setkey for non hmac hashing algs Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 181/204] sched/topology: Remove FORCE_SD_OVERLAP Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 148/204] sctp: fix a type cast warnings that causes a_rwnd gets the wrong value Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 069/204] usb: renesas_usbhs: fix the BCLR setting condition for non-DCP pipe Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 105/204] scsi: libiscsi: fix shifting of DID_REQUEUE host byte Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 074/204] staging: iio: ade7759: fix signed extension bug on shift of a u8 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 026/204] usb: gadget: dummy: fix nonsensical comparisons Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 171/204] ALSA: timer: Limit max instances per timer Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 086/204] sh: sh7757: remove nonexistent GPIO_PT[JLNQ]7_RESV to fix pinctrl registration Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 145/204] SMB3: Validate negotiate request must always be signed Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 073/204] arm64: fault: Route pte translation faults via do_translation_fault Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 185/204] Bluetooth: cmtp: cmtp_add_connection() should verify that it's dealing with l2cap socket Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 022/204] powerpc/sysrq: Fix oops whem ppmu is not registered Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 034/204] usb-storage: fix bogus hardware error messages for ATA pass-thru devices Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 112/204] ecryptfs: fix dereference of NULL user_key_payload Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 041/204] iio: adc: mcp320x: Fix oops on module unload Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 055/204] PCI: Fix race condition with driver_override Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 098/204] crypto: shash - Fix zero-length shash ahash digest crash Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 068/204] USB: dummy-hcd: Fix erroneous synchronization change Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 019/204] tracing: Erase irqsoff trace with empty write Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 116/204] l2tp: check ps->sock before running pppol2tp_session_ioctl() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 128/204] usb: hub: Allow reset retry for USB2 devices on connect bounce Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 021/204] tcp: fastopen: fix on syn-data transmit failure Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 060/204] l2tp: fix race condition in l2tp_tunnel_delete Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 133/204] pci_ids: Add PCI device IDs for F15h M60h Ben Hutchings
2017-12-28 17:05 ` Ben Hutchings [this message]
2017-12-28 17:05 ` [PATCH 3.16 100/204] more bio_map_user_iov() leak fixes Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 006/204] spi: uapi: spidev: add missing ioctl header Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 173/204] ALSA: seq: Avoid invalid lockdep class warning Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 045/204] staging: iio: ad7192: Fix - use the dedicated reset function avoiding dma from stack Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 054/204] security/keys: properly zero out sensitive key material in big_key Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 202/204] crypto: salsa20 - fix blkcipher_walk API usage Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 070/204] usb: renesas_usbhs: fix usbhsf_fifo_clear() for RX direction Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 163/204] arm64: fix dump_instr when PAN and UAO are in use Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 196/204] mm: Add a user_ns owner to mm_struct and fix ptrace permission checks Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 139/204] can: kvaser_usb: Correct return value in printout Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 062/204] vfs: Return -ENXIO for negative SEEK_HOLE / SEEK_DATA offsets Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 081/204] ALSA: usx2y: Suppress kernel warning at page allocation failures Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 138/204] ARM: 8715/1: add a private asm/unaligned.h Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 036/204] USB: gadgetfs: fix copy_to_user while holding spinlock Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 136/204] x86/cpu/AMD: Apply the Erratum 688 fix when the BIOS doesn't Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 071/204] packet: only test po->has_vnet_hdr once in packet_snd Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 042/204] iio: ad_sigma_delta: Implement a dedicated reset function Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 150/204] workqueue: Fix NULL pointer dereference Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 078/204] l2tp: fix l2tp_eth module loading Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 101/204] USB: dummy-hcd: Fix deadlock caused by disconnect detection Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 089/204] mm/memory_hotplug: change pfn_to_section_nr/section_nr_to_pfn macro to inline function Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 008/204] USB: serial: ftdi_sio: add id for Cypress WICED dev board Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 152/204] ALSA: timer: Add missing mutex lock for compat ioctls Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 167/204] l2tp: hold socket before dropping lock in l2tp_ip{, 6}_recv() Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 175/204] x86/oprofile/ppro: Do not use __this_cpu*() in preemptible context Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 118/204] net: enable interface alias removal via rtnl Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 018/204] USB: serial: cp210x: add support for ELV TFD500 Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 053/204] IB/mlx5: Simplify mlx5_ib_cont_pages Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 187/204] Input: ims-psu - check if CDC union descriptor is sane Ben Hutchings
2017-12-28 17:05 ` [PATCH 3.16 191/204] USB: core: prevent malicious bNumInterfaces overflow Ben Hutchings
2017-12-28 19:25 ` [PATCH 3.16 000/204] 3.16.52-rc1 review Guenter Roeck
2017-12-28 21:08 ` 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.1514480744.521111499@decadent.org.uk \
--to=ben@decadent.org.uk \
--cc=akpm@linux-foundation.org \
--cc=felipe.balbi@linux.intel.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=stable@vger.kernel.org \
--cc=stern@rowland.harvard.edu \
/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