stable.vger.kernel.org archive mirror
 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, "Theodore Ts'o" <tytso@mit.edu>,
	"George Spelvin" <linux@sciencehorizons.net>
Subject: [PATCH 3.16 028/212] ext4: fix deadlock between inline_data and ext4_expand_extra_isize_ea()
Date: Thu, 01 Jun 2017 16:43:15 +0100	[thread overview]
Message-ID: <lsq.1496331795.221475673@decadent.org.uk> (raw)
In-Reply-To: <lsq.1496331794.574686034@decadent.org.uk>

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

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

From: Theodore Ts'o <tytso@mit.edu>

commit c755e251357a0cee0679081f08c3f4ba797a8009 upstream.

The xattr_sem deadlock problems fixed in commit 2e81a4eeedca: "ext4:
avoid deadlock when expanding inode size" didn't include the use of
xattr_sem in fs/ext4/inline.c.  With the addition of project quota
which added a new extra inode field, this exposed deadlocks in the
inline_data code similar to the ones fixed by 2e81a4eeedca.

The deadlock can be reproduced via:

   dmesg -n 7
   mke2fs -t ext4 -O inline_data -Fq -I 256 /dev/vdc 32768
   mount -t ext4 -o debug_want_extra_isize=24 /dev/vdc /vdc
   mkdir /vdc/a
   umount /vdc
   mount -t ext4 /dev/vdc /vdc
   echo foo > /vdc/a/foo

and looks like this:

[   11.158815]
[   11.160276] =============================================
[   11.161960] [ INFO: possible recursive locking detected ]
[   11.161960] 4.10.0-rc3-00015-g011b30a8a3cf #160 Tainted: G        W
[   11.161960] ---------------------------------------------
[   11.161960] bash/2519 is trying to acquire lock:
[   11.161960]  (&ei->xattr_sem){++++..}, at: [<c1225a4b>] ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]
[   11.161960] but task is already holding lock:
[   11.161960]  (&ei->xattr_sem){++++..}, at: [<c1227941>] ext4_try_add_inline_entry+0x3a/0x152
[   11.161960]
[   11.161960] other info that might help us debug this:
[   11.161960]  Possible unsafe locking scenario:
[   11.161960]
[   11.161960]        CPU0
[   11.161960]        ----
[   11.161960]   lock(&ei->xattr_sem);
[   11.161960]   lock(&ei->xattr_sem);
[   11.161960]
[   11.161960]  *** DEADLOCK ***
[   11.161960]
[   11.161960]  May be due to missing lock nesting notation
[   11.161960]
[   11.161960] 4 locks held by bash/2519:
[   11.161960]  #0:  (sb_writers#3){.+.+.+}, at: [<c11a2414>] mnt_want_write+0x1e/0x3e
[   11.161960]  #1:  (&type->i_mutex_dir_key){++++++}, at: [<c119508b>] path_openat+0x338/0x67a
[   11.161960]  #2:  (jbd2_handle){++++..}, at: [<c123314a>] start_this_handle+0x582/0x622
[   11.161960]  #3:  (&ei->xattr_sem){++++..}, at: [<c1227941>] ext4_try_add_inline_entry+0x3a/0x152
[   11.161960]
[   11.161960] stack backtrace:
[   11.161960] CPU: 0 PID: 2519 Comm: bash Tainted: G        W       4.10.0-rc3-00015-g011b30a8a3cf #160
[   11.161960] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.10.1-1 04/01/2014
[   11.161960] Call Trace:
[   11.161960]  dump_stack+0x72/0xa3
[   11.161960]  __lock_acquire+0xb7c/0xcb9
[   11.161960]  ? kvm_clock_read+0x1f/0x29
[   11.161960]  ? __lock_is_held+0x36/0x66
[   11.161960]  ? __lock_is_held+0x36/0x66
[   11.161960]  lock_acquire+0x106/0x18a
[   11.161960]  ? ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  down_write+0x39/0x72
[   11.161960]  ? ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  ext4_expand_extra_isize_ea+0x3d/0x4cd
[   11.161960]  ? _raw_read_unlock+0x22/0x2c
[   11.161960]  ? jbd2_journal_extend+0x1e2/0x262
[   11.161960]  ? __ext4_journal_get_write_access+0x3d/0x60
[   11.161960]  ext4_mark_inode_dirty+0x17d/0x26d
[   11.161960]  ? ext4_add_dirent_to_inline.isra.12+0xa5/0xb2
[   11.161960]  ext4_add_dirent_to_inline.isra.12+0xa5/0xb2
[   11.161960]  ext4_try_add_inline_entry+0x69/0x152
[   11.161960]  ext4_add_entry+0xa3/0x848
[   11.161960]  ? __brelse+0x14/0x2f
[   11.161960]  ? _raw_spin_unlock_irqrestore+0x44/0x4f
[   11.161960]  ext4_add_nondir+0x17/0x5b
[   11.161960]  ext4_create+0xcf/0x133
[   11.161960]  ? ext4_mknod+0x12f/0x12f
[   11.161960]  lookup_open+0x39e/0x3fb
[   11.161960]  ? __wake_up+0x1a/0x40
[   11.161960]  ? lock_acquire+0x11e/0x18a
[   11.161960]  path_openat+0x35c/0x67a
[   11.161960]  ? sched_clock_cpu+0xd7/0xf2
[   11.161960]  do_filp_open+0x36/0x7c
[   11.161960]  ? _raw_spin_unlock+0x22/0x2c
[   11.161960]  ? __alloc_fd+0x169/0x173
[   11.161960]  do_sys_open+0x59/0xcc
[   11.161960]  SyS_open+0x1d/0x1f
[   11.161960]  do_int80_syscall_32+0x4f/0x61
[   11.161960]  entry_INT80_32+0x2f/0x2f
[   11.161960] EIP: 0xb76ad469
[   11.161960] EFLAGS: 00000286 CPU: 0
[   11.161960] EAX: ffffffda EBX: 08168ac8 ECX: 00008241 EDX: 000001b6
[   11.161960] ESI: b75e46bc EDI: b7755000 EBP: bfbdb108 ESP: bfbdafc0
[   11.161960]  DS: 007b ES: 007b FS: 0000 GS: 0033 SS: 007b

Reported-by: George Spelvin <linux@sciencehorizons.net>
Signed-off-by: Theodore Ts'o <tytso@mit.edu>
[bwh: Backported to 3.16: adjust context]
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 fs/ext4/inline.c | 66 ++++++++++++++++++++++++++------------------------------
 fs/ext4/xattr.c  | 30 +++++++++++---------------
 fs/ext4/xattr.h  | 32 +++++++++++++++++++++++++++
 3 files changed, 74 insertions(+), 54 deletions(-)

--- a/fs/ext4/inline.c
+++ b/fs/ext4/inline.c
@@ -380,7 +380,7 @@ out:
 static int ext4_prepare_inline_data(handle_t *handle, struct inode *inode,
 				    unsigned int len)
 {
-	int ret, size;
+	int ret, size, no_expand;
 	struct ext4_inode_info *ei = EXT4_I(inode);
 
 	if (!ext4_test_inode_state(inode, EXT4_STATE_MAY_INLINE_DATA))
@@ -390,15 +390,14 @@ static int ext4_prepare_inline_data(hand
 	if (size < len)
 		return -ENOSPC;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 
 	if (ei->i_inline_off)
 		ret = ext4_update_inline_data(handle, inode, len);
 	else
 		ret = ext4_create_inline_data(handle, inode, len);
 
-	up_write(&EXT4_I(inode)->xattr_sem);
-
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return ret;
 }
 
@@ -528,7 +527,7 @@ static int ext4_convert_inline_data_to_e
 					      struct inode *inode,
 					      unsigned flags)
 {
-	int ret, needed_blocks;
+	int ret, needed_blocks, no_expand;
 	handle_t *handle = NULL;
 	int retries = 0, sem_held = 0;
 	struct page *page = NULL;
@@ -568,7 +567,7 @@ retry:
 		goto out;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	sem_held = 1;
 	/* If some one has already done this for us, just exit. */
 	if (!ext4_has_inline_data(inode)) {
@@ -603,7 +602,7 @@ retry:
 		unlock_page(page);
 		page_cache_release(page);
 		ext4_orphan_add(handle, inode);
-		up_write(&EXT4_I(inode)->xattr_sem);
+		ext4_write_unlock_xattr(inode, &no_expand);
 		sem_held = 0;
 		ext4_journal_stop(handle);
 		handle = NULL;
@@ -628,7 +627,7 @@ out:
 		page_cache_release(page);
 	}
 	if (sem_held)
-		up_write(&EXT4_I(inode)->xattr_sem);
+		ext4_write_unlock_xattr(inode, &no_expand);
 	if (handle)
 		ext4_journal_stop(handle);
 	brelse(iloc.bh);
@@ -721,7 +720,7 @@ convert:
 int ext4_write_inline_data_end(struct inode *inode, loff_t pos, unsigned len,
 			       unsigned copied, struct page *page)
 {
-	int ret;
+	int ret, no_expand;
 	void *kaddr;
 	struct ext4_iloc iloc;
 
@@ -739,7 +738,7 @@ int ext4_write_inline_data_end(struct in
 		goto out;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	BUG_ON(!ext4_has_inline_data(inode));
 
 	kaddr = kmap_atomic(page);
@@ -749,7 +748,7 @@ int ext4_write_inline_data_end(struct in
 	/* clear page dirty so that writepages wouldn't work for us. */
 	ClearPageDirty(page);
 
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	brelse(iloc.bh);
 out:
 	return copied;
@@ -760,7 +759,7 @@ ext4_journalled_write_inline_data(struct
 				  unsigned len,
 				  struct page *page)
 {
-	int ret;
+	int ret, no_expand;
 	void *kaddr;
 	struct ext4_iloc iloc;
 
@@ -770,11 +769,11 @@ ext4_journalled_write_inline_data(struct
 		return NULL;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	kaddr = kmap_atomic(page);
 	ext4_write_inline_data(inode, &iloc, kaddr, 0, len);
 	kunmap_atomic(kaddr);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 
 	return iloc.bh;
 }
@@ -1238,7 +1237,7 @@ out:
 int ext4_try_add_inline_entry(handle_t *handle, struct dentry *dentry,
 			      struct inode *inode)
 {
-	int ret, inline_size;
+	int ret, inline_size, no_expand;
 	void *inline_start;
 	struct ext4_iloc iloc;
 	struct inode *dir = dentry->d_parent->d_inode;
@@ -1247,7 +1246,7 @@ int ext4_try_add_inline_entry(handle_t *
 	if (ret)
 		return ret;
 
-	down_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_lock_xattr(dir, &no_expand);
 	if (!ext4_has_inline_data(dir))
 		goto out;
 
@@ -1292,7 +1291,7 @@ int ext4_try_add_inline_entry(handle_t *
 
 out:
 	ext4_mark_inode_dirty(handle, dir);
-	up_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_unlock_xattr(dir, &no_expand);
 	brelse(iloc.bh);
 	return ret;
 }
@@ -1648,7 +1647,7 @@ int ext4_delete_inline_entry(handle_t *h
 			     struct buffer_head *bh,
 			     int *has_inline_data)
 {
-	int err, inline_size;
+	int err, inline_size, no_expand;
 	struct ext4_iloc iloc;
 	void *inline_start;
 
@@ -1656,7 +1655,7 @@ int ext4_delete_inline_entry(handle_t *h
 	if (err)
 		return err;
 
-	down_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_lock_xattr(dir, &no_expand);
 	if (!ext4_has_inline_data(dir)) {
 		*has_inline_data = 0;
 		goto out;
@@ -1691,7 +1690,7 @@ int ext4_delete_inline_entry(handle_t *h
 
 	ext4_show_inline_dir(dir, iloc.bh, inline_start, inline_size);
 out:
-	up_write(&EXT4_I(dir)->xattr_sem);
+	ext4_write_unlock_xattr(dir, &no_expand);
 	brelse(iloc.bh);
 	if (err != -ENOENT)
 		ext4_std_error(dir->i_sb, err);
@@ -1790,11 +1789,11 @@ out:
 
 int ext4_destroy_inline_data(handle_t *handle, struct inode *inode)
 {
-	int ret;
+	int ret, no_expand;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	ret = ext4_destroy_inline_data_nolock(handle, inode);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 
 	return ret;
 }
@@ -1872,7 +1871,7 @@ out:
 void ext4_inline_data_truncate(struct inode *inode, int *has_inline)
 {
 	handle_t *handle;
-	int inline_size, value_len, needed_blocks;
+	int inline_size, value_len, needed_blocks, no_expand;
 	size_t i_size;
 	void *value = NULL;
 	struct ext4_xattr_ibody_find is = {
@@ -1889,7 +1888,7 @@ void ext4_inline_data_truncate(struct in
 	if (IS_ERR(handle))
 		return;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_lock_xattr(inode, &no_expand);
 	if (!ext4_has_inline_data(inode)) {
 		*has_inline = 0;
 		ext4_journal_stop(handle);
@@ -1947,7 +1946,7 @@ out_error:
 	up_write(&EXT4_I(inode)->i_data_sem);
 out:
 	brelse(is.iloc.bh);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	kfree(value);
 	if (inode->i_nlink)
 		ext4_orphan_del(handle, inode);
@@ -1963,7 +1962,7 @@ out:
 
 int ext4_convert_inline_data(struct inode *inode)
 {
-	int error, needed_blocks;
+	int error, needed_blocks, no_expand;
 	handle_t *handle;
 	struct ext4_iloc iloc;
 
@@ -1985,15 +1984,10 @@ int ext4_convert_inline_data(struct inod
 		goto out_free;
 	}
 
-	down_write(&EXT4_I(inode)->xattr_sem);
-	if (!ext4_has_inline_data(inode)) {
-		up_write(&EXT4_I(inode)->xattr_sem);
-		goto out;
-	}
-
-	error = ext4_convert_inline_data_nolock(handle, inode, &iloc);
-	up_write(&EXT4_I(inode)->xattr_sem);
-out:
+	ext4_write_lock_xattr(inode, &no_expand);
+	if (ext4_has_inline_data(inode))
+		error = ext4_convert_inline_data_nolock(handle, inode, &iloc);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	ext4_journal_stop(handle);
 out_free:
 	brelse(iloc.bh);
--- a/fs/ext4/xattr.c
+++ b/fs/ext4/xattr.c
@@ -1106,16 +1106,14 @@ ext4_xattr_set_handle(handle_t *handle,
 	struct ext4_xattr_block_find bs = {
 		.s = { .not_found = -ENODATA, },
 	};
-	unsigned long no_expand;
+	int no_expand;
 	int error;
 
 	if (!name)
 		return -EINVAL;
 	if (strlen(name) > 255)
 		return -ERANGE;
-	down_write(&EXT4_I(inode)->xattr_sem);
-	no_expand = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_write_lock_xattr(inode, &no_expand);
 
 	error = ext4_reserve_inode_write(handle, inode, &is.iloc);
 	if (error)
@@ -1176,7 +1174,7 @@ ext4_xattr_set_handle(handle_t *handle,
 		ext4_xattr_update_super_block(handle, inode->i_sb);
 		inode->i_ctime = ext4_current_time(inode);
 		if (!value)
-			ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
+			no_expand = 0;
 		error = ext4_mark_iloc_dirty(handle, inode, &is.iloc);
 		/*
 		 * The bh is consumed by ext4_mark_iloc_dirty, even with
@@ -1190,9 +1188,7 @@ ext4_xattr_set_handle(handle_t *handle,
 cleanup:
 	brelse(is.iloc.bh);
 	brelse(bs.bh);
-	if (no_expand == 0)
-		ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return error;
 }
 
@@ -1275,12 +1271,11 @@ int ext4_expand_extra_isize_ea(struct in
 	void *base, *start, *end;
 	int extra_isize = 0, error = 0, tried_min_extra_isize = 0;
 	int s_min_extra_isize = le16_to_cpu(EXT4_SB(inode->i_sb)->s_es->s_min_extra_isize);
+	int no_expand;
+
+	if (ext4_write_trylock_xattr(inode, &no_expand) == 0)
+		return 0;
 
-	down_write(&EXT4_I(inode)->xattr_sem);
-	/*
-	 * Set EXT4_STATE_NO_EXPAND to avoid recursion when marking inode dirty
-	 */
-	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
 retry:
 	if (EXT4_I(inode)->i_extra_isize >= new_extra_isize)
 		goto out;
@@ -1469,8 +1464,7 @@ retry:
 	}
 	brelse(bh);
 out:
-	ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
-	up_write(&EXT4_I(inode)->xattr_sem);
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return 0;
 
 cleanup:
@@ -1482,10 +1476,10 @@ cleanup:
 	kfree(bs);
 	brelse(bh);
 	/*
-	 * We deliberately leave EXT4_STATE_NO_EXPAND set here since inode
-	 * size expansion failed.
+	 * Inode size expansion failed; don't try again
 	 */
-	up_write(&EXT4_I(inode)->xattr_sem);
+	no_expand = 1;
+	ext4_write_unlock_xattr(inode, &no_expand);
 	return error;
 }
 
--- a/fs/ext4/xattr.h
+++ b/fs/ext4/xattr.h
@@ -98,6 +98,38 @@ extern const struct xattr_handler ext4_x
 extern const struct xattr_handler ext4_xattr_trusted_handler;
 extern const struct xattr_handler ext4_xattr_security_handler;
 
+/*
+ * The EXT4_STATE_NO_EXPAND is overloaded and used for two purposes.
+ * The first is to signal that there the inline xattrs and data are
+ * taking up so much space that we might as well not keep trying to
+ * expand it.  The second is that xattr_sem is taken for writing, so
+ * we shouldn't try to recurse into the inode expansion.  For this
+ * second case, we need to make sure that we take save and restore the
+ * NO_EXPAND state flag appropriately.
+ */
+static inline void ext4_write_lock_xattr(struct inode *inode, int *save)
+{
+	down_write(&EXT4_I(inode)->xattr_sem);
+	*save = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+}
+
+static inline int ext4_write_trylock_xattr(struct inode *inode, int *save)
+{
+	if (down_write_trylock(&EXT4_I(inode)->xattr_sem) == 0)
+		return 0;
+	*save = ext4_test_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	ext4_set_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	return 1;
+}
+
+static inline void ext4_write_unlock_xattr(struct inode *inode, int *save)
+{
+	if (*save == 0)
+		ext4_clear_inode_state(inode, EXT4_STATE_NO_EXPAND);
+	up_write(&EXT4_I(inode)->xattr_sem);
+}
+
 extern ssize_t ext4_listxattr(struct dentry *, char *, size_t);
 
 extern int ext4_xattr_get(struct inode *, int, const char *, void *, size_t);

  parent reply	other threads:[~2017-06-01 15:44 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-06-01 15:43 [PATCH 3.16 000/212] 3.16.44-rc1 review Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 044/212] USB: serial: ftdi_sio: fix latency-timer error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 012/212] MIPS: Netlogic: Fix assembler warning from smpboot.S Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 063/212] power: supply: bq24190_charger: Don't read fault register outside irq_handle_thread() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 018/212] samples/seccomp: fix 64-bit comparison macros Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 060/212] power: supply: bq24190_charger: Install irq_handler_thread() at end of probe() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 064/212] power: supply: bq24190_charger: Handle fault before status on interrupt Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 038/212] IB/ipoib: Change list_del to list_del_init in the tx object Ben Hutchings
2017-06-01 15:43 ` Ben Hutchings [this message]
2017-06-01 15:43 ` [PATCH 3.16 042/212] USB: serial: ark3116: fix open error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 045/212] USB: serial: io_edgeport: fix epic-descriptor handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 006/212] MIPS: Clear ISA bit correctly in get_frame_info() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 043/212] USB: serial: ftdi_sio: fix modem-status error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 037/212] IB/ipoib: Replace list_del of the neigh->list with list_del_init Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 021/212] hv_vmbus: Add gradually increased delay for retries in vmbus_post_msg() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 058/212] power: supply: bq24190_charger: Fix irq trigger to IRQF_TRIGGER_FALLING Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 048/212] USB: serial: quatech2: fix control-message error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 046/212] USB: serial: io_edgeport: fix descriptor " Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 002/212] drm/i915: relax uncritical udelay_range() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 055/212] mwifiex: debugfs: Fix (sometimes) off-by-1 SSID print Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 030/212] ath5k: drop bogus warning on drv_set_key with unsupported cipher Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 052/212] USB: serial: opticon: fix CTS retrieval at open Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 014/212] scsi: storvsc: Fix a bug in the handling of SRB status flags Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 025/212] hv: init percpu_list in hv_synic_alloc() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 017/212] IB/mlx5: Fix retrieval of index to first hi class bfreg Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 062/212] power: supply: bq24190_charger: Call power_supply_changed() for relevant component Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 035/212] IB/ipoib: Fix deadlock between rmmod and set_mode Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 065/212] usb: dwc3: gadget: skip Set/Clear Halt when invalid Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 036/212] IB/ipoib: rtnl_unlock can not come after free_netdev Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 049/212] USB: serial: spcp8x5: fix modem-status handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 003/212] adm80211: return an error if adm8211_alloc_rings() fails Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 019/212] clk: wm831x: fix usleep_range with bad range Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 020/212] hv: vmbus_post_msg: retry the hypercall on some transient errors Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 011/212] MIPS: Handle microMIPS jumps in the same way as MIPS32/MIPS64 jumps Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 032/212] RDMA/core: Fix incorrect structure packing for booleans Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 054/212] perf script: Fix man page about --dump-raw-trace option Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 053/212] staging: rtl: fix possible NULL pointer dereference Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 027/212] ext4: avoid deadlock when expanding inode size Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 031/212] ASoC: rt5640: use msleep() for long delays Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 010/212] MIPS: Calculate microMIPS ra properly when unwinding the stack Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 004/212] iio: st_pressure: Fix data sign Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 007/212] MIPS: Prevent unaligned accesses during stack unwinding Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 040/212] USB: serial: ch341: fix modem-status handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 023/212] Drivers: hv: vmbus: Raise retry/wait limits in vmbus_post_msg() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 013/212] scsi: storvsc: use tagged SRB requests if supported by the device Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 024/212] hv: allocate synic pages for all present CPUs Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 039/212] locking/ww_mutex: Fix compilation of __WW_MUTEX_INITIALIZER Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 034/212] IB/ipoib: Fix deadlock over vlan_mutex Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 057/212] sbitmap: fix wakeup hang after sbq resize Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 029/212] tty: serial: msm: Fix module autoload Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 026/212] perf evlist: Fix typo in perf_evlist__start_workload() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 056/212] blk-mq: Make bt_clear_tag() easier to read Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 015/212] scsi: storvsc: properly handle SRB_ERROR when sense message is present Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 009/212] MIPS: Fix is_jump_ins() handling of 16b microMIPS instructions Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 033/212] IB/ipoib: Set device connection mode only when needed Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 059/212] power: supply: bq24190_charger: Call set_mode_host() on pm_resume() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 008/212] MIPS: Fix get_frame_info() handling of microMIPS function size Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 016/212] scsi: storvsc: properly set residual data length on errors Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 061/212] power: bq24190_charger: Change first_time flag reset condition Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 001/212] mm/huge_memory.c: fix up "mm/huge_memory.c: respect FOLL_FORCE/FOLL_COW for thp" backport Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 022/212] Drivers: hv: vmbus: Reduce the delay between retries in vmbus_post_msg() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 041/212] USB: serial: ark3116: fix register-accessor error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 047/212] USB: serial: mct_u232: fix modem-status " Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 050/212] USB: serial: ssu100: fix control-message " Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 005/212] rtlwifi: Fix alignment issues Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 051/212] USB: serial: ti_usb_3410_5052: fix control-message error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 205/212] dccp/tcp: do not inherit mc_list from parent Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 086/212] staging: wlan-ng: add missing byte order conversion Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 085/212] bcma: use (get|put)_device when probing/removing device driver Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 153/212] scsi: aacraid: Fix memory leak in fib init path Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 194/212] mm/mempolicy.c: fix error handling in set_mempolicy and mbind Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 110/212] USB: serial: mos7840: fix another NULL-deref at open Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 067/212] usb: gadget: f_hid: fix: Free out requests Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 160/212] f2fs: use for_each_set_bit to simplify the code Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 136/212] MIPS: BCM47XX: Fix button inversion for Asus WL-500W Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 154/212] scsi: aacraid: Reorder Adapter status check Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 082/212] ext4: fix data corruption in data=journal mode Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 174/212] ALSA: seq: Fix link corruption by event error handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 177/212] locking/static_keys: Add static_key_{en,dis}able() helpers Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 120/212] md linear: fix a race between linear_add() and linear_congested() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 204/212] nfsd: stricter decoding of write-like NFSv2/v3 ops Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 091/212] USB: serial: digi_acceleport: fix incomplete rx sanity check Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 074/212] USB: serial: ftdi_sio: fix extreme low-latency setting Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 107/212] ktest: Fix child exit code processing Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 180/212] net: ethernet: bgmac: mac address change bug Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 203/212] nfsd4: minor NFSv2/v3 write decoding cleanup Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 188/212] drm/vmwgfx: NULL pointer dereference in vmw_surface_define_ioctl() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 185/212] ping: implement proper locking Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 183/212] KEYS: Reinstate EPERM for a key type name beginning with a '.' Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 092/212] USB: serial: keyspan_pda: fix receive sanity checks Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 115/212] serial: exar: Fix initialization of EXAR registers for ports > 0 Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 113/212] perf tests: Avoid possible truncation with dirent->d_name + snprintf Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 148/212] fuse: add missing FR_FORCE Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 101/212] USB: serial: cp210x: add new IDs for GE Bx50v3 boards Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 096/212] ext4: fix inline data error paths Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 197/212] virtio-console: avoid DMA from stack Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 142/212] nfsd: minor nfsd_setattr cleanup Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 189/212] drm/vmwgfx: fix integer overflow in vmw_surface_define_ioctl() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 102/212] KVM: s390: Disable dirty log retrieval for UCONTROL guests Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 111/212] i2c: i2c-mux-gpio: rename i2c-gpio-mux to i2c-mux-gpio Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 090/212] USB: serial: digi_acceleport: fix OOB data sanity check Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 118/212] iio: pressure: mpl115: do not rely on structure field ordering Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 165/212] mm/page_alloc: fix nodes for reclaim in fast path Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 079/212] drm/radeon: handle vfct with multiple vbios images Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 073/212] w1: don't leak refcount on slave attach failure in w1_attach_slave_device() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 193/212] KEYS: fix keyctl_set_reqkey_keyring() to not leak thread keyrings Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 168/212] ipv4: mask tos for input route Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 134/212] MIPS: OCTEON: Fix copy_from_user fault handling for large buffers Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 199/212] platform/x86: acer-wmi: setup accelerometer when machine has appropriate notify event Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 149/212] rdma_cm: fail iwarp accepts w/o connection params Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 103/212] USB: serial: ftdi_sio: fix line-status over-reporting Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 094/212] s390/qdio: clear DSCI prior to scanning multiple input queues Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 070/212] MIPS: 'make -s' should be silent Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 125/212] ext4: fix fencepost in s_first_meta_bg validation Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 106/212] ath9k: fix race condition in enabling/disabling IRQs Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 209/212] ipv6: Check ip6_find_1stfragopt() return value properly Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 171/212] drm/ast: Fix AST2400 POST failure without BMC FW or VBIOS Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 099/212] ext4: return EROFS if device is r/o and journal replay is needed Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 127/212] ath9k: use correct OTP register offsets for the AR9340 and AR9550 Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 139/212] mlx4: reduce OOM risk on arches with large pages Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 128/212] x86/platform/goldfish: Prevent unconditional loading Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 212/212] ipv6: fix out of bound writes in __ip6_append_data() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 198/212] net: ipv6: check route protocol when deleting routes Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 146/212] drm/ttm: fix use-after-free races in vm fault handling Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 192/212] net/packet: fix overflow in check for tp_reserve Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 207/212] USB: serial: omninet: fix reference leaks at open Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 066/212] usb: gadget: define free_ep_req as universal function Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 098/212] ext4: preserve the needs_recovery flag when the journal is aborted Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 164/212] vxlan: correctly validate VXLAN ID against VXLAN_N_VID Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 132/212] clk: renesas: mstp: ensure register writes complete Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 137/212] sfc: do not device_attach if a reset is pending Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 095/212] x86/pci-calgary: Fix iommu_free() comparison of unsigned expression >= 0 Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 084/212] [media] adv7604: Initialize drive strength to default when using DT Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 104/212] USB: serial: sierra: fix bogus alternate-setting assumption Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 076/212] clk: hisilicon: fix lock assignment Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 211/212] ipv6/dccp: do not inherit ipv6_mc_list from parent Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 078/212] clk: samsung: mark s3c...._clk_sleep_init() as __init Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 163/212] NFSv4: fix getacl ERANGE for some ACL buffer sizes Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 176/212] xtensa: move parse_tag_fdt out of #ifdef CONFIG_BLK_DEV_INITRD Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 162/212] NFSv4: fix getacl head length estimation Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 143/212] nfsd: special case truncates some more Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 208/212] ipv6: Prevent overrun when parsing v6 header options Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 195/212] crypto: ahash - Fix EINPROGRESS notification callback Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 145/212] batman-adv: Fix transmission of final, 16th fragment Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 100/212] serial: 8250_pci: Add MKS Tenta SCOM-0800 and SCOM-0801 cards Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 157/212] net/mlx4: Spoofcheck and zero MAC can't coexist Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 141/212] nfsd: update mtime on truncate Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 191/212] net/packet: fix overflow in check for tp_frame_nr Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 129/212] goldfish: Sanitize the broken interrupt handler Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 119/212] mmc: host: omap_hsmmc: avoid possible overflow of timeout value Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 069/212] usb: gadget: f_hid: Use spinlock instead of mutex Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 083/212] arm/arm64: KVM: Enforce unconditional flush to PoC when mapping to stage-2 Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 170/212] mac80211: flush delayed work when entering suspend Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 087/212] [media] media: fix dm1105.c build error Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 206/212] USB: serial: io_ti: fix information leak in completion handler Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 121/212] md: ensure md devices are freed before module is unloaded Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 077/212] drm/ttm: Make sure BOs being swapped out are cacheable Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 187/212] xfrm_user: validate XFRM_MSG_NEWAE incoming ESN size harder Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 202/212] nfsd: check for oversized NFSv2/v3 arguments Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 184/212] KEYS: Disallow keyrings beginning with '.' to be joined as session keyrings Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 081/212] ext4: use private version of page_zero_new_buffers() for data=journal mode Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 112/212] i2c: riic: correctly finish transfers Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 158/212] net/mlx4_core: Fix VF overwrite of module param which disables DMFS on new probed PFs Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 071/212] W1: ds2490: Increase timeout when waiting for status Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 075/212] iwlwifi: mvm: rs: Remove unused 'mcs' variable Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 178/212] net: net_enable_timestamp() can be called from irq contexts Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 133/212] MIPS: Fix special case in 64 bit IP checksumming Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 108/212] NFSv4: Fix memory and state leak in _nfs4_open_and_get_state Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 117/212] iio: pressure: mpl3115: do not rely on structure field ordering Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 080/212] ext4: trim allocation requests to group size Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 167/212] mm: do not access page->mapping directly on page_endio Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 151/212] net/dccp: fix use after free in tw_timer_handler() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 196/212] [media] dvb-usb-v2: avoid use-after-free Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 172/212] ALSA: timer: Reject user params with too small ticks Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 114/212] KEYS: Fix an error code in request_master_key() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 210/212] sctp: do not inherit ipv6_{mc|ac|fl}_list from parent Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 135/212] MIPS: ip27: Disable qlge driver in defconfig Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 126/212] powerpc/xmon: Fix data-breakpoint Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 144/212] batman-adv: Fix double free during fragment merge error Ben Hutchings
2017-06-01 16:44   ` Sven Eckelmann
2017-06-03 19:48     ` Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 130/212] Bluetooth: Add another AR3012 04ca:3018 device Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 181/212] USB: iowarrior: fix NULL-deref at probe Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 140/212] KVM: VMX: use correct vmcs_read/write for guest segment selector/base Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 131/212] dm cache: fix corruption seen when using cache > 2TB Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 089/212] [media] uvcvideo: Fix a wrong macro Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 159/212] net/mlx4_en: Use __skb_fill_page_desc() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 105/212] mwifiex: Avoid skipping WEP key deletion for AP Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 182/212] KEYS: special dot prefixed keyring name bug fix Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 093/212] usb: misc: adutux: remove redundant error check on copy_to_user return code Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 175/212] net/mlx4: && vs & typo Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 088/212] iommu/vt-d: Don't over-free page table directories Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 097/212] jbd2: don't leak modified metadata buffers on an aborted journal Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 123/212] IB/mlx5: Fix out-of-bound access Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 156/212] s390/chsc: Add exception handler for CHSC instruction Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 179/212] can: usb_8dev: Fix memory leak of priv->cmd_msg_buffer Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 122/212] nlm: Ensure callback code also checks that the files match Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 200/212] tracing: Use strlcpy() instead of strcpy() in __trace_find_cmdline() Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 173/212] ALSA: ctxfi: Fallback DMA mask to 32bit Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 068/212] usb: gadget: f_hid: fix: Prevent accessing released memory Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 109/212] cpufreq: s3c2416: double free on driver init error path Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 152/212] tcp: account for ts offset only if tsecr not zero Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 166/212] mm: vmpressure: fix sending wrong events on underflow Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 147/212] NFSv4: Fix the underestimation of delegation XDR space reservation Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 161/212] f2fs: add ovp valid_blocks check for bg gc victim to fg_gc Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 138/212] PM / QoS: Fix memory leak on resume_latency.notifiers Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 201/212] ipx: call ipxitf_put() in ioctl error path Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 186/212] xfrm_user: validate XFRM_MSG_NEWAE XFRMA_REPLAY_ESN_VAL replay_window Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 124/212] IB/mlx5: Return error for unsupported signature type Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 190/212] net/packet: fix overflow in check for priv area size Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 116/212] drivers: hv: Turn off write permission on the hypercall page Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 169/212] net sched actions: decrement module reference count after table flush Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 155/212] mm: fix <linux/pagemap.h> stray kernel-doc notation Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 072/212] w1: ds2490: USB transfer buffers need to be DMAable Ben Hutchings
2017-06-01 15:43 ` [PATCH 3.16 150/212] l2tp: Avoid schedule while atomic in exit_net Ben Hutchings
2017-06-01 16:56 ` [PATCH 3.16 000/212] 3.16.44-rc1 review Ben Hutchings
2017-06-01 21:13 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=lsq.1496331795.221475673@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=akpm@linux-foundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux@sciencehorizons.net \
    --cc=stable@vger.kernel.org \
    --cc=tytso@mit.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;
as well as URLs for NNTP newsgroup(s).