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,
	"Arnaldo Carvalho de Melo" <acme@kernel.org>,
	"Jiri Olsa" <jolsa@redhat.com>,
	"Peter Zijlstra" <peterz@infradead.org>,
	"Linus Torvalds" <torvalds@linux-foundation.org>,
	"Ingo Molnar" <mingo@kernel.org>,
	"Paul E. McKenney" <paulmck@linux.vnet.ibm.com>
Subject: [PATCH 3.16 289/306] perf: Fix event->ctx locking
Date: Wed, 15 Feb 2017 22:41:41 +0000	[thread overview]
Message-ID: <lsq.1487198501.676590514@decadent.org.uk> (raw)
In-Reply-To: <lsq.1487198498.99718322@decadent.org.uk>

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

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

From: Peter Zijlstra <peterz@infradead.org>

commit f63a8daa5812afef4f06c962351687e1ff9ccb2b upstream.

There have been a few reported issues wrt. the lack of locking around
changing event->ctx. This patch tries to address those.

It avoids the whole rwsem thing; and while it appears to work, please
give it some thought in review.

What I did fail at is sensible runtime checks on the use of
event->ctx, the RCU use makes it very hard.

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Cc: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
Cc: Jiri Olsa <jolsa@redhat.com>
Cc: Arnaldo Carvalho de Melo <acme@kernel.org>
Cc: Linus Torvalds <torvalds@linux-foundation.org>
Link: http://lkml.kernel.org/r/20150123125834.209535886@infradead.org
Signed-off-by: Ingo Molnar <mingo@kernel.org>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
---
 kernel/events/core.c | 244 +++++++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 207 insertions(+), 37 deletions(-)

--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -903,6 +903,77 @@ static void put_ctx(struct perf_event_co
 }
 
 /*
+ * Because of perf_event::ctx migration in sys_perf_event_open::move_group and
+ * perf_pmu_migrate_context() we need some magic.
+ *
+ * Those places that change perf_event::ctx will hold both
+ * perf_event_ctx::mutex of the 'old' and 'new' ctx value.
+ *
+ * Lock ordering is by mutex address. There is one other site where
+ * perf_event_context::mutex nests and that is put_event(). But remember that
+ * that is a parent<->child context relation, and migration does not affect
+ * children, therefore these two orderings should not interact.
+ *
+ * The change in perf_event::ctx does not affect children (as claimed above)
+ * because the sys_perf_event_open() case will install a new event and break
+ * the ctx parent<->child relation, and perf_pmu_migrate_context() is only
+ * concerned with cpuctx and that doesn't have children.
+ *
+ * The places that change perf_event::ctx will issue:
+ *
+ *   perf_remove_from_context();
+ *   synchronize_rcu();
+ *   perf_install_in_context();
+ *
+ * to affect the change. The remove_from_context() + synchronize_rcu() should
+ * quiesce the event, after which we can install it in the new location. This
+ * means that only external vectors (perf_fops, prctl) can perturb the event
+ * while in transit. Therefore all such accessors should also acquire
+ * perf_event_context::mutex to serialize against this.
+ *
+ * However; because event->ctx can change while we're waiting to acquire
+ * ctx->mutex we must be careful and use the below perf_event_ctx_lock()
+ * function.
+ *
+ * Lock order:
+ *	task_struct::perf_event_mutex
+ *	  perf_event_context::mutex
+ *	    perf_event_context::lock
+ *	    perf_event::child_mutex;
+ *	    perf_event::mmap_mutex
+ *	    mmap_sem
+ */
+static struct perf_event_context *perf_event_ctx_lock(struct perf_event *event)
+{
+	struct perf_event_context *ctx;
+
+again:
+	rcu_read_lock();
+	ctx = ACCESS_ONCE(event->ctx);
+	if (!atomic_inc_not_zero(&ctx->refcount)) {
+		rcu_read_unlock();
+		goto again;
+	}
+	rcu_read_unlock();
+
+	mutex_lock(&ctx->mutex);
+	if (event->ctx != ctx) {
+		mutex_unlock(&ctx->mutex);
+		put_ctx(ctx);
+		goto again;
+	}
+
+	return ctx;
+}
+
+static void perf_event_ctx_unlock(struct perf_event *event,
+				  struct perf_event_context *ctx)
+{
+	mutex_unlock(&ctx->mutex);
+	put_ctx(ctx);
+}
+
+/*
  * This must be done under the ctx->lock, such as to serialize against
  * context_equiv(), therefore we cannot call put_ctx() since that might end up
  * calling scheduler related locks and ctx->lock nests inside those.
@@ -1606,7 +1677,7 @@ int __perf_event_disable(void *info)
  * is the current context on this CPU and preemption is disabled,
  * hence we can't get into perf_event_task_sched_out for this context.
  */
-void perf_event_disable(struct perf_event *event)
+static void _perf_event_disable(struct perf_event *event)
 {
 	struct perf_event_context *ctx = event->ctx;
 	struct task_struct *task = ctx->task;
@@ -1647,6 +1718,19 @@ retry:
 	}
 	raw_spin_unlock_irq(&ctx->lock);
 }
+
+/*
+ * Strictly speaking kernel users cannot create groups and therefore this
+ * interface does not need the perf_event_ctx_lock() magic.
+ */
+void perf_event_disable(struct perf_event *event)
+{
+	struct perf_event_context *ctx;
+
+	ctx = perf_event_ctx_lock(event);
+	_perf_event_disable(event);
+	perf_event_ctx_unlock(event, ctx);
+}
 EXPORT_SYMBOL_GPL(perf_event_disable);
 
 static void perf_set_shadow_time(struct perf_event *event,
@@ -2107,7 +2191,7 @@ unlock:
  * perf_event_for_each_child or perf_event_for_each as described
  * for perf_event_disable.
  */
-void perf_event_enable(struct perf_event *event)
+static void _perf_event_enable(struct perf_event *event)
 {
 	struct perf_event_context *ctx = event->ctx;
 	struct task_struct *task = ctx->task;
@@ -2163,9 +2247,21 @@ retry:
 out:
 	raw_spin_unlock_irq(&ctx->lock);
 }
+
+/*
+ * See perf_event_disable();
+ */
+void perf_event_enable(struct perf_event *event)
+{
+	struct perf_event_context *ctx;
+
+	ctx = perf_event_ctx_lock(event);
+	_perf_event_enable(event);
+	perf_event_ctx_unlock(event, ctx);
+}
 EXPORT_SYMBOL_GPL(perf_event_enable);
 
-int perf_event_refresh(struct perf_event *event, int refresh)
+static int _perf_event_refresh(struct perf_event *event, int refresh)
 {
 	/*
 	 * not supported on inherited events
@@ -2174,10 +2270,25 @@ int perf_event_refresh(struct perf_event
 		return -EINVAL;
 
 	atomic_add(refresh, &event->event_limit);
-	perf_event_enable(event);
+	_perf_event_enable(event);
 
 	return 0;
 }
+
+/*
+ * See perf_event_disable()
+ */
+int perf_event_refresh(struct perf_event *event, int refresh)
+{
+	struct perf_event_context *ctx;
+	int ret;
+
+	ctx = perf_event_ctx_lock(event);
+	ret = _perf_event_refresh(event, refresh);
+	perf_event_ctx_unlock(event, ctx);
+
+	return ret;
+}
 EXPORT_SYMBOL_GPL(perf_event_refresh);
 
 static void ctx_sched_out(struct perf_event_context *ctx,
@@ -3373,7 +3484,16 @@ static void put_event(struct perf_event
 	rcu_read_unlock();
 
 	if (owner) {
-		mutex_lock(&owner->perf_event_mutex);
+		/*
+		 * If we're here through perf_event_exit_task() we're already
+		 * holding ctx->mutex which would be an inversion wrt. the
+		 * normal lock order.
+		 *
+		 * However we can safely take this lock because its the child
+		 * ctx->mutex.
+		 */
+		mutex_lock_nested(&owner->perf_event_mutex, SINGLE_DEPTH_NESTING);
+
 		/*
 		 * We have to re-check the event->owner field, if it is cleared
 		 * we raced with perf_event_exit_task(), acquiring the mutex
@@ -3449,12 +3569,13 @@ static int perf_event_read_group(struct
 				   u64 read_format, char __user *buf)
 {
 	struct perf_event *leader = event->group_leader, *sub;
-	int n = 0, size = 0, ret = -EFAULT;
 	struct perf_event_context *ctx = leader->ctx;
-	u64 values[5];
+	int n = 0, size = 0, ret;
 	u64 count, enabled, running;
+	u64 values[5];
+
+	lockdep_assert_held(&ctx->mutex);
 
-	mutex_lock(&ctx->mutex);
 	count = perf_event_read_value(leader, &enabled, &running);
 
 	values[n++] = 1 + leader->nr_siblings;
@@ -3469,7 +3590,7 @@ static int perf_event_read_group(struct
 	size = n * sizeof(u64);
 
 	if (copy_to_user(buf, values, size))
-		goto unlock;
+		return -EFAULT;
 
 	ret = size;
 
@@ -3483,14 +3604,11 @@ static int perf_event_read_group(struct
 		size = n * sizeof(u64);
 
 		if (copy_to_user(buf + ret, values, size)) {
-			ret = -EFAULT;
-			goto unlock;
+			return -EFAULT;
 		}
 
 		ret += size;
 	}
-unlock:
-	mutex_unlock(&ctx->mutex);
 
 	return ret;
 }
@@ -3549,8 +3667,14 @@ static ssize_t
 perf_read(struct file *file, char __user *buf, size_t count, loff_t *ppos)
 {
 	struct perf_event *event = file->private_data;
+	struct perf_event_context *ctx;
+	int ret;
 
-	return perf_read_hw(event, buf, count);
+	ctx = perf_event_ctx_lock(event);
+	ret = perf_read_hw(event, buf, count);
+	perf_event_ctx_unlock(event, ctx);
+
+	return ret;
 }
 
 static unsigned int perf_poll(struct file *file, poll_table *wait)
@@ -3574,7 +3698,7 @@ static unsigned int perf_poll(struct fil
 	return events;
 }
 
-static void perf_event_reset(struct perf_event *event)
+static void _perf_event_reset(struct perf_event *event)
 {
 	(void)perf_event_read(event);
 	local64_set(&event->count, 0);
@@ -3593,6 +3717,7 @@ static void perf_event_for_each_child(st
 	struct perf_event *child;
 
 	WARN_ON_ONCE(event->ctx->parent_ctx);
+
 	mutex_lock(&event->child_mutex);
 	func(event);
 	list_for_each_entry(child, &event->child_list, child_list)
@@ -3606,14 +3731,13 @@ static void perf_event_for_each(struct p
 	struct perf_event_context *ctx = event->ctx;
 	struct perf_event *sibling;
 
-	WARN_ON_ONCE(ctx->parent_ctx);
-	mutex_lock(&ctx->mutex);
+	lockdep_assert_held(&ctx->mutex);
+
 	event = event->group_leader;
 
 	perf_event_for_each_child(event, func);
 	list_for_each_entry(sibling, &event->sibling_list, group_entry)
 		perf_event_for_each_child(sibling, func);
-	mutex_unlock(&ctx->mutex);
 }
 
 struct period_event {
@@ -3725,25 +3849,24 @@ static int perf_event_set_output(struct
 				 struct perf_event *output_event);
 static int perf_event_set_filter(struct perf_event *event, void __user *arg);
 
-static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+static long _perf_ioctl(struct perf_event *event, unsigned int cmd, unsigned long arg)
 {
-	struct perf_event *event = file->private_data;
 	void (*func)(struct perf_event *);
 	u32 flags = arg;
 
 	switch (cmd) {
 	case PERF_EVENT_IOC_ENABLE:
-		func = perf_event_enable;
+		func = _perf_event_enable;
 		break;
 	case PERF_EVENT_IOC_DISABLE:
-		func = perf_event_disable;
+		func = _perf_event_disable;
 		break;
 	case PERF_EVENT_IOC_RESET:
-		func = perf_event_reset;
+		func = _perf_event_reset;
 		break;
 
 	case PERF_EVENT_IOC_REFRESH:
-		return perf_event_refresh(event, arg);
+		return _perf_event_refresh(event, arg);
 
 	case PERF_EVENT_IOC_PERIOD:
 		return perf_event_period(event, (u64 __user *)arg);
@@ -3790,6 +3913,19 @@ static long perf_ioctl(struct file *file
 	return 0;
 }
 
+static long perf_ioctl(struct file *file, unsigned int cmd, unsigned long arg)
+{
+	struct perf_event *event = file->private_data;
+	struct perf_event_context *ctx;
+	long ret;
+
+	ctx = perf_event_ctx_lock(event);
+	ret = _perf_ioctl(event, cmd, arg);
+	perf_event_ctx_unlock(event, ctx);
+
+	return ret;
+}
+
 #ifdef CONFIG_COMPAT
 static long perf_compat_ioctl(struct file *file, unsigned int cmd,
 				unsigned long arg)
@@ -3812,11 +3948,15 @@ static long perf_compat_ioctl(struct fil
 
 int perf_event_task_enable(void)
 {
+	struct perf_event_context *ctx;
 	struct perf_event *event;
 
 	mutex_lock(&current->perf_event_mutex);
-	list_for_each_entry(event, &current->perf_event_list, owner_entry)
-		perf_event_for_each_child(event, perf_event_enable);
+	list_for_each_entry(event, &current->perf_event_list, owner_entry) {
+		ctx = perf_event_ctx_lock(event);
+		perf_event_for_each_child(event, _perf_event_enable);
+		perf_event_ctx_unlock(event, ctx);
+	}
 	mutex_unlock(&current->perf_event_mutex);
 
 	return 0;
@@ -3824,11 +3964,15 @@ int perf_event_task_enable(void)
 
 int perf_event_task_disable(void)
 {
+	struct perf_event_context *ctx;
 	struct perf_event *event;
 
 	mutex_lock(&current->perf_event_mutex);
-	list_for_each_entry(event, &current->perf_event_list, owner_entry)
-		perf_event_for_each_child(event, perf_event_disable);
+	list_for_each_entry(event, &current->perf_event_list, owner_entry) {
+		ctx = perf_event_ctx_lock(event);
+		perf_event_for_each_child(event, _perf_event_disable);
+		perf_event_ctx_unlock(event, ctx);
+	}
 	mutex_unlock(&current->perf_event_mutex);
 
 	return 0;
@@ -7158,6 +7302,15 @@ out:
 	return ret;
 }
 
+static void mutex_lock_double(struct mutex *a, struct mutex *b)
+{
+	if (b < a)
+		swap(a, b);
+
+	mutex_lock(a);
+	mutex_lock_nested(b, SINGLE_DEPTH_NESTING);
+}
+
 /**
  * sys_perf_event_open - open a performance event, associate it to a task/cpu
  *
@@ -7173,7 +7326,7 @@ SYSCALL_DEFINE5(perf_event_open,
 	struct perf_event *group_leader = NULL, *output_event = NULL;
 	struct perf_event *event, *sibling;
 	struct perf_event_attr attr;
-	struct perf_event_context *ctx;
+	struct perf_event_context *ctx, *uninitialized_var(gctx);
 	struct file *event_file = NULL;
 	struct fd group = {NULL, 0};
 	struct task_struct *task = NULL;
@@ -7369,9 +7522,14 @@ SYSCALL_DEFINE5(perf_event_open,
 	}
 
 	if (move_group) {
-		struct perf_event_context *gctx = group_leader->ctx;
+		gctx = group_leader->ctx;
+
+		/*
+		 * See perf_event_ctx_lock() for comments on the details
+		 * of swizzling perf_event::ctx.
+		 */
+		mutex_lock_double(&gctx->mutex, &ctx->mutex);
 
-		mutex_lock(&gctx->mutex);
 		perf_remove_from_context(group_leader, false);
 
 		/*
@@ -7386,15 +7544,19 @@ SYSCALL_DEFINE5(perf_event_open,
 			perf_event__state_init(sibling);
 			put_ctx(gctx);
 		}
-		mutex_unlock(&gctx->mutex);
-		put_ctx(gctx);
+	} else {
+		mutex_lock(&ctx->mutex);
 	}
 
 	WARN_ON_ONCE(ctx->parent_ctx);
-	mutex_lock(&ctx->mutex);
 
 	if (move_group) {
+		/*
+		 * Wait for everybody to stop referencing the events through
+		 * the old lists, before installing it on new lists.
+		 */
 		synchronize_rcu();
+
 		perf_install_in_context(ctx, group_leader, group_leader->cpu);
 		get_ctx(ctx);
 		list_for_each_entry(sibling, &group_leader->sibling_list,
@@ -7406,6 +7568,11 @@ SYSCALL_DEFINE5(perf_event_open,
 
 	perf_install_in_context(ctx, event, event->cpu);
 	perf_unpin_context(ctx);
+
+	if (move_group) {
+		mutex_unlock(&gctx->mutex);
+		put_ctx(gctx);
+	}
 	mutex_unlock(&ctx->mutex);
 
 	put_online_cpus();
@@ -7508,7 +7675,11 @@ void perf_pmu_migrate_context(struct pmu
 	src_ctx = &per_cpu_ptr(pmu->pmu_cpu_context, src_cpu)->ctx;
 	dst_ctx = &per_cpu_ptr(pmu->pmu_cpu_context, dst_cpu)->ctx;
 
-	mutex_lock(&src_ctx->mutex);
+	/*
+	 * See perf_event_ctx_lock() for comments on the details
+	 * of swizzling perf_event::ctx.
+	 */
+	mutex_lock_double(&src_ctx->mutex, &dst_ctx->mutex);
 	list_for_each_entry_safe(event, tmp, &src_ctx->event_list,
 				 event_entry) {
 		perf_remove_from_context(event, false);
@@ -7516,11 +7687,9 @@ void perf_pmu_migrate_context(struct pmu
 		put_ctx(src_ctx);
 		list_add(&event->migrate_entry, &events);
 	}
-	mutex_unlock(&src_ctx->mutex);
 
 	synchronize_rcu();
 
-	mutex_lock(&dst_ctx->mutex);
 	list_for_each_entry_safe(event, tmp, &events, migrate_entry) {
 		list_del(&event->migrate_entry);
 		if (event->state >= PERF_EVENT_STATE_OFF)
@@ -7530,6 +7699,7 @@ void perf_pmu_migrate_context(struct pmu
 		get_ctx(dst_ctx);
 	}
 	mutex_unlock(&dst_ctx->mutex);
+	mutex_unlock(&src_ctx->mutex);
 }
 EXPORT_SYMBOL_GPL(perf_pmu_migrate_context);
 

  parent reply	other threads:[~2017-02-15 23:13 UTC|newest]

Thread overview: 313+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-15 22:41 [PATCH 3.16 000/306] 3.16.40-rc1 review Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 116/306] Set previous session id correctly on SMB3 reconnect Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 213/306] mmc: mxs: Initialize the spinlock prior to using it Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 218/306] rtnl: reset calcit fptr in rtnl_unregister() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 243/306] IB/mlx5: Fix NULL pointer dereference on debug print Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 265/306] net/mlx4: Fix uninitialized fields in rule when adding promiscuous mode to device managed flow steering Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 266/306] pwm: Fix device reference leak Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 176/306] lib/genalloc.c: start search from start of chunk Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 223/306] swapfile: fix memory corruption via malformed swapfile Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 005/306] drm/i915/vlv: Make intel_crt_reset() per-encoder Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 123/306] ASoC: cs4270: fix DAPM stream name mismatch Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 207/306] iio: hid-sensors: Fix compilation warning Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 103/306] mm/hugetlb: fix memory offline with hugepage size > memory block size Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 118/306] Clarify locking of cifs file and tcon structures and make more granular Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 041/306] ARM: pxa: fix GPIO double shifts Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 222/306] ALSA: hda - Fix mic regression by ASRock mobo fixup Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 249/306] net: ethernet: ti: cpsw: fix mdio device reference leak Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 080/306] s390/con3270: fix use of uninitialised data Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 044/306] dm: mark request_queue dead before destroying the DM device Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 202/306] firewire: net: fix fragmented datagram_size off-by-one Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 097/306] async_pq_val: fix DMA memory leak Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 239/306] IB/cm: Mark stale CM id's whenever the mad agent was unregistered Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 081/306] s390/con3270: fix insufficient space padding Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 209/306] USB: serial: ftdi_sio: add support for TI CC3200 LaunchPad Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 099/306] netlink: do not enter direct reclaim from netlink_dump() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 127/306] drm/radeon: change vblank_time's calculation method to reduce computational error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 142/306] Input: i8042 - add XMG C504 to keyboard reset table Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 051/306] pkt_sched: fq: use proper locking in fq_dump_stats() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 227/306] neigh: check error pointer instead of NULL for ipv4_neigh_lookup() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 155/306] ACPI / APEI: Fix incorrect return value of ghes_proc() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 251/306] KVM: Disable irq while unregistering user notifier Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 119/306] Do not send SMB3 SET_INFO request if nothing is changing Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 008/306] zfcp: fix fc_host port_type with NPIV Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 261/306] mpi: Fix NULL ptr dereference in mpi_powm() [ver #3] Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 139/306] isofs: Do not return EACCES for unknown filesystems Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 093/306] powerpc/powernv: Use CPU-endian PEST in pnv_pci_dump_p7ioc_diag_data() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 147/306] xhci: add restart quirk for Intel Wildcatpoint PCH Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 108/306] x86/panic: replace smp_send_stop() with kdump friendly version in panic path Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 178/306] KVM: x86: fix wbinvd_dirty_mask use-after-free Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 168/306] scsi: arcmsr: Send SYNCHRONIZE_CACHE command to firmware Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 260/306] KVM: x86: drop error recovery in em_jmp_far and em_ret_far Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 234/306] rtnetlink: fix rtnl_vfinfo_size Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 232/306] usb: chipidea: move the lock initialization to core file Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 025/306] arm64: debug: avoid resetting stepping state machine when TIF_SINGLESTEP Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 039/306] pstore/ram: Use memcpy_fromio() to save old buffer Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 069/306] mmc: moxart: fix wait_for_completion_interruptible_timeout return variable type Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 199/306] PM / sleep: fix device reference leak in test_suspend Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 158/306] scsi: megaraid_sas: Fix data integrity failure for JBOD (passthrough) devices Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 048/306] ARM: dts: exynos: Fix mismatched value for SD4 pull up/down configuration on exynos4210 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 132/306] mmc: rtsx_usb_sdmmc: Handle runtime PM while changing the led Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 047/306] arc: don't leak bits of kernel stack into coredump Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 193/306] ipv6: Don't use ufo handling on later transformed packets Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 224/306] coredump: fix unfreezable coredumping task Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 164/306] MIPS: KVM: Fix unused variable build warning Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 066/306] blkcg: Annotate blkg_hint correctly Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 220/306] USB: cdc-acm: fix TIOCMIWAIT Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 145/306] target: Make EXTENDED_COPY 0xe4 failure return COPY TARGET DEVICE NOT REACHABLE Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 170/306] tty: vt, fix bogus division in csi_J Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 021/306] net: systemport: Fix ordering in intrl2_*_mask_clear macro Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 186/306] net/mlx4_en: Process all completions in RX rings after port goes up Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 101/306] IB/srp: Fix infinite loop when FMR sg[0].offset != 0 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 196/306] usb: gadget: u_ether: remove interrupt throttling Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 077/306] drm/radeon/si/dpm: fix phase shedding setup Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 247/306] cfg80211: limit scan results cache size Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 270/306] locking/rtmutex: Prevent dequeue vs. unlock race Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 244/306] IB/mlx4: Fix create CQ error flow Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 018/306] clk: divider: Fix clk_divider_round_rate() to use clk_readl() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 233/306] igmp: do not remove igmp souce list info when set link down Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 090/306] ubi: Fix races around ubi_refill_pools() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 010/306] zfcp: close window with unblocked rport during rport gone Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 150/306] USB: serial: fix potential NULL-dereference at probe Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 120/306] Cleanup missing frees on some ioctls Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 156/306] dm table: fix missing dm_put_target_type() in dm_table_add_target() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 169/306] ALSA: usb-audio: Add quirk for Syntek STK1160 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 230/306] fuse: fix fuse_write_end() if zero bytes were copied Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 002/306] xfs: Propagate dentry down to inode_change_ok() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 003/306] fuse: " Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 175/306] btrfs: fix races on root_log_ctx lists Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 073/306] KVM: PPC: Book3s PR: Allow access to unprivileged MMCR2 register Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 203/306] HID: usbhid: Add HID_QUIRK_NOGET for Aten DVI KVM switch Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 198/306] gpio/mvebu: Use irq_domain_add_linear Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 221/306] PM / sleep: don't suspend parent when async child suspend_{noirq, late} fails Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 094/306] mfd: wm8350-i2c: Make sure the i2c regmap functions are compiled Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 229/306] Fix USB CB/CBI storage devices with CONFIG_VMAP_STACK=y Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 065/306] svcrdma: Tail iovec leaves an orphaned DMA mapping Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 200/306] ip6_tunnel: Clear IP6CB in ip6tunnel_xmit() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 042/306] phy: sun4i-usb: Use spinlock to guard phyctl register access Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 273/306] ipv6: Set skb->protocol properly for local output Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 181/306] md: be careful not lot leak internal curr_resync value into metadata. -- (all) Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 173/306] netfilter: nf_conntrack_sip: extend request line validation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 238/306] IB/uverbs: Fix leak of XRC target QPs Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 087/306] staging: rtl8188eu: fix double unlock error in rtw_resume_process() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 060/306] [media] dvb-usb: avoid link error with dib3000m{b,c| Ben Hutchings
2017-02-16  8:31   ` Arnd Bergmann
2017-02-16 16:07     ` Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 014/306] zfcp: restore tracing of handle for port and LUN with HBA records Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 245/306] mwifiex: printk() overflow with 32-byte SSIDs Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 246/306] of_mdio: fix node leak in of_phy_register_fixed_link error path Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 082/306] fuse: invalidate dir dentry after chmod Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 050/306] sctp: do not return the transmit err back to sctp_sendmsg Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 235/306] mfd: core: Fix device reference leak in mfd_clone_cell Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 009/306] zfcp: fix ELS/GS request&response length for hardware data router Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 131/306] mmc: rtsx_usb_sdmmc: Avoid keeping the device runtime resumed when unused Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 217/306] scripts/has-stack-protector: add -fno-PIE Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 030/306] rtlwifi: Fix missing country code for Great Britain Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 184/306] net/mlx4_core: Fix the resource-type enum in res tracker to conform to FW spec Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 020/306] PCI: Mark Atheros AR9580 to avoid bus reset Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 167/306] scsi: scsi_debug: Fix memory leak if LBP enabled and module is unloaded Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 133/306] memstick: rtsx_usb_ms: Runtime resume the device when polling for cards Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 049/306] reiserfs: Unlock superblock before calling reiserfs_quota_on_mount() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 121/306] fs/super.c: fix race between freeze_super() and thaw_super() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 212/306] staging: nvec: remove managed resource from PS2 driver Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 154/306] ipv4: use the right lock for ping_group_range Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 033/306] [media] mb86a20s: fix demod settings Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 152/306] arm64: KVM: Take S1 walks into account when determining S2 write faults Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 067/306] regulator: tps65910: Work around silicon erratum SWCZ010 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 075/306] NFSv4: Open state recovery must account for file permission changes Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 263/306] parisc: Also flush data TLB in flush_icache_page_asm Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 106/306] powerpc/pseries: Fix stack corruption in htpe code Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 160/306] ALSA: hda - Fix surround output pins for ASRock B150M mobo Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 013/306] zfcp: trace on request for open and close of WKA port Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 122/306] mmc: core: Annotate cmd_hdr as __le32 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 134/306] memstick: rtsx_usb_ms: Manage runtime PM when accessing the device Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 040/306] ipv4: accept u8 in IP_TOS ancillary data Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 179/306] GenWQE: Fix bad page access during abort of resource allocation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 177/306] s390/hypfs: Use get_free_page() instead of kmalloc to ensure page alignment Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 259/306] x86/apic/uv: Silence a shift wrapping warning Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 079/306] ext4: release bh in make_indexed_dir Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 076/306] Revert "usbtmc: convert to devm_kzalloc" Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 084/306] fuse: listxattr: verify xattr list Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 182/306] net/mlx5: Avoid passing dma address 0 to firmware Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 063/306] netfilter: nft_exthdr: Add size check on u8 nft_exthdr attributes Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 096/306] mfd: rtsx_usb: Avoid setting ucr->current_sg.status Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 057/306] net/mlx4_en: Fix wrong indentation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 098/306] mm: filemap: fix mapping->nrpages double accounting in fuse Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 055/306] ALSA: ali5451: Fix out-of-bound position reporting Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 255/306] apparmor: fix change_hat not finding hat after policy replacement Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 023/306] uio: fix dmem_region_start computation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 171/306] tty: limit terminal size to 4M chars Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 026/306] perf symbols: Fixup symbol sizes before picking best ones Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 128/306] ipv6: correctly add local routes when lo goes up Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 242/306] IB/mlx5: Resolve soft lock on massive reg MRs Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 046/306] ext4: bugfix for mmaped pages in mpage_release_unused_pages() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 264/306] net: ethernet: mvneta: Remove IFF_UNICAST_FLT which is not implemented Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 110/306] compiler: Allow 1- and 2-byte smp_load_acquire() and smp_store_release() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 226/306] scsi: mpt3sas: Fix secure erase premature termination Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 157/306] mei: txe: don't clean an unprocessed interrupt cause Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 219/306] ALSA: hda - add a new condition to check if it is thinkpad Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 205/306] ipv4: allow local fragmentation in ip_finish_output_gso() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 114/306] Display number of credits available Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 006/306] drm/i915/vlv: Reset the ADPA in vlv_display_power_well_init() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 031/306] pwm: Unexport children before chip removal Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 187/306] net/mlx4_en: Fix potential deadlock in port statistics flow Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 053/306] scsi: ibmvfc: Fix I/O hang when port is not mapped Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 166/306] drm/radeon/si_dpm: workaround for SI kickers Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 174/306] netfilter: nf_tables: fix type mismatch with error return from nft_parse_u32_check Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 228/306] ipv4: use new_gw for redirect neigh lookup Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 085/306] crypto: gcm - Fix IV buffer size in crypto_gcm_setkey Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 257/306] tile: avoid using clocksource_cyc2ns with absolute cycle count Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 045/306] dm mpath: check if path's request_queue is dying in activate_path() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 262/306] parisc: Fix race in pci-dma.c Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 016/306] zfcp: fix payload trace length for SAN request&response Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 272/306] ipv4: Set skb->protocol properly for local output Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 088/306] UBI: fastmap: scrub PEB when bitflips are detected in a free PEB EC header Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 197/306] uwb: fix device reference leaks Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 052/306] iommu/amd: Free domain id when free a domain of struct dma_ops_domain Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 035/306] [media] cx231xx: fix GPIOs for Pixelview SBTVD hybrid Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 015/306] zfcp: fix D_ID field with actual value on tracing SAN responses Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 248/306] net: ethernet: ti: cpsw: fix bad register access in probe error path Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 059/306] drm/radeon: narrow asic_init for virtualization Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 007/306] fbdev/efifb: Fix 16 color palette entry calculation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 138/306] ALSA: hda - allow 40 bit DMA mask for NVidia devices Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 105/306] vfs,mm: fix a dead loop in truncate_inode_pages_range() Ben Hutchings
2017-02-16  1:25   ` Wei Fang
2017-02-16 16:01     ` Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 092/306] i40e: avoid NULL pointer dereference and recursive errors on early PCI error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 267/306] netfilter: arp_tables: fix invoking 32bit "iptable -P INPUT ACCEPT" failed in 64bit kernel Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 225/306] dib0700: fix nec repeat handling Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 151/306] drm/radeon/si_dpm: Limit clocks on HD86xx part Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 190/306] virtio: console: Unlock vqs while freeing buffers Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 061/306] powerpc/eeh: Null check uses of eeh_pe_bus_get Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 254/306] l2tp: fix racy SOCK_ZAPPED flag check in l2tp_ip{,6}_bind() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 214/306] net: ethernet: ti: cpsw: fix device and of_node leaks Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 011/306] zfcp: retain trace level for SCSI and HBA FSF response records Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 258/306] xc2028: Fix use-after-free bug properly Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 211/306] Revert "staging: nvec: ps2: change serio type to passthrough" Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 271/306] packet: fix race condition in packet_set_ring Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 195/306] bgmac: stop clearing DMA receive control register right after it is set Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 062/306] ALSA: usb-audio: Extend DragonFly dB scale quirk to cover other variants Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 241/306] IB/mlx5: Use cache line size to select CQE stride Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 141/306] hwrng: core - Don't use a stack buffer in add_early_randomness() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 109/306] mips/panic: replace smp_send_stop() with kdump friendly version in panic path Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 117/306] SMB3: GUIDs should be constructed as random but valid uuids Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 268/306] powerpc/eeh: Fix deadlock when PE frozen state can't be cleared Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 086/306] staging: rtl8188eu: fix missing unlock on error in rtw_resume_process() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 068/306] ALSA: hda - Adding one more ALC255 pin definition for headset problem Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 115/306] cifs: Limit the overall credit acquired Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 095/306] mfd: 88pm80x: Double shifting bug in suspend/resume Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 240/306] IB/core: Avoid unsigned int overflow in sg_alloc_table Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 113/306] MIPS: ptrace: Fix regs_return_value for kernel context Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 072/306] KVM: PPC: BookE: Fix a sanity check Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 206/306] i2c: core: fix NULL pointer dereference under race condition Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 185/306] net/mlx4_en: Resolve dividing by zero in 32-bit system Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 256/306] x86/traps: Ignore high word of regs->cs in early_fixup_exception() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 144/306] ubifs: Abort readdir upon error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 034/306] [media] cx231xx: don't return error on success Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 001/306] Revert "fs: Give dentry to inode_change_ok() instead of inode" Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 126/306] jbd2: fix incorrect unlock on j_list_lock Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 027/306] ASoC: dapm: Fix value setting for _ENUM_DOUBLE MUX's second channel Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 162/306] drm/radeon: drop register readback in cayman_cp_int_cntl_setup Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 107/306] powerpc/64: Fix incorrect return value from __copy_tofrom_user Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 032/306] [media] mb86a20s: fix the locking logic Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 215/306] kbuild: add -fno-PIE Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 091/306] ubi: Fix Fastmap's update_vol() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 028/306] genirq/generic_chip: Add irq_unmap callback Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 161/306] staging: iio: ad5933: avoid uninitialized variable in error case Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 135/306] USB: serial: ftdi_sio: add support for Infineon TriBoard TC2X7 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 089/306] ubi: Deal with interrupted erasures in WL Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 029/306] rtlwifi: Update regulatory database Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 104/306] mm/hugetlb: check for reserved hugepages during memory offline Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 083/306] fuse: fix killing s[ug]id in setattr Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 269/306] batman-adv: Check for alloc errors when preparing TT local data Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 149/306] batman-adv: fix splat on disabling an interface Ben Hutchings
2017-02-16  7:43   ` Sven Eckelmann
2017-02-15 22:41 ` [PATCH 3.16 148/306] xhci: workaround for hosts missing CAS bit Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 201/306] parisc: Ensure consistent state when switching to kernel stack at syscall entry Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 252/306] KVM: x86: fix missed SRCU usage in kvm_lapic_set_vapic_addr Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 180/306] ubifs: Fix regression in ubifs_readdir() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 022/306] netfilter: restart search if moved to other chain Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 136/306] arm64: kernel: Init MDCR_EL2 even in the absence of a PMU Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 024/306] platform: don't return 0 from platform_get_irq[_byname]() on error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 210/306] drivers: staging: nvec: remove bogus reset command for PS/2 interface Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 191/306] netfilter: nf_tables: destroy the set if fail to add transaction Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 102/306] Input: elantech - add Fujitsu Lifebook E556 to force crc_enabled Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 038/306] pstore/ram: Use memcpy_toio instead of memcpy Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 137/306] netfilter: nf_tables: underflow in nft_parse_u32_check() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 111/306] ipc: remove use of seq_printf return value Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 129/306] scsi: zfcp: spin_lock_irqsave() is not nestable Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 017/306] zfcp: trace full payload of all SAN records (req,resp,iels) Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 112/306] ipc/sem.c: fix complex_count vs. simple op race Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 204/306] HID: usbhid: add ATEN CS962 to list of quirky devices Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 216/306] scsi: megaraid_sas: fix macro MEGASAS_IS_LOGICAL to avoid regression Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 250/306] net: ethernet: ti: cpsw: fix secondary-emac probe error path Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 143/306] ubifs: Fix xattr_names length in exit paths Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 192/306] mei: bus: fix received data size check in NFC fixup Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 231/306] kbuild: Steal gcc's pie from the very beginning Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 078/306] powerpc/vdso64: Use double word compare on pointers Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 019/306] x86/dumpstack: Fix x86_32 kernel_stack_pointer() previous stack access Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 159/306] hv: do not lose pending heartbeat vmbus packets Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 071/306] KVM: PPC: Book3S: Treat VTB as a per-subcore register, not per-thread Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 153/306] powerpc: Convert cmp to cmpd in idle enter sequence Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 146/306] target: Don't override EXTENDED_COPY xcopy_pt_cmd SCSI status code Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 172/306] vt: clear selection before resizing Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 130/306] mmc: sdhci: cast unsigned int to unsigned long long to avoid unexpeted error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 004/306] fs: Give dentry to inode_change_ok() instead of inode Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 074/306] USB: serial: cp210x: Add ID for a Juniper console Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 037/306] pstore/core: drop cmpxchg based updates Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 188/306] m68k: Fix ndelay() macro Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 140/306] bridge: multicast: restore perm router ports on multicast enable Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 237/306] nvme/pci: Don't free queues on error Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 056/306] usb: misc: legousbtower: Fix NULL pointer deference Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 236/306] USB: serial: cp210x: add ID for the Zone DPMX Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 054/306] powerpc/nvram: Fix an incorrect partition merge Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 253/306] ext4: sanity check the block and cluster size at mount time Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 064/306] netfilter: nf_tables: validate maximum value of u32 netlink attributes Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 036/306] ext4: reinforce check of i_dtime when clearing high fields of uid and gid Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 043/306] xfs: change mailing list address Ben Hutchings
2017-02-17  4:19   ` Dave Chinner
2017-03-06 18:23     ` Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 124/306] scsi: Fix use-after-free Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 058/306] net/mlx4_core: Fix deadlock when switching between polling and event fw commands Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 194/306] can: bcm: fix warning in bcm_connect/proc_register Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 100/306] metag: Only define atomic_dec_if_positive conditionally Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 189/306] iommu/vt-d: Fix IOMMU lookup for SR-IOV Virtual Functions Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 208/306] iio: hid-sensors: Increase the precision of scale to fix wrong reading interpretation Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 125/306] mac80211: discard multicast and 4-addr A-MSDUs Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 012/306] zfcp: restore: Dont use 0 to indicate invalid LUN in rec trace Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 183/306] packet: on direct_xmit, limit tso and csum to supported devices Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 070/306] mmc: block: don't use CMD23 with very old MMC cards Ben Hutchings
2017-02-15 22:41 ` Ben Hutchings [this message]
2017-02-15 22:41 ` [PATCH 3.16 278/306] net: ep93xx_eth: Do not crash unloading module Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 304/306] sg_write()/bsg_write() is not fit to be called under KERNEL_DS Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 284/306] can: peak: fix bad memory access and free sequence Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 293/306] HID: core: prevent out-of-bound readings Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 285/306] ser_gigaset: return -ENOMEM on error instead of success Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 302/306] sysctl: Drop reference added by grab_header in proc_sys_readdir Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 276/306] tipc: check minimum bearer MTU Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 281/306] parisc: Purge TLB before setting PTE Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 306/306] ALSA: pcm : Call kill_fasync() in stream lock Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 287/306] perf: Fix race in swevent hash Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 283/306] can: raw: raw_setsockopt: limit number of can_filter that can be set Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 305/306] net: avoid signed overflows for SO_{SND|RCV}BUFFORCE Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 299/306] tcp: take care of truncations done by sk_filter() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 301/306] Fix potential infoleak in older kernels Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 296/306] net: Add __sock_queue_rcv_skb() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 292/306] usb: gadget: f_fs: Fix use-after-free Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 282/306] parisc: Remove unnecessary TLB purges from flush_dcache_page_asm and flush_icache_page_asm Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 298/306] dccp: limit sk_filter trim to payload Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 297/306] rose: " Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 275/306] sh_eth: remove unchecked interrupts for RZ/A1 Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 295/306] fbdev: color map copying bounds checking Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 291/306] perf/core: Fix concurrent sys_perf_event_open() vs. 'move_group' race Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 288/306] tty: Prevent ldisc drivers from re-using stale tty fields Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 274/306] net: bcmgenet: Utilize correct struct device for all DMA operations Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 290/306] perf: Do not double free Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 294/306] netfilter: nfnetlink: correctly validate length of batch messages Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 279/306] perf/x86: Fix full width counter, counter overflow Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 300/306] staging/android/ion : fix a race condition in the ion driver Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 303/306] sctp: validate chunk len before actually using it Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 280/306] fuse: fix clearing suid, sgid for chown() Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 286/306] sg: Fix double-free when drives detach during SG_IO Ben Hutchings
2017-02-15 22:41 ` [PATCH 3.16 277/306] net: ping: check minimum size on ICMP header length Ben Hutchings
2017-02-16  0:04 ` [PATCH 3.16 000/306] 3.16.40-rc1 review 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.1487198501.676590514@decadent.org.uk \
    --to=ben@decadent.org.uk \
    --cc=acme@kernel.org \
    --cc=akpm@linux-foundation.org \
    --cc=jolsa@redhat.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=mingo@kernel.org \
    --cc=paulmck@linux.vnet.ibm.com \
    --cc=peterz@infradead.org \
    --cc=stable@vger.kernel.org \
    --cc=torvalds@linux-foundation.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

Powered by JetHome