linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	"Peter Zijlstra (Intel)" <peterz@infradead.org>,
	Song Liu <song@kernel.org>, Namhyung Kim <namhyung@kernel.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 5.16 129/200] perf: Fix perf_event_read_local() time
Date: Mon, 31 Jan 2022 11:56:32 +0100	[thread overview]
Message-ID: <20220131105237.895431338@linuxfoundation.org> (raw)
In-Reply-To: <20220131105233.561926043@linuxfoundation.org>

From: Peter Zijlstra <peterz@infradead.org>

[ Upstream commit 09f5e7dc7ad705289e1b1ec065439aa3c42951c4 ]

Time readers that cannot take locks (due to NMI etc..) currently make
use of perf_event::shadow_ctx_time, which, for that event gives:

  time' = now + (time - timestamp)

or, alternatively arranged:

  time' = time + (now - timestamp)

IOW, the progression of time since the last time the shadow_ctx_time
was updated.

There's problems with this:

 A) the shadow_ctx_time is per-event, even though the ctx_time it
    reflects is obviously per context. The direct concequence of this
    is that the context needs to iterate all events all the time to
    keep the shadow_ctx_time in sync.

 B) even with the prior point, the context itself might not be active
    meaning its time should not advance to begin with.

 C) shadow_ctx_time isn't consistently updated when ctx_time is

There are 3 users of this stuff, that suffer differently from this:

 - calc_timer_values()
   - perf_output_read()
   - perf_event_update_userpage()	/* A */

 - perf_event_read_local()		/* A,B */

In particular, perf_output_read() doesn't suffer at all, because it's
sample driven and hence only relevant when the event is actually
running.

This same was supposed to be true for perf_event_update_userpage(),
after all self-monitoring implies the context is active *HOWEVER*, as
per commit f79256532682 ("perf/core: fix userpage->time_enabled of
inactive events") this goes wrong when combined with counter
overcommit, in that case those events that do not get scheduled when
the context becomes active (task events typically) miss out on the
EVENT_TIME update and ENABLED time is inflated (for a little while)
with the time the context was inactive. Once the event gets rotated
in, this gets corrected, leading to a non-monotonic timeflow.

perf_event_read_local() made things even worse, it can request time at
any point, suffering all the problems perf_event_update_userpage()
does and more. Because while perf_event_update_userpage() is limited
by the context being active, perf_event_read_local() users have no
such constraint.

Therefore, completely overhaul things and do away with
perf_event::shadow_ctx_time. Instead have regular context time updates
keep track of this offset directly and provide perf_event_time_now()
to complement perf_event_time().

perf_event_time_now() will, in adition to being context wide, also
take into account if the context is active. For inactive context, it
will not advance time.

This latter property means the cgroup perf_cgroup_info context needs
to grow addition state to track this.

Additionally, since all this is strictly per-cpu, we can use barrier()
to order context activity vs context time.

Fixes: 7d9285e82db5 ("perf/bpf: Extend the perf_event_read_local() interface, a.k.a. "bpf: perf event change needed for subsequent bpf helpers"")
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Tested-by: Song Liu <song@kernel.org>
Tested-by: Namhyung Kim <namhyung@kernel.org>
Link: https://lkml.kernel.org/r/YcB06DasOBtU0b00@hirez.programming.kicks-ass.net
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 include/linux/perf_event.h |  15 +--
 kernel/events/core.c       | 246 ++++++++++++++++++++++---------------
 2 files changed, 149 insertions(+), 112 deletions(-)

diff --git a/include/linux/perf_event.h b/include/linux/perf_event.h
index 318c489b735bc..d7f927f8c335d 100644
--- a/include/linux/perf_event.h
+++ b/include/linux/perf_event.h
@@ -681,18 +681,6 @@ struct perf_event {
 	u64				total_time_running;
 	u64				tstamp;
 
-	/*
-	 * timestamp shadows the actual context timing but it can
-	 * be safely used in NMI interrupt context. It reflects the
-	 * context time as it was when the event was last scheduled in,
-	 * or when ctx_sched_in failed to schedule the event because we
-	 * run out of PMC.
-	 *
-	 * ctx_time already accounts for ctx->timestamp. Therefore to
-	 * compute ctx_time for a sample, simply add perf_clock().
-	 */
-	u64				shadow_ctx_time;
-
 	struct perf_event_attr		attr;
 	u16				header_size;
 	u16				id_header_size;
@@ -839,6 +827,7 @@ struct perf_event_context {
 	 */
 	u64				time;
 	u64				timestamp;
+	u64				timeoffset;
 
 	/*
 	 * These fields let us detect when two contexts have both
@@ -921,6 +910,8 @@ struct bpf_perf_event_data_kern {
 struct perf_cgroup_info {
 	u64				time;
 	u64				timestamp;
+	u64				timeoffset;
+	int				active;
 };
 
 struct perf_cgroup {
diff --git a/kernel/events/core.c b/kernel/events/core.c
index 63f0414666438..a0064dd706538 100644
--- a/kernel/events/core.c
+++ b/kernel/events/core.c
@@ -674,6 +674,23 @@ perf_event_set_state(struct perf_event *event, enum perf_event_state state)
 	WRITE_ONCE(event->state, state);
 }
 
+/*
+ * UP store-release, load-acquire
+ */
+
+#define __store_release(ptr, val)					\
+do {									\
+	barrier();							\
+	WRITE_ONCE(*(ptr), (val));					\
+} while (0)
+
+#define __load_acquire(ptr)						\
+({									\
+	__unqual_scalar_typeof(*(ptr)) ___p = READ_ONCE(*(ptr));	\
+	barrier();							\
+	___p;								\
+})
+
 #ifdef CONFIG_CGROUP_PERF
 
 static inline bool
@@ -719,34 +736,51 @@ static inline u64 perf_cgroup_event_time(struct perf_event *event)
 	return t->time;
 }
 
-static inline void __update_cgrp_time(struct perf_cgroup *cgrp)
+static inline u64 perf_cgroup_event_time_now(struct perf_event *event, u64 now)
 {
-	struct perf_cgroup_info *info;
-	u64 now;
-
-	now = perf_clock();
+	struct perf_cgroup_info *t;
 
-	info = this_cpu_ptr(cgrp->info);
+	t = per_cpu_ptr(event->cgrp->info, event->cpu);
+	if (!__load_acquire(&t->active))
+		return t->time;
+	now += READ_ONCE(t->timeoffset);
+	return now;
+}
 
-	info->time += now - info->timestamp;
+static inline void __update_cgrp_time(struct perf_cgroup_info *info, u64 now, bool adv)
+{
+	if (adv)
+		info->time += now - info->timestamp;
 	info->timestamp = now;
+	/*
+	 * see update_context_time()
+	 */
+	WRITE_ONCE(info->timeoffset, info->time - info->timestamp);
 }
 
-static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx)
+static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx, bool final)
 {
 	struct perf_cgroup *cgrp = cpuctx->cgrp;
 	struct cgroup_subsys_state *css;
+	struct perf_cgroup_info *info;
 
 	if (cgrp) {
+		u64 now = perf_clock();
+
 		for (css = &cgrp->css; css; css = css->parent) {
 			cgrp = container_of(css, struct perf_cgroup, css);
-			__update_cgrp_time(cgrp);
+			info = this_cpu_ptr(cgrp->info);
+
+			__update_cgrp_time(info, now, true);
+			if (final)
+				__store_release(&info->active, 0);
 		}
 	}
 }
 
 static inline void update_cgrp_time_from_event(struct perf_event *event)
 {
+	struct perf_cgroup_info *info;
 	struct perf_cgroup *cgrp;
 
 	/*
@@ -760,8 +794,10 @@ static inline void update_cgrp_time_from_event(struct perf_event *event)
 	/*
 	 * Do not update time when cgroup is not active
 	 */
-	if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup))
-		__update_cgrp_time(event->cgrp);
+	if (cgroup_is_descendant(cgrp->css.cgroup, event->cgrp->css.cgroup)) {
+		info = this_cpu_ptr(event->cgrp->info);
+		__update_cgrp_time(info, perf_clock(), true);
+	}
 }
 
 static inline void
@@ -785,7 +821,8 @@ perf_cgroup_set_timestamp(struct task_struct *task,
 	for (css = &cgrp->css; css; css = css->parent) {
 		cgrp = container_of(css, struct perf_cgroup, css);
 		info = this_cpu_ptr(cgrp->info);
-		info->timestamp = ctx->timestamp;
+		__update_cgrp_time(info, ctx->timestamp, false);
+		__store_release(&info->active, 1);
 	}
 }
 
@@ -981,14 +1018,6 @@ out:
 	return ret;
 }
 
-static inline void
-perf_cgroup_set_shadow_time(struct perf_event *event, u64 now)
-{
-	struct perf_cgroup_info *t;
-	t = per_cpu_ptr(event->cgrp->info, event->cpu);
-	event->shadow_ctx_time = now - t->timestamp;
-}
-
 static inline void
 perf_cgroup_event_enable(struct perf_event *event, struct perf_event_context *ctx)
 {
@@ -1066,7 +1095,8 @@ static inline void update_cgrp_time_from_event(struct perf_event *event)
 {
 }
 
-static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx)
+static inline void update_cgrp_time_from_cpuctx(struct perf_cpu_context *cpuctx,
+						bool final)
 {
 }
 
@@ -1098,12 +1128,12 @@ perf_cgroup_switch(struct task_struct *task, struct task_struct *next)
 {
 }
 
-static inline void
-perf_cgroup_set_shadow_time(struct perf_event *event, u64 now)
+static inline u64 perf_cgroup_event_time(struct perf_event *event)
 {
+	return 0;
 }
 
-static inline u64 perf_cgroup_event_time(struct perf_event *event)
+static inline u64 perf_cgroup_event_time_now(struct perf_event *event, u64 now)
 {
 	return 0;
 }
@@ -1525,22 +1555,59 @@ static void perf_unpin_context(struct perf_event_context *ctx)
 /*
  * Update the record of the current time in a context.
  */
-static void update_context_time(struct perf_event_context *ctx)
+static void __update_context_time(struct perf_event_context *ctx, bool adv)
 {
 	u64 now = perf_clock();
 
-	ctx->time += now - ctx->timestamp;
+	if (adv)
+		ctx->time += now - ctx->timestamp;
 	ctx->timestamp = now;
+
+	/*
+	 * The above: time' = time + (now - timestamp), can be re-arranged
+	 * into: time` = now + (time - timestamp), which gives a single value
+	 * offset to compute future time without locks on.
+	 *
+	 * See perf_event_time_now(), which can be used from NMI context where
+	 * it's (obviously) not possible to acquire ctx->lock in order to read
+	 * both the above values in a consistent manner.
+	 */
+	WRITE_ONCE(ctx->timeoffset, ctx->time - ctx->timestamp);
+}
+
+static void update_context_time(struct perf_event_context *ctx)
+{
+	__update_context_time(ctx, true);
 }
 
 static u64 perf_event_time(struct perf_event *event)
 {
 	struct perf_event_context *ctx = event->ctx;
 
+	if (unlikely(!ctx))
+		return 0;
+
 	if (is_cgroup_event(event))
 		return perf_cgroup_event_time(event);
 
-	return ctx ? ctx->time : 0;
+	return ctx->time;
+}
+
+static u64 perf_event_time_now(struct perf_event *event, u64 now)
+{
+	struct perf_event_context *ctx = event->ctx;
+
+	if (unlikely(!ctx))
+		return 0;
+
+	if (is_cgroup_event(event))
+		return perf_cgroup_event_time_now(event, now);
+
+	if (!(__load_acquire(&ctx->is_active) & EVENT_TIME))
+		return ctx->time;
+
+	now += READ_ONCE(ctx->timeoffset);
+	return now;
 }
 
 static enum event_type_t get_event_type(struct perf_event *event)
@@ -2346,7 +2413,7 @@ __perf_remove_from_context(struct perf_event *event,
 
 	if (ctx->is_active & EVENT_TIME) {
 		update_context_time(ctx);
-		update_cgrp_time_from_cpuctx(cpuctx);
+		update_cgrp_time_from_cpuctx(cpuctx, false);
 	}
 
 	event_sched_out(event, cpuctx, ctx);
@@ -2357,6 +2424,9 @@ __perf_remove_from_context(struct perf_event *event,
 	list_del_event(event, ctx);
 
 	if (!ctx->nr_events && ctx->is_active) {
+		if (ctx == &cpuctx->ctx)
+			update_cgrp_time_from_cpuctx(cpuctx, true);
+
 		ctx->is_active = 0;
 		ctx->rotate_necessary = 0;
 		if (ctx->task) {
@@ -2478,40 +2548,6 @@ void perf_event_disable_inatomic(struct perf_event *event)
 	irq_work_queue(&event->pending);
 }
 
-static void perf_set_shadow_time(struct perf_event *event,
-				 struct perf_event_context *ctx)
-{
-	/*
-	 * use the correct time source for the time snapshot
-	 *
-	 * We could get by without this by leveraging the
-	 * fact that to get to this function, the caller
-	 * has most likely already called update_context_time()
-	 * and update_cgrp_time_xx() and thus both timestamp
-	 * are identical (or very close). Given that tstamp is,
-	 * already adjusted for cgroup, we could say that:
-	 *    tstamp - ctx->timestamp
-	 * is equivalent to
-	 *    tstamp - cgrp->timestamp.
-	 *
-	 * Then, in perf_output_read(), the calculation would
-	 * work with no changes because:
-	 * - event is guaranteed scheduled in
-	 * - no scheduled out in between
-	 * - thus the timestamp would be the same
-	 *
-	 * But this is a bit hairy.
-	 *
-	 * So instead, we have an explicit cgroup call to remain
-	 * within the time source all along. We believe it
-	 * is cleaner and simpler to understand.
-	 */
-	if (is_cgroup_event(event))
-		perf_cgroup_set_shadow_time(event, event->tstamp);
-	else
-		event->shadow_ctx_time = event->tstamp - ctx->timestamp;
-}
-
 #define MAX_INTERRUPTS (~0ULL)
 
 static void perf_log_throttle(struct perf_event *event, int enable);
@@ -2552,8 +2588,6 @@ event_sched_in(struct perf_event *event,
 
 	perf_pmu_disable(event->pmu);
 
-	perf_set_shadow_time(event, ctx);
-
 	perf_log_itrace_start(event);
 
 	if (event->pmu->add(event, PERF_EF_START)) {
@@ -3247,16 +3281,6 @@ static void ctx_sched_out(struct perf_event_context *ctx,
 		return;
 	}
 
-	ctx->is_active &= ~event_type;
-	if (!(ctx->is_active & EVENT_ALL))
-		ctx->is_active = 0;
-
-	if (ctx->task) {
-		WARN_ON_ONCE(cpuctx->task_ctx != ctx);
-		if (!ctx->is_active)
-			cpuctx->task_ctx = NULL;
-	}
-
 	/*
 	 * Always update time if it was set; not only when it changes.
 	 * Otherwise we can 'forget' to update time for any but the last
@@ -3270,7 +3294,22 @@ static void ctx_sched_out(struct perf_event_context *ctx,
 	if (is_active & EVENT_TIME) {
 		/* update (and stop) ctx time */
 		update_context_time(ctx);
-		update_cgrp_time_from_cpuctx(cpuctx);
+		update_cgrp_time_from_cpuctx(cpuctx, ctx == &cpuctx->ctx);
+		/*
+		 * CPU-release for the below ->is_active store,
+		 * see __load_acquire() in perf_event_time_now()
+		 */
+		barrier();
+	}
+
+	ctx->is_active &= ~event_type;
+	if (!(ctx->is_active & EVENT_ALL))
+		ctx->is_active = 0;
+
+	if (ctx->task) {
+		WARN_ON_ONCE(cpuctx->task_ctx != ctx);
+		if (!ctx->is_active)
+			cpuctx->task_ctx = NULL;
 	}
 
 	is_active ^= ctx->is_active; /* changed bits */
@@ -3707,13 +3746,19 @@ static noinline int visit_groups_merge(struct perf_cpu_context *cpuctx,
 	return 0;
 }
 
+/*
+ * Because the userpage is strictly per-event (there is no concept of context,
+ * so there cannot be a context indirection), every userpage must be updated
+ * when context time starts :-(
+ *
+ * IOW, we must not miss EVENT_TIME edges.
+ */
 static inline bool event_update_userpage(struct perf_event *event)
 {
 	if (likely(!atomic_read(&event->mmap_count)))
 		return false;
 
 	perf_event_update_time(event);
-	perf_set_shadow_time(event, event->ctx);
 	perf_event_update_userpage(event);
 
 	return true;
@@ -3797,13 +3842,23 @@ ctx_sched_in(struct perf_event_context *ctx,
 	     struct task_struct *task)
 {
 	int is_active = ctx->is_active;
-	u64 now;
 
 	lockdep_assert_held(&ctx->lock);
 
 	if (likely(!ctx->nr_events))
 		return;
 
+	if (is_active ^ EVENT_TIME) {
+		/* start ctx time */
+		__update_context_time(ctx, false);
+		perf_cgroup_set_timestamp(task, ctx);
+		/*
+		 * CPU-release for the below ->is_active store,
+		 * see __load_acquire() in perf_event_time_now()
+		 */
+		barrier();
+	}
+
 	ctx->is_active |= (event_type | EVENT_TIME);
 	if (ctx->task) {
 		if (!is_active)
@@ -3814,13 +3869,6 @@ ctx_sched_in(struct perf_event_context *ctx,
 
 	is_active ^= ctx->is_active; /* changed bits */
 
-	if (is_active & EVENT_TIME) {
-		/* start ctx time */
-		now = perf_clock();
-		ctx->timestamp = now;
-		perf_cgroup_set_timestamp(task, ctx);
-	}
-
 	/*
 	 * First go through the list and put on any pinned groups
 	 * in order to give them the best chance of going on.
@@ -4414,6 +4462,18 @@ static inline u64 perf_event_count(struct perf_event *event)
 	return local64_read(&event->count) + atomic64_read(&event->child_count);
 }
 
+static void calc_timer_values(struct perf_event *event,
+				u64 *now,
+				u64 *enabled,
+				u64 *running)
+{
+	u64 ctx_time;
+
+	*now = perf_clock();
+	ctx_time = perf_event_time_now(event, *now);
+	__perf_update_times(event, ctx_time, enabled, running);
+}
+
 /*
  * NMI-safe method to read a local event, that is an event that
  * is:
@@ -4473,10 +4533,9 @@ int perf_event_read_local(struct perf_event *event, u64 *value,
 
 	*value = local64_read(&event->count);
 	if (enabled || running) {
-		u64 now = event->shadow_ctx_time + perf_clock();
-		u64 __enabled, __running;
+		u64 __enabled, __running, __now;;
 
-		__perf_update_times(event, now, &__enabled, &__running);
+		calc_timer_values(event, &__now, &__enabled, &__running);
 		if (enabled)
 			*enabled = __enabled;
 		if (running)
@@ -5798,18 +5857,6 @@ static int perf_event_index(struct perf_event *event)
 	return event->pmu->event_idx(event);
 }
 
-static void calc_timer_values(struct perf_event *event,
-				u64 *now,
-				u64 *enabled,
-				u64 *running)
-{
-	u64 ctx_time;
-
-	*now = perf_clock();
-	ctx_time = event->shadow_ctx_time + *now;
-	__perf_update_times(event, ctx_time, enabled, running);
-}
-
 static void perf_event_init_userpage(struct perf_event *event)
 {
 	struct perf_event_mmap_page *userpg;
@@ -6349,7 +6396,6 @@ accounting:
 		ring_buffer_attach(event, rb);
 
 		perf_event_update_time(event);
-		perf_set_shadow_time(event, event->ctx);
 		perf_event_init_userpage(event);
 		perf_event_update_userpage(event);
 	} else {
-- 
2.34.1




  parent reply	other threads:[~2022-01-31 11:36 UTC|newest]

Thread overview: 218+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-01-31 10:54 [PATCH 5.16 000/200] 5.16.5-rc1 review Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 001/200] Bluetooth: refactor malicious adv data check Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 002/200] btrfs: fix too long loop when defragging a 1 byte file Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 003/200] btrfs: allow defrag to be interruptible Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 004/200] btrfs: defrag: fix wrong number of defragged sectors Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 005/200] btrfs: defrag: properly update range->start for autodefrag Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 006/200] btrfs: fix deadlock when reserving space during defrag Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 007/200] btrfs: add back missing dirty page rate limiting to defrag Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 008/200] btrfs: update writeback index when starting defrag Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 009/200] can: m_can: m_can_fifo_{read,write}: dont read or write from/to FIFO if length is 0 Greg Kroah-Hartman
2022-02-14 15:34   ` Michael Anochin
2022-01-31 10:54 ` [PATCH 5.16 010/200] net: sfp: ignore disabled SFP node Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 011/200] net: stmmac: configure PTP clock source prior to PTP initialization Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 012/200] net: stmmac: skip only stmmac_ptp_register when resume from suspend Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 013/200] ARM: 9179/1: uaccess: avoid alignment faults in copy_[from|to]_kernel_nofault Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 014/200] ARM: 9180/1: Thumb2: align ALT_UP() sections in modules sufficiently Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 015/200] KVM: arm64: Use shadow SPSR_EL1 when injecting exceptions on !VHE Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 016/200] KVM: arm64: vgic-v3: Restrict SEIS workaround to known broken systems Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 017/200] s390/module: fix loading modules with a lot of relocations Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 018/200] s390/hypfs: include z/VM guests with access control group set Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 019/200] s390/nmi: handle guarded storage validity failures for KVM guests Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 020/200] s390/nmi: handle vector " Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 021/200] bpf: Guard against accessing NULL pt_regs in bpf_get_task_stack() Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 022/200] powerpc32/bpf: Fix codegen for bpf-to-bpf calls Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 023/200] powerpc/bpf: Update ldimm64 instructions during extra pass Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 024/200] ucount: Make get_ucount a safe get_user replacement Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 025/200] scsi: zfcp: Fix failed recovery on gone remote port with non-NPIV FCP devices Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 026/200] udf: Restore i_lenAlloc when inode expansion fails Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 027/200] udf: Fix NULL ptr deref when converting from inline format Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 028/200] efi: runtime: avoid EFIv2 runtime services on Apple x86 machines Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 029/200] PM: wakeup: simplify the output logic of pm_show_wakelocks() Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 030/200] tracing/histogram: Fix a potential memory leak for kstrdup() Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 031/200] tracing: Propagate is_signed to expression Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 032/200] tracing: Dont inc err_log entry count if entry allocation fails Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 033/200] ceph: properly put ceph_string reference after async create attempt Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 034/200] ceph: set pool_ns in new inode layout for async creates Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 035/200] fsnotify: invalidate dcache before IN_DELETE event Greg Kroah-Hartman
2022-01-31 10:54 ` [PATCH 5.16 036/200] fsnotify: fix fsnotify hooks in pseudo filesystems Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 037/200] Revert "KVM: SVM: avoid infinite loop on NPF from bad address" Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 038/200] psi: Fix uaf issue when psi trigger is destroyed while being polled Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 039/200] powerpc/audit: Fix syscall_get_arch() Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 040/200] perf/x86/intel/uncore: Fix CAS_COUNT_WRITE issue for ICX Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 041/200] perf/x86/intel: Add a quirk for the calculation of the number of counters on Alder Lake Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 042/200] drm/etnaviv: relax submit size limits Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 043/200] drm/atomic: Add the crtc to affected crtc only if uapi.enable = true Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 044/200] drm/amdgpu: filter out radeon secondary ids as well Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 045/200] drm/amdgpu/display: Remove t_srx_delay_us Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 046/200] drm/amd/display: Fix FP start/end for dcn30_internal_validate_bw Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 047/200] drm/amd/display: Wrap dcn301_calculate_wm_and_dlg for FPU Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 048/200] KVM: LAPIC: Also cancel preemption timer during SET_LAPIC Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 049/200] KVM: SVM: Never reject emulation due to SMAP errata for !SEV guests Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 050/200] KVM: SVM: Dont intercept #GP for SEV guests Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 051/200] KVM: x86: nSVM: skip eax alignment check for non-SVM instructions Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 052/200] KVM: x86: Move CPUID.(EAX=0x12,ECX=1) mangling to __kvm_update_cpuid_runtime() Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 053/200] KVM: x86: Free kvm_cpuid_entry2 array on post-KVM_RUN KVM_SET_CPUID{,2} Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 054/200] KVM: x86: Forcibly leave nested virt when SMM state is toggled Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 055/200] KVM: x86: Check .flags in kvm_cpuid_check_equal() too Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 056/200] KVM: x86: Keep MSR_IA32_XSS unchanged for INIT Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 057/200] KVM: x86: Update vCPUs runtime CPUID on write to MSR_IA32_XSS Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 058/200] KVM: x86: Sync the states size with the XCR0/IA32_XSS at, any time Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 059/200] KVM: PPC: Book3S HV Nested: Fix nested HFSCR being clobbered with multiple vCPUs Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 060/200] security, lsm: dentry_init_security() Handle multi LSM registration Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 061/200] arm64: extable: fix load_unaligned_zeropad() reg indices Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 062/200] dm: revert partial fix for redundant bio-based IO accounting Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 063/200] block: add bio_start_io_acct_time() to control start_time Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 064/200] dm: properly fix redundant bio-based IO accounting Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 065/200] serial: pl011: Fix incorrect rs485 RTS polarity on set_mctrl Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 066/200] serial: 8250: of: Fix mapped region size when using reg-offset property Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 067/200] serial: stm32: fix software flow control transfer Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 068/200] tty: rpmsg: Fix race condition releasing tty port Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 069/200] tty: n_gsm: fix SW flow control encoding/handling Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 070/200] tty: Partially revert the removal of the Cyclades public API Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 071/200] tty: Add support for Brainboxes UC cards Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 072/200] kbuild: remove include/linux/cyclades.h from header file check Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 073/200] usb-storage: Add unusual-devs entry for VL817 USB-SATA bridge Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 074/200] usb: xhci-plat: fix crash when suspend if remote wake enable Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 075/200] usb: common: ulpi: Fix crash in ulpi_match() Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 076/200] usb: gadget: f_sourcesink: Fix isoc transfer for USB_SPEED_SUPER_PLUS Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 077/200] usb: cdnsp: Fix segmentation fault in cdns_lost_power function Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 078/200] usb: dwc3: xilinx: Skip resets and USB3 register settings for USB2.0 mode Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 079/200] usb: dwc3: xilinx: Fix error handling when getting USB3 PHY Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 080/200] USB: core: Fix hang in usb_kill_urb by adding memory barriers Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 081/200] usb: typec: tcpci: dont touch CC line if its Vconn source Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 082/200] usb: typec: tcpm: Do not disconnect while receiving VBUS off Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 083/200] usb: typec: tcpm: Do not disconnect when receiving VSAFE0V Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 084/200] ucsi_ccg: Check DEV_INT bit only when starting CCG4 Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 085/200] mt76: connac: introduce MCU_CE_CMD macro Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 086/200] mm, kasan: use compare-exchange operation to set KASAN page tag Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 087/200] jbd2: export jbd2_journal_[grab|put]_journal_head Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 088/200] ocfs2: fix a deadlock when commit trans Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 089/200] sched/membarrier: Fix membarrier-rseq fence command missing from query bitmask Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 090/200] PCI/sysfs: Find shadow ROM before static attribute initialization Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 091/200] x86/MCE/AMD: Allow thresholding interface updates after init Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 092/200] x86/cpu: Add Xeon Icelake-D to list of CPUs that support PPIN Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 093/200] powerpc/32s: Allocate one 256k IBAT instead of two consecutives 128k IBATs Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 094/200] powerpc/32s: Fix kasan_init_region() for KASAN Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 095/200] powerpc/32: Fix boot failure with GCC latent entropy plugin Greg Kroah-Hartman
2022-01-31 10:55 ` [PATCH 5.16 096/200] i40e: Increase delay to 1 s after global EMP reset Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 097/200] i40e: Fix issue when maximum queues is exceeded Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 098/200] i40e: Fix queues reservation for XDP Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 099/200] i40e: Fix for failed to init adminq while VF reset Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 100/200] i40e: fix unsigned stat widths Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 101/200] usb: roles: fix include/linux/usb/role.h compile issue Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 102/200] rpmsg: char: Fix race between the release of rpmsg_ctrldev and cdev Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 103/200] rpmsg: char: Fix race between the release of rpmsg_eptdev " Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 104/200] scsi: elx: efct: Dont use GFP_KERNEL under spin lock Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 105/200] scsi: bnx2fc: Flush destroy_work queue before calling bnx2fc_interface_put() Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 106/200] ipv6_tunnel: Rate limit warning messages Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 107/200] ARM: 9170/1: fix panic when kasan and kprobe are enabled Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 108/200] net: fix information leakage in /proc/net/ptype Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 109/200] hwmon: (lm90) Mark alert as broken for MAX6646/6647/6649 Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 110/200] hwmon: (lm90) Mark alert as broken for MAX6680 Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 111/200] ping: fix the sk_bound_dev_if match in ping_lookup Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 112/200] ipv4: avoid using shared IP generator for connected sockets Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 113/200] hwmon: (lm90) Reduce maximum conversion rate for G781 Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 114/200] NFSv4: Handle case where the lookup of a directory fails Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 115/200] NFSv4: nfs_atomic_open() can race when looking up a non-regular file Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 116/200] net-procfs: show net devices bound packet types Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 117/200] drm/msm: Fix wrong size calculation Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 118/200] drm/msm/dsi: Fix missing put_device() call in dsi_get_phy Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 119/200] drm/msm/dsi: invalid parameter check in msm_dsi_phy_enable Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 120/200] ipv6: annotate accesses to fn->fn_sernum Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 121/200] NFS: Ensure the server has an up to date ctime before hardlinking Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 122/200] NFS: Ensure the server has an up to date ctime before renaming Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 123/200] KVM: arm64: pkvm: Use the mm_ops indirection for cache maintenance Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 124/200] SUNRPC: Dont dereference xprt->snd_task if its a cookie Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 125/200] powerpc64/bpf: Limit ldbrx to processors compliant with ISA v2.06 Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 126/200] netfilter: conntrack: dont increment invalid counter on NF_REPEAT Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 127/200] remoteproc: qcom: q6v5: fix service routines build errors Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 128/200] powerpc/64s: Mask SRR0 before checking against the masked NIP Greg Kroah-Hartman
2022-01-31 10:56 ` Greg Kroah-Hartman [this message]
2022-01-31 10:56 ` [PATCH 5.16 130/200] sched/pelt: Relax the sync of util_sum with util_avg Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 131/200] net: phy: broadcom: hook up soft_reset for BCM54616S Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 132/200] ethtool: Fix link extended state for big endian Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 133/200] net: stmmac: dwmac-visconti: Fix bit definitions for ETHER_CLK_SEL Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 134/200] net: stmmac: dwmac-visconti: Fix clock configuration for RMII mode Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 135/200] phylib: fix potential use-after-free Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 136/200] mptcp: allow changing the "backup" bit by endpoint id Greg Kroah-Hartman
2022-01-31 19:41   ` Mat Martineau
2022-01-31 10:56 ` [PATCH 5.16 137/200] mptcp: clean up harmless false expressions Greg Kroah-Hartman
2022-01-31 19:51   ` Mat Martineau
2022-01-31 10:56 ` [PATCH 5.16 138/200] mptcp: keep track of local endpoint still available for each msk Greg Kroah-Hartman
2022-01-31 19:36   ` Mat Martineau
2022-02-01 14:30     ` Greg Kroah-Hartman
2022-02-01 14:32       ` Greg Kroah-Hartman
2022-02-01 22:23         ` Mat Martineau
2022-02-03 14:50           ` Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 139/200] mptcp: fix msk traversal in mptcp_nl_cmd_set_flags() Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 140/200] mptcp: fix removing ids bitmap setting Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 141/200] selftests: mptcp: fix ipv6 routing setup Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 142/200] octeontx2-af: Do not fixup all VF action entries Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 143/200] octeontx2-af: Fix LBK backpressure id count Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 144/200] octeontx2-af: Retry until RVU block reset complete Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 145/200] octeontx2-af: cn10k: Use appropriate register for LMAC enable Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 146/200] octeontx2-pf: cn10k: Ensure valid pointers are freed to aura Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 147/200] octeontx2-af: Increase link credit restore polling timeout Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 148/200] octeontx2-af: cn10k: Do not enable RPM loopback for LPC interfaces Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 149/200] octeontx2-pf: Forward error codes to VF Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 150/200] octeontx2-af: Add KPU changes to parse NGIO as separate layer Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 151/200] rxrpc: Adjust retransmission backoff Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 152/200] efi/libstub: arm64: Fix image check alignment at entry Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 153/200] io_uring: fix bug in slow unregistering of nodes Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 154/200] block: fix memory leak in disk_register_independent_access_ranges Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 155/200] Drivers: hv: balloon: account for vmbus packet header in max_pkt_size Greg Kroah-Hartman
2022-01-31 10:56 ` [PATCH 5.16 156/200] hwmon: (lm90) Re-enable interrupts after alert clears Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 157/200] hwmon: (lm90) Mark alert as broken for MAX6654 Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 158/200] hwmon: (lm90) Fix sysfs and udev notifications Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 159/200] hwmon: (adt7470) Prevent divide by zero in adt7470_fan_write() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 160/200] powerpc/perf: Fix power_pmu_disable to call clear_pmi_irq_pending only if PMI is pending Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 161/200] ipv4: fix ip option filtering for locally generated fragments Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 162/200] ibmvnic: Allow extra failures before disabling Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 163/200] ibmvnic: init ->running_cap_crqs early Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 164/200] ibmvnic: dont spin in tasklet Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 165/200] net/smc: Transitional solution for clcsock race issue Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 166/200] video: hyperv_fb: Fix validation of screen resolution Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 167/200] can: tcan4x5x: regmap: fix max register value Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 168/200] hwmon: (nct6775) Fix crash in clear_caseopen Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 169/200] drm/msm/hdmi: Fix missing put_device() call in msm_hdmi_get_phy Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 170/200] drm/msm/dpu: invalid parameter check in dpu_setup_dspp_pcc Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 171/200] drm/msm/a6xx: Add missing suspend_count increment Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 172/200] yam: fix a memory leak in yam_siocdevprivate() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 173/200] net: cpsw: Properly initialise struct page_pool_params Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 174/200] net: hns3: handle empty unknown interrupt for VF Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 175/200] KVM: selftests: Re-enable access_tracking_perf_test Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 176/200] sch_htb: Fail on unsupported parameters when offload is requested Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 177/200] Revert "drm/ast: Support 1600x900 with 108MHz PCLK" Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 178/200] KVM: selftests: Dont skip L2s VMCALL in SMM test for SVM guest Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 179/200] ceph: put the requests/sessions when it fails to alloc memory Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 180/200] gve: Fix GFP flags when allocing pages Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 181/200] Revert "ipv6: Honor all IPv6 PIO Valid Lifetime values" Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 182/200] net: bridge: vlan: fix single net device option dumping Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 183/200] ipv4: raw: lock the socket in raw_bind() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 184/200] ipv4: tcp: send zero IPID in SYNACK messages Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 185/200] ipv4: remove sparse error in ip_neigh_gw4() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 186/200] net: bridge: vlan: fix memory leak in __allowed_ingress Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 187/200] irqchip/realtek-rtl: Map control data to virq Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 188/200] irqchip/realtek-rtl: Fix off-by-one in routing Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 189/200] dt-bindings: can: tcan4x5x: fix mram-cfg RX FIFO config Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 190/200] PCI: mt7621: Remove unused function pcie_rmw() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 191/200] perf/core: Fix cgroup event list management Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 192/200] psi: fix "no previous prototype" warnings when CONFIG_CGROUPS=n Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 193/200] psi: fix "defined but not used" warnings when CONFIG_PROC_FS=n Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 194/200] usb: dwc3: xilinx: fix uninitialized return value Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 195/200] usr/include/Makefile: add linux/nfc.h to the compile-test coverage Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 196/200] tools/testing/scatterlist: add missing defines Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 197/200] KVM: nVMX: Rename vmcs_to_field_offset{,_table} Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 198/200] KVM: nVMX: Implement evmcs_field_offset() suitable for handle_vmread() Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 199/200] KVM: nVMX: Allow VMREAD when Enlightened VMCS is in use Greg Kroah-Hartman
2022-01-31 10:57 ` [PATCH 5.16 200/200] block: Fix wrong offset in bio_truncate() Greg Kroah-Hartman
2022-01-31 19:19 ` [PATCH 5.16 000/200] 5.16.5-rc1 review Naresh Kamboju
2022-01-31 22:15 ` Shuah Khan
2022-01-31 23:10 ` Florian Fainelli
2022-02-01  1:29 ` Zan Aziz
2022-02-01  4:29 ` Guenter Roeck
2022-02-01  6:35 ` Ron Economos
2022-02-01 10:11 ` Bagas Sanjaya
2022-02-01 10:22 ` Rudi Heitbaum
2022-02-01 22:20 ` Fox Chen

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=20220131105237.895431338@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=namhyung@kernel.org \
    --cc=peterz@infradead.org \
    --cc=sashal@kernel.org \
    --cc=song@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

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

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