patches.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: stable@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	patches@lists.linux.dev, Andrew Werner <awerner32@gmail.com>,
	Andrii Nakryiko <andrii@kernel.org>,
	Eduard Zingerman <eddyz87@gmail.com>,
	Alexei Starovoitov <ast@kernel.org>
Subject: [PATCH 6.6 157/331] bpf: verify callbacks as if they are called unknown number of times
Date: Mon, 29 Jan 2024 09:03:41 -0800	[thread overview]
Message-ID: <20240129170019.516063027@linuxfoundation.org> (raw)
In-Reply-To: <20240129170014.969142961@linuxfoundation.org>

6.6-stable review patch.  If anyone has any objections, please let me know.

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

From: Eduard Zingerman <eddyz87@gmail.com>

commit ab5cfac139ab8576fb54630d4cca23c3e690ee90 upstream.

Prior to this patch callbacks were handled as regular function calls,
execution of callback body was modeled exactly once.
This patch updates callbacks handling logic as follows:
- introduces a function push_callback_call() that schedules callback
  body verification in env->head stack;
- updates prepare_func_exit() to reschedule callback body verification
  upon BPF_EXIT;
- as calls to bpf_*_iter_next(), calls to callback invoking functions
  are marked as checkpoints;
- is_state_visited() is updated to stop callback based iteration when
  some identical parent state is found.

Paths with callback function invoked zero times are now verified first,
which leads to necessity to modify some selftests:
- the following negative tests required adding release/unlock/drop
  calls to avoid previously masked unrelated error reports:
  - cb_refs.c:underflow_prog
  - exceptions_fail.c:reject_rbtree_add_throw
  - exceptions_fail.c:reject_with_cp_reference
- the following precision tracking selftests needed change in expected
  log trace:
  - verifier_subprog_precision.c:callback_result_precise
    (note: r0 precision is no longer propagated inside callback and
           I think this is a correct behavior)
  - verifier_subprog_precision.c:parent_callee_saved_reg_precise_with_callback
  - verifier_subprog_precision.c:parent_stack_slot_precise_with_callback

Reported-by: Andrew Werner <awerner32@gmail.com>
Closes: https://lore.kernel.org/bpf/CA+vRuzPChFNXmouzGG+wsy=6eMcfr1mFG0F3g7rbg-sedGKW3w@mail.gmail.com/
Acked-by: Andrii Nakryiko <andrii@kernel.org>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20231121020701.26440-7-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/bpf_verifier.h                                   |    5 
 kernel/bpf/verifier.c                                          |  272 ++++++----
 tools/testing/selftests/bpf/progs/cb_refs.c                    |    1 
 tools/testing/selftests/bpf/progs/verifier_subprog_precision.c |   71 ++
 4 files changed, 237 insertions(+), 112 deletions(-)

--- a/include/linux/bpf_verifier.h
+++ b/include/linux/bpf_verifier.h
@@ -399,6 +399,7 @@ struct bpf_verifier_state {
 	struct bpf_idx_pair *jmp_history;
 	u32 jmp_history_cnt;
 	u32 dfs_depth;
+	u32 callback_unroll_depth;
 };
 
 #define bpf_get_spilled_reg(slot, frame)				\
@@ -506,6 +507,10 @@ struct bpf_insn_aux_data {
 	 * this instruction, regardless of any heuristics
 	 */
 	bool force_checkpoint;
+	/* true if instruction is a call to a helper function that
+	 * accepts callback function as a parameter.
+	 */
+	bool calls_callback;
 };
 
 #define MAX_USED_MAPS 64 /* max number of maps accessed by one eBPF program */
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -542,12 +542,11 @@ static bool is_dynptr_ref_function(enum
 	return func_id == BPF_FUNC_dynptr_data;
 }
 
-static bool is_callback_calling_kfunc(u32 btf_id);
+static bool is_sync_callback_calling_kfunc(u32 btf_id);
 
-static bool is_callback_calling_function(enum bpf_func_id func_id)
+static bool is_sync_callback_calling_function(enum bpf_func_id func_id)
 {
 	return func_id == BPF_FUNC_for_each_map_elem ||
-	       func_id == BPF_FUNC_timer_set_callback ||
 	       func_id == BPF_FUNC_find_vma ||
 	       func_id == BPF_FUNC_loop ||
 	       func_id == BPF_FUNC_user_ringbuf_drain;
@@ -558,6 +557,18 @@ static bool is_async_callback_calling_fu
 	return func_id == BPF_FUNC_timer_set_callback;
 }
 
+static bool is_callback_calling_function(enum bpf_func_id func_id)
+{
+	return is_sync_callback_calling_function(func_id) ||
+	       is_async_callback_calling_function(func_id);
+}
+
+static bool is_sync_callback_calling_insn(struct bpf_insn *insn)
+{
+	return (bpf_helper_call(insn) && is_sync_callback_calling_function(insn->imm)) ||
+	       (bpf_pseudo_kfunc_call(insn) && is_sync_callback_calling_kfunc(insn->imm));
+}
+
 static bool is_storage_get_function(enum bpf_func_id func_id)
 {
 	return func_id == BPF_FUNC_sk_storage_get ||
@@ -1772,6 +1783,7 @@ static int copy_verifier_state(struct bp
 	dst_state->first_insn_idx = src->first_insn_idx;
 	dst_state->last_insn_idx = src->last_insn_idx;
 	dst_state->dfs_depth = src->dfs_depth;
+	dst_state->callback_unroll_depth = src->callback_unroll_depth;
 	dst_state->used_as_loop_entry = src->used_as_loop_entry;
 	for (i = 0; i <= src->curframe; i++) {
 		dst = dst_state->frame[i];
@@ -3613,6 +3625,8 @@ static void fmt_stack_mask(char *buf, ss
 	}
 }
 
+static bool calls_callback(struct bpf_verifier_env *env, int insn_idx);
+
 /* For given verifier state backtrack_insn() is called from the last insn to
  * the first insn. Its purpose is to compute a bitmask of registers and
  * stack slots that needs precision in the parent verifier state.
@@ -3788,16 +3802,13 @@ static int backtrack_insn(struct bpf_ver
 					return -EFAULT;
 				return 0;
 			}
-		} else if ((bpf_helper_call(insn) &&
-			    is_callback_calling_function(insn->imm) &&
-			    !is_async_callback_calling_function(insn->imm)) ||
-			   (bpf_pseudo_kfunc_call(insn) && is_callback_calling_kfunc(insn->imm))) {
-			/* callback-calling helper or kfunc call, which means
-			 * we are exiting from subprog, but unlike the subprog
-			 * call handling above, we shouldn't propagate
-			 * precision of r1-r5 (if any requested), as they are
-			 * not actually arguments passed directly to callback
-			 * subprogs
+		} else if (is_sync_callback_calling_insn(insn) && idx != subseq_idx - 1) {
+			/* exit from callback subprog to callback-calling helper or
+			 * kfunc call. Use idx/subseq_idx check to discern it from
+			 * straight line code backtracking.
+			 * Unlike the subprog call handling above, we shouldn't
+			 * propagate precision of r1-r5 (if any requested), as they are
+			 * not actually arguments passed directly to callback subprogs
 			 */
 			if (bt_reg_mask(bt) & ~BPF_REGMASK_ARGS) {
 				verbose(env, "BUG regs %x\n", bt_reg_mask(bt));
@@ -3832,10 +3843,18 @@ static int backtrack_insn(struct bpf_ver
 		} else if (opcode == BPF_EXIT) {
 			bool r0_precise;
 
+			/* Backtracking to a nested function call, 'idx' is a part of
+			 * the inner frame 'subseq_idx' is a part of the outer frame.
+			 * In case of a regular function call, instructions giving
+			 * precision to registers R1-R5 should have been found already.
+			 * In case of a callback, it is ok to have R1-R5 marked for
+			 * backtracking, as these registers are set by the function
+			 * invoking callback.
+			 */
+			if (subseq_idx >= 0 && calls_callback(env, subseq_idx))
+				for (i = BPF_REG_1; i <= BPF_REG_5; i++)
+					bt_clear_reg(bt, i);
 			if (bt_reg_mask(bt) & BPF_REGMASK_ARGS) {
-				/* if backtracing was looking for registers R1-R5
-				 * they should have been found already.
-				 */
 				verbose(env, "BUG regs %x\n", bt_reg_mask(bt));
 				WARN_ONCE(1, "verifier backtracking bug");
 				return -EFAULT;
@@ -9218,11 +9237,11 @@ err_out:
 	return err;
 }
 
-static int __check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
-			     int *insn_idx, int subprog,
-			     set_callee_state_fn set_callee_state_cb)
+static int push_callback_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
+			      int insn_idx, int subprog,
+			      set_callee_state_fn set_callee_state_cb)
 {
-	struct bpf_verifier_state *state = env->cur_state;
+	struct bpf_verifier_state *state = env->cur_state, *callback_state;
 	struct bpf_func_state *caller, *callee;
 	int err;
 
@@ -9230,43 +9249,21 @@ static int __check_func_call(struct bpf_
 	err = btf_check_subprog_call(env, subprog, caller->regs);
 	if (err == -EFAULT)
 		return err;
-	if (subprog_is_global(env, subprog)) {
-		if (err) {
-			verbose(env, "Caller passes invalid args into func#%d\n",
-				subprog);
-			return err;
-		} else {
-			if (env->log.level & BPF_LOG_LEVEL)
-				verbose(env,
-					"Func#%d is global and valid. Skipping.\n",
-					subprog);
-			clear_caller_saved_regs(env, caller->regs);
-
-			/* All global functions return a 64-bit SCALAR_VALUE */
-			mark_reg_unknown(env, caller->regs, BPF_REG_0);
-			caller->regs[BPF_REG_0].subreg_def = DEF_NOT_SUBREG;
-
-			/* continue with next insn after call */
-			return 0;
-		}
-	}
 
 	/* set_callee_state is used for direct subprog calls, but we are
 	 * interested in validating only BPF helpers that can call subprogs as
 	 * callbacks
 	 */
-	if (set_callee_state_cb != set_callee_state) {
-		if (bpf_pseudo_kfunc_call(insn) &&
-		    !is_callback_calling_kfunc(insn->imm)) {
-			verbose(env, "verifier bug: kfunc %s#%d not marked as callback-calling\n",
-				func_id_name(insn->imm), insn->imm);
-			return -EFAULT;
-		} else if (!bpf_pseudo_kfunc_call(insn) &&
-			   !is_callback_calling_function(insn->imm)) { /* helper */
-			verbose(env, "verifier bug: helper %s#%d not marked as callback-calling\n",
-				func_id_name(insn->imm), insn->imm);
-			return -EFAULT;
-		}
+	if (bpf_pseudo_kfunc_call(insn) &&
+	    !is_sync_callback_calling_kfunc(insn->imm)) {
+		verbose(env, "verifier bug: kfunc %s#%d not marked as callback-calling\n",
+			func_id_name(insn->imm), insn->imm);
+		return -EFAULT;
+	} else if (!bpf_pseudo_kfunc_call(insn) &&
+		   !is_callback_calling_function(insn->imm)) { /* helper */
+		verbose(env, "verifier bug: helper %s#%d not marked as callback-calling\n",
+			func_id_name(insn->imm), insn->imm);
+		return -EFAULT;
 	}
 
 	if (insn->code == (BPF_JMP | BPF_CALL) &&
@@ -9277,25 +9274,76 @@ static int __check_func_call(struct bpf_
 		/* there is no real recursion here. timer callbacks are async */
 		env->subprog_info[subprog].is_async_cb = true;
 		async_cb = push_async_cb(env, env->subprog_info[subprog].start,
-					 *insn_idx, subprog);
+					 insn_idx, subprog);
 		if (!async_cb)
 			return -EFAULT;
 		callee = async_cb->frame[0];
 		callee->async_entry_cnt = caller->async_entry_cnt + 1;
 
 		/* Convert bpf_timer_set_callback() args into timer callback args */
-		err = set_callee_state_cb(env, caller, callee, *insn_idx);
+		err = set_callee_state_cb(env, caller, callee, insn_idx);
 		if (err)
 			return err;
 
+		return 0;
+	}
+
+	/* for callback functions enqueue entry to callback and
+	 * proceed with next instruction within current frame.
+	 */
+	callback_state = push_stack(env, env->subprog_info[subprog].start, insn_idx, false);
+	if (!callback_state)
+		return -ENOMEM;
+
+	err = setup_func_entry(env, subprog, insn_idx, set_callee_state_cb,
+			       callback_state);
+	if (err)
+		return err;
+
+	callback_state->callback_unroll_depth++;
+	return 0;
+}
+
+static int check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
+			   int *insn_idx)
+{
+	struct bpf_verifier_state *state = env->cur_state;
+	struct bpf_func_state *caller;
+	int err, subprog, target_insn;
+
+	target_insn = *insn_idx + insn->imm + 1;
+	subprog = find_subprog(env, target_insn);
+	if (subprog < 0) {
+		verbose(env, "verifier bug. No program starts at insn %d\n", target_insn);
+		return -EFAULT;
+	}
+
+	caller = state->frame[state->curframe];
+	err = btf_check_subprog_call(env, subprog, caller->regs);
+	if (err == -EFAULT)
+		return err;
+	if (subprog_is_global(env, subprog)) {
+		if (err) {
+			verbose(env, "Caller passes invalid args into func#%d\n", subprog);
+			return err;
+		}
+
+		if (env->log.level & BPF_LOG_LEVEL)
+			verbose(env, "Func#%d is global and valid. Skipping.\n", subprog);
 		clear_caller_saved_regs(env, caller->regs);
+
+		/* All global functions return a 64-bit SCALAR_VALUE */
 		mark_reg_unknown(env, caller->regs, BPF_REG_0);
 		caller->regs[BPF_REG_0].subreg_def = DEF_NOT_SUBREG;
+
 		/* continue with next insn after call */
 		return 0;
 	}
 
-	err = setup_func_entry(env, subprog, *insn_idx, set_callee_state_cb, state);
+	/* for regular function entry setup new frame and continue
+	 * from that frame.
+	 */
+	err = setup_func_entry(env, subprog, *insn_idx, set_callee_state, state);
 	if (err)
 		return err;
 
@@ -9355,22 +9403,6 @@ static int set_callee_state(struct bpf_v
 	return 0;
 }
 
-static int check_func_call(struct bpf_verifier_env *env, struct bpf_insn *insn,
-			   int *insn_idx)
-{
-	int subprog, target_insn;
-
-	target_insn = *insn_idx + insn->imm + 1;
-	subprog = find_subprog(env, target_insn);
-	if (subprog < 0) {
-		verbose(env, "verifier bug. No program starts at insn %d\n",
-			target_insn);
-		return -EFAULT;
-	}
-
-	return __check_func_call(env, insn, insn_idx, subprog, set_callee_state);
-}
-
 static int set_map_elem_callback_state(struct bpf_verifier_env *env,
 				       struct bpf_func_state *caller,
 				       struct bpf_func_state *callee,
@@ -9601,6 +9633,11 @@ static int prepare_func_exit(struct bpf_
 			verbose_invalid_scalar(env, r0, &range, "callback return", "R0");
 			return -EINVAL;
 		}
+		if (!calls_callback(env, callee->callsite)) {
+			verbose(env, "BUG: in callback at %d, callsite %d !calls_callback\n",
+				*insn_idx, callee->callsite);
+			return -EFAULT;
+		}
 	} else {
 		/* return to the caller whatever r0 had in the callee */
 		caller->regs[BPF_REG_0] = *r0;
@@ -9618,7 +9655,15 @@ static int prepare_func_exit(struct bpf_
 			return err;
 	}
 
-	*insn_idx = callee->callsite + 1;
+	/* for callbacks like bpf_loop or bpf_for_each_map_elem go back to callsite,
+	 * there function call logic would reschedule callback visit. If iteration
+	 * converges is_state_visited() would prune that visit eventually.
+	 */
+	if (callee->in_callback_fn)
+		*insn_idx = callee->callsite;
+	else
+		*insn_idx = callee->callsite + 1;
+
 	if (env->log.level & BPF_LOG_LEVEL) {
 		verbose(env, "returning from callee:\n");
 		print_verifier_state(env, callee, true);
@@ -10009,24 +10054,24 @@ static int check_helper_call(struct bpf_
 		}
 		break;
 	case BPF_FUNC_for_each_map_elem:
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_map_elem_callback_state);
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_map_elem_callback_state);
 		break;
 	case BPF_FUNC_timer_set_callback:
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_timer_callback_state);
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_timer_callback_state);
 		break;
 	case BPF_FUNC_find_vma:
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_find_vma_callback_state);
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_find_vma_callback_state);
 		break;
 	case BPF_FUNC_snprintf:
 		err = check_bpf_snprintf_call(env, regs);
 		break;
 	case BPF_FUNC_loop:
 		update_loop_inline_state(env, meta.subprogno);
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_loop_callback_state);
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_loop_callback_state);
 		break;
 	case BPF_FUNC_dynptr_from_mem:
 		if (regs[BPF_REG_1].type != PTR_TO_MAP_VALUE) {
@@ -10105,8 +10150,8 @@ static int check_helper_call(struct bpf_
 		break;
 	}
 	case BPF_FUNC_user_ringbuf_drain:
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_user_ringbuf_callback_state);
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_user_ringbuf_callback_state);
 		break;
 	}
 
@@ -10956,7 +11001,7 @@ static bool is_bpf_graph_api_kfunc(u32 b
 	       btf_id == special_kfunc_list[KF_bpf_refcount_acquire_impl];
 }
 
-static bool is_callback_calling_kfunc(u32 btf_id)
+static bool is_sync_callback_calling_kfunc(u32 btf_id)
 {
 	return btf_id == special_kfunc_list[KF_bpf_rbtree_add_impl];
 }
@@ -11660,6 +11705,21 @@ static int check_kfunc_call(struct bpf_v
 		return -EACCES;
 	}
 
+	/* Check the arguments */
+	err = check_kfunc_args(env, &meta, insn_idx);
+	if (err < 0)
+		return err;
+
+	if (meta.func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) {
+		err = push_callback_call(env, insn, insn_idx, meta.subprogno,
+					 set_rbtree_add_callback_state);
+		if (err) {
+			verbose(env, "kfunc %s#%d failed callback verification\n",
+				func_name, meta.func_id);
+			return err;
+		}
+	}
+
 	rcu_lock = is_kfunc_bpf_rcu_read_lock(&meta);
 	rcu_unlock = is_kfunc_bpf_rcu_read_unlock(&meta);
 
@@ -11694,10 +11754,6 @@ static int check_kfunc_call(struct bpf_v
 		return -EINVAL;
 	}
 
-	/* Check the arguments */
-	err = check_kfunc_args(env, &meta, insn_idx);
-	if (err < 0)
-		return err;
 	/* In case of release function, we get register number of refcounted
 	 * PTR_TO_BTF_ID in bpf_kfunc_arg_meta, do the release now.
 	 */
@@ -11731,16 +11787,6 @@ static int check_kfunc_call(struct bpf_v
 		}
 	}
 
-	if (meta.func_id == special_kfunc_list[KF_bpf_rbtree_add_impl]) {
-		err = __check_func_call(env, insn, insn_idx_p, meta.subprogno,
-					set_rbtree_add_callback_state);
-		if (err) {
-			verbose(env, "kfunc %s#%d failed callback verification\n",
-				func_name, meta.func_id);
-			return err;
-		}
-	}
-
 	for (i = 0; i < CALLER_SAVED_REGS; i++)
 		mark_reg_not_init(env, regs, caller_saved[i]);
 
@@ -15047,6 +15093,15 @@ static bool is_force_checkpoint(struct b
 	return env->insn_aux_data[insn_idx].force_checkpoint;
 }
 
+static void mark_calls_callback(struct bpf_verifier_env *env, int idx)
+{
+	env->insn_aux_data[idx].calls_callback = true;
+}
+
+static bool calls_callback(struct bpf_verifier_env *env, int insn_idx)
+{
+	return env->insn_aux_data[insn_idx].calls_callback;
+}
 
 enum {
 	DONE_EXPLORING = 0,
@@ -15160,6 +15215,21 @@ static int visit_insn(int t, struct bpf_
 			 * async state will be pushed for further exploration.
 			 */
 			mark_prune_point(env, t);
+		/* For functions that invoke callbacks it is not known how many times
+		 * callback would be called. Verifier models callback calling functions
+		 * by repeatedly visiting callback bodies and returning to origin call
+		 * instruction.
+		 * In order to stop such iteration verifier needs to identify when a
+		 * state identical some state from a previous iteration is reached.
+		 * Check below forces creation of checkpoint before callback calling
+		 * instruction to allow search for such identical states.
+		 */
+		if (is_sync_callback_calling_insn(insn)) {
+			mark_calls_callback(env, t);
+			mark_force_checkpoint(env, t);
+			mark_prune_point(env, t);
+			mark_jmp_point(env, t);
+		}
 		if (insn->src_reg == BPF_PSEUDO_KFUNC_CALL) {
 			struct bpf_kfunc_call_arg_meta meta;
 
@@ -16553,10 +16623,16 @@ static int is_state_visited(struct bpf_v
 				}
 				goto skip_inf_loop_check;
 			}
+			if (calls_callback(env, insn_idx)) {
+				if (states_equal(env, &sl->state, cur, true))
+					goto hit;
+				goto skip_inf_loop_check;
+			}
 			/* attempt to detect infinite loop to avoid unnecessary doomed work */
 			if (states_maybe_looping(&sl->state, cur) &&
 			    states_equal(env, &sl->state, cur, false) &&
-			    !iter_active_depths_differ(&sl->state, cur)) {
+			    !iter_active_depths_differ(&sl->state, cur) &&
+			    sl->state.callback_unroll_depth == cur->callback_unroll_depth) {
 				verbose_linfo(env, insn_idx, "; ");
 				verbose(env, "infinite loop detected at insn %d\n", insn_idx);
 				verbose(env, "cur state:");
--- a/tools/testing/selftests/bpf/progs/cb_refs.c
+++ b/tools/testing/selftests/bpf/progs/cb_refs.c
@@ -33,6 +33,7 @@ int underflow_prog(void *ctx)
 	if (!p)
 		return 0;
 	bpf_for_each_map_elem(&array_map, cb1, &p, 0);
+	bpf_kfunc_call_test_release(p);
 	return 0;
 }
 
--- a/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
+++ b/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
@@ -119,15 +119,26 @@ __naked int global_subprog_result_precis
 
 SEC("?raw_tp")
 __success __log_level(2)
+/* First simulated path does not include callback body */
 __msg("14: (0f) r1 += r6")
-__msg("mark_precise: frame0: last_idx 14 first_idx 10")
+__msg("mark_precise: frame0: last_idx 14 first_idx 9")
 __msg("mark_precise: frame0: regs=r6 stack= before 13: (bf) r1 = r7")
 __msg("mark_precise: frame0: regs=r6 stack= before 12: (27) r6 *= 4")
 __msg("mark_precise: frame0: regs=r6 stack= before 11: (25) if r6 > 0x3 goto pc+4")
 __msg("mark_precise: frame0: regs=r6 stack= before 10: (bf) r6 = r0")
-__msg("mark_precise: frame0: parent state regs=r0 stack=:")
-__msg("mark_precise: frame0: last_idx 18 first_idx 0")
-__msg("mark_precise: frame0: regs=r0 stack= before 18: (95) exit")
+__msg("mark_precise: frame0: regs=r0 stack= before 9: (85) call bpf_loop")
+/* State entering callback body popped from states stack */
+__msg("from 9 to 17: frame1:")
+__msg("17: frame1: R1=scalar() R2=0 R10=fp0 cb")
+__msg("17: (b7) r0 = 0")
+__msg("18: (95) exit")
+__msg("returning from callee:")
+__msg("to caller at 9:")
+/* r4 (flags) is always precise for bpf_loop() */
+__msg("frame 0: propagating r4")
+__msg("mark_precise: frame0: last_idx 9 first_idx 9 subseq_idx -1")
+__msg("mark_precise: frame0: regs=r4 stack= before 18: (95) exit")
+__msg("from 18 to 9: safe")
 __naked int callback_result_precise(void)
 {
 	asm volatile (
@@ -233,20 +244,36 @@ __naked int parent_callee_saved_reg_prec
 
 SEC("?raw_tp")
 __success __log_level(2)
+/* First simulated path does not include callback body */
 __msg("12: (0f) r1 += r6")
-__msg("mark_precise: frame0: last_idx 12 first_idx 10")
+__msg("mark_precise: frame0: last_idx 12 first_idx 9")
 __msg("mark_precise: frame0: regs=r6 stack= before 11: (bf) r1 = r7")
 __msg("mark_precise: frame0: regs=r6 stack= before 10: (27) r6 *= 4")
+__msg("mark_precise: frame0: regs=r6 stack= before 9: (85) call bpf_loop")
 __msg("mark_precise: frame0: parent state regs=r6 stack=:")
-__msg("mark_precise: frame0: last_idx 16 first_idx 0")
-__msg("mark_precise: frame0: regs=r6 stack= before 16: (95) exit")
-__msg("mark_precise: frame1: regs= stack= before 15: (b7) r0 = 0")
-__msg("mark_precise: frame1: regs= stack= before 9: (85) call bpf_loop#181")
+__msg("mark_precise: frame0: last_idx 8 first_idx 0 subseq_idx 9")
 __msg("mark_precise: frame0: regs=r6 stack= before 8: (b7) r4 = 0")
 __msg("mark_precise: frame0: regs=r6 stack= before 7: (b7) r3 = 0")
 __msg("mark_precise: frame0: regs=r6 stack= before 6: (bf) r2 = r8")
 __msg("mark_precise: frame0: regs=r6 stack= before 5: (b7) r1 = 1")
 __msg("mark_precise: frame0: regs=r6 stack= before 4: (b7) r6 = 3")
+/* State entering callback body popped from states stack */
+__msg("from 9 to 15: frame1:")
+__msg("15: frame1: R1=scalar() R2=0 R10=fp0 cb")
+__msg("15: (b7) r0 = 0")
+__msg("16: (95) exit")
+__msg("returning from callee:")
+__msg("to caller at 9:")
+/* r4 (flags) is always precise for bpf_loop(),
+ * r6 was marked before backtracking to callback body.
+ */
+__msg("frame 0: propagating r4,r6")
+__msg("mark_precise: frame0: last_idx 9 first_idx 9 subseq_idx -1")
+__msg("mark_precise: frame0: regs=r4,r6 stack= before 16: (95) exit")
+__msg("mark_precise: frame1: regs= stack= before 15: (b7) r0 = 0")
+__msg("mark_precise: frame1: regs= stack= before 9: (85) call bpf_loop")
+__msg("mark_precise: frame0: parent state regs= stack=:")
+__msg("from 16 to 9: safe")
 __naked int parent_callee_saved_reg_precise_with_callback(void)
 {
 	asm volatile (
@@ -373,22 +400,38 @@ __naked int parent_stack_slot_precise_gl
 
 SEC("?raw_tp")
 __success __log_level(2)
+/* First simulated path does not include callback body */
 __msg("14: (0f) r1 += r6")
-__msg("mark_precise: frame0: last_idx 14 first_idx 11")
+__msg("mark_precise: frame0: last_idx 14 first_idx 10")
 __msg("mark_precise: frame0: regs=r6 stack= before 13: (bf) r1 = r7")
 __msg("mark_precise: frame0: regs=r6 stack= before 12: (27) r6 *= 4")
 __msg("mark_precise: frame0: regs=r6 stack= before 11: (79) r6 = *(u64 *)(r10 -8)")
+__msg("mark_precise: frame0: regs= stack=-8 before 10: (85) call bpf_loop")
 __msg("mark_precise: frame0: parent state regs= stack=-8:")
-__msg("mark_precise: frame0: last_idx 18 first_idx 0")
-__msg("mark_precise: frame0: regs= stack=-8 before 18: (95) exit")
-__msg("mark_precise: frame1: regs= stack= before 17: (b7) r0 = 0")
-__msg("mark_precise: frame1: regs= stack= before 10: (85) call bpf_loop#181")
+__msg("mark_precise: frame0: last_idx 9 first_idx 0 subseq_idx 10")
 __msg("mark_precise: frame0: regs= stack=-8 before 9: (b7) r4 = 0")
 __msg("mark_precise: frame0: regs= stack=-8 before 8: (b7) r3 = 0")
 __msg("mark_precise: frame0: regs= stack=-8 before 7: (bf) r2 = r8")
 __msg("mark_precise: frame0: regs= stack=-8 before 6: (bf) r1 = r6")
 __msg("mark_precise: frame0: regs= stack=-8 before 5: (7b) *(u64 *)(r10 -8) = r6")
 __msg("mark_precise: frame0: regs=r6 stack= before 4: (b7) r6 = 3")
+/* State entering callback body popped from states stack */
+__msg("from 10 to 17: frame1:")
+__msg("17: frame1: R1=scalar() R2=0 R10=fp0 cb")
+__msg("17: (b7) r0 = 0")
+__msg("18: (95) exit")
+__msg("returning from callee:")
+__msg("to caller at 10:")
+/* r4 (flags) is always precise for bpf_loop(),
+ * fp-8 was marked before backtracking to callback body.
+ */
+__msg("frame 0: propagating r4,fp-8")
+__msg("mark_precise: frame0: last_idx 10 first_idx 10 subseq_idx -1")
+__msg("mark_precise: frame0: regs=r4 stack=-8 before 18: (95) exit")
+__msg("mark_precise: frame1: regs= stack= before 17: (b7) r0 = 0")
+__msg("mark_precise: frame1: regs= stack= before 10: (85) call bpf_loop#181")
+__msg("mark_precise: frame0: parent state regs= stack=:")
+__msg("from 18 to 10: safe")
 __naked int parent_stack_slot_precise_with_callback(void)
 {
 	asm volatile (



  parent reply	other threads:[~2024-01-29 17:15 UTC|newest]

Thread overview: 357+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-01-29 17:01 [PATCH 6.6 000/331] 6.6.15-rc1 review Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 001/331] docs: sparse: move TW sparse.txt to TW dev-tools Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 002/331] docs: sparse: add sparse.rst to toctree Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 003/331] docs: kernel_feat.py: fix potential command injection Greg Kroah-Hartman
2024-01-30 16:08   ` Justin Forbes
2024-01-30 16:21     ` Jonathan Corbet
2024-02-01 12:43       ` Justin Forbes
2024-02-01 14:25         ` Greg Kroah-Hartman
2024-02-01 14:37           ` Jonathan Corbet
2024-02-01 14:41           ` Justin Forbes
2024-02-01 14:58             ` Justin Forbes
2024-02-01 15:07               ` Justin Forbes
2024-02-01 16:34                 ` Vegard Nossum
2024-02-04 17:05                   ` Salvatore Bonaccorso
2024-02-04 20:31                     ` Salvatore Bonaccorso
2024-02-05  1:29                       ` Greg Kroah-Hartman
2024-02-05  2:36                         ` Justin Forbes
2024-02-05  9:26                           ` Vegard Nossum
2024-01-29 17:01 ` [PATCH 6.6 004/331] serial: core: Simplify uart_get_rs485_mode() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 005/331] serial: core: set missing supported flag for RX during TX GPIO Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 006/331] soundwire: bus: introduce controller_id Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 007/331] soundwire: fix initializing sysfs for same devices on different buses Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 008/331] net: stmmac: Tx coe sw fallback Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 009/331] net: stmmac: Prevent DSA tags from breaking COE Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 010/331] iio: adc: ad7091r: Set alert bit in config register Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 011/331] iio: adc: ad7091r: Allow users to configure device events Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 012/331] iio: adc: ad7091r: Enable internal vref if external vref is not supplied Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 013/331] dmaengine: fsl-edma: fix eDMAv4 channel allocation issue Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 014/331] dmaengine: fix NULL pointer in channel unregistration function Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 015/331] dmaengine: idxd: Move dma_free_coherent() out of spinlocked context Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 016/331] scsi: ufs: core: Remove the ufshcd_hba_exit() call from ufshcd_async_scan() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 017/331] riscv: Fix an off-by-one in get_early_cmdline() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 018/331] scsi: core: Kick the requeue list after inserting when flushing Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 019/331] sh: ecovec24: Rename missed backlight field from fbdev to dev Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 020/331] smb: client: fix parsing of SMB3.1.1 POSIX create context Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 021/331] cifs: handle cases where a channel is closed Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 022/331] cifs: reconnect work should have reference on server struct Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 023/331] cifs: handle when server starts supporting multichannel Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 024/331] cifs: handle when server stops " Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 025/331] Revert "cifs: reconnect work should have reference on server struct" Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 026/331] cifs: reconnect worker should take reference on server struct unconditionally Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 027/331] cifs: handle servers that still advertise multichannel after disabling Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 028/331] cifs: update iface_last_update on each query-and-update Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 029/331] powerpc/ps3_defconfig: Disable PPC64_BIG_ENDIAN_ELF_ABI_V2 Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 030/331] ext4: allow for the last group to be marked as trimmed Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 031/331] async: Split async_schedule_node_domain() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 032/331] async: Introduce async_schedule_dev_nocall() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 033/331] PM: sleep: Fix possible deadlocks in core system-wide PM code Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 034/331] arm64: properly install vmlinuz.efi Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 035/331] OPP: Pass rounded rate to _set_opp() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 036/331] btrfs: sysfs: validate scrub_speed_max value Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 037/331] crypto: lib/mpi - Fix unexpected pointer access in mpi_ec_init Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 038/331] erofs: fix lz4 inplace decompression Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 039/331] crypto: api - Disallow identical driver names Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 040/331] PM: hibernate: Enforce ordering during image compression/decompression Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 041/331] hwrng: core - Fix page fault dead lock on mmap-ed hwrng Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 042/331] crypto: s390/aes - Fix buffer overread in CTR mode Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 043/331] s390/vfio-ap: unpin pages on gisc registration failure Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 044/331] PM / devfreq: Fix buffer overflow in trans_stat_show Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 045/331] mtd: maps: vmu-flash: Fix the (mtd core) switch to ref counters Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 046/331] mtd: rawnand: Prevent crossing LUN boundaries during sequential reads Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 047/331] mtd: rawnand: Fix core interference with " Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 048/331] mtd: rawnand: Prevent sequential reads with on-die ECC engines Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 049/331] mtd: rawnand: Clarify conditions to enable continuous reads Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 050/331] soc: qcom: pmic_glink_altmode: fix port sanity check Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 051/331] media: imx355: Enable runtime PM before registering async sub-device Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 052/331] rpmsg: virtio: Free driver_override when rpmsg_remove() Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 053/331] media: ov9734: Enable runtime PM before registering async sub-device Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 054/331] media: ov13b10: " Greg Kroah-Hartman
2024-01-29 17:01 ` [PATCH 6.6 055/331] media: ov01a10: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 056/331] soc: fsl: cpm1: tsa: Fix __iomem addresses declaration Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 057/331] soc: fsl: cpm1: qmc: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 058/331] soc: fsl: cpm1: qmc: Fix rx channel reset Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 059/331] s390/vfio-ap: always filter entire AP matrix Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 060/331] s390/vfio-ap: loop over the shadow APCB when filtering guests AP configuration Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 061/331] s390/vfio-ap: let on_scan_complete() callback filter matrix and update guests APCB Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 062/331] s390/vfio-ap: reset queues filtered from the guests AP config Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 063/331] s390/vfio-ap: reset queues associated with adapter for queue unbound from driver Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 064/331] s390/vfio-ap: do not reset queue removed from host config Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 065/331] nbd: always initialize struct msghdr completely Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 066/331] mips: Fix max_mapnr being uninitialized on early stages Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 067/331] bus: mhi: host: Add alignment check for event ring read pointer Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 068/331] bus: mhi: host: Drop chan lock before queuing buffers Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 069/331] bus: mhi: host: Add spinlock to protect WP access when queueing TREs Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 070/331] parisc/firmware: Fix F-extend for PDC addresses Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 071/331] parisc/power: Fix power soft-off button emulation on qemu Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 072/331] ARM: dts: imx6q-apalis: add can power-up delay on ixora board Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 073/331] arm64: dts: qcom: sc8280xp-crd: fix eDP phy compatible Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 074/331] ARM: dts: qcom: sdx55: fix USB wakeup interrupt types Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 075/331] ARM: dts: samsung: exynos4210-i9100: Unconditionally enable LDO12 Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 076/331] ARM: dts: qcom: sdx55: fix pdc #interrupt-cells Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 077/331] arm64: dts: sprd: fix the cpu node for UMS512 Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 078/331] arm64: dts: rockchip: configure eth pad driver strength for orangepi r1 plus lts Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 079/331] arm64: dts: rockchip: Fix rk3588 USB power-domain clocks Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 080/331] arm64: dts: qcom: msm8916: Make blsp_dma controlled-remotely Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 081/331] arm64: dts: qcom: msm8939: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 082/331] arm64: dts: qcom: sc7180: fix USB wakeup interrupt types Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 083/331] arm64: dts: qcom: sdm845: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 084/331] arm64: dts: qcom: sdm670: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 085/331] arm64: dts: qcom: sm8150: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 086/331] arm64: dts: qcom: sc8180x: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 087/331] arm64: dts: qcom: sc7280: fix usb_1 " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 088/331] arm64: dts: qcom: Add missing vio-supply for AW2013 Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 089/331] ARM: dts: qcom: sdx55: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 090/331] arm64: dts: qcom: sdm845: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 091/331] arm64: dts: qcom: sdm845: fix USB SS wakeup Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 092/331] arm64: dts: qcom: sm8150: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 093/331] arm64: dts: qcom: sm8150: fix USB SS wakeup Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 094/331] arm64: dts: qcom: sc8180x: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 095/331] arm64: dts: qcom: sc8180x: fix USB SS wakeup Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 096/331] arm64: dts: qcom: sdm670: fix USB DP/DM HS PHY interrupts Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 097/331] arm64: dts: qcom: sdm670: fix USB SS wakeup Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 098/331] ARM: dts: qcom: sdx55: " Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 099/331] lsm: new security_file_ioctl_compat() hook Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 100/331] dlm: use kernel_connect() and kernel_bind() Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 101/331] docs: kernel_abi.py: fix command injection Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 102/331] scripts/get_abi: fix source path leak Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 103/331] media: videobuf2-dma-sg: fix vmap callback Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 104/331] mmc: core: Use mrq.sbc in close-ended ffu Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 105/331] mmc: mmc_spi: remove custom DMA mapped buffers Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 106/331] media: i2c: st-mipid02: correct format propagation Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 107/331] media: mtk-jpeg: Fix timeout schedule error in mtk_jpegdec_worker Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 108/331] media: mtk-jpeg: Fix use after free bug due to error path handling in mtk_jpeg_dec_device_run Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 109/331] riscv: mm: Fixup compat arch_get_mmap_end Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 110/331] riscv: mm: Fixup compat mode boot failure Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 111/331] arm64: Rename ARM64_WORKAROUND_2966298 Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 112/331] arm64: errata: Add Cortex-A510 speculative unprivileged load workaround Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 113/331] arm64/sme: Always exit sme_alloc() early with existing storage Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 114/331] arm64: entry: fix ARM64_WORKAROUND_SPECULATIVE_UNPRIV_LOAD Greg Kroah-Hartman
2024-01-29 17:02 ` [PATCH 6.6 115/331] rtc: cmos: Use ACPI alarm for non-Intel x86 systems too Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 116/331] rtc: Adjust failure return code for cmos_set_alarm() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 117/331] rtc: mc146818-lib: Adjust failure return code for mc146818_get_time() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 118/331] rtc: Add support for configuring the UIP timeout for RTC reads Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 119/331] rtc: Extend timeout for waiting for UIP to clear to 1s Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 120/331] nouveau/vmm: dont set addr on the fail path to avoid warning Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 121/331] efi: disable mirror feature during crashkernel Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 122/331] ubifs: ubifs_symlink: Fix memleak of inode->i_link in error path Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 123/331] kexec: do syscore_shutdown() in kernel_kexec Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 124/331] selftests: mm: hugepage-vmemmap fails on 64K page size systems Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 125/331] mm/rmap: fix misplaced parenthesis of a likely() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 126/331] mm/sparsemem: fix race in accessing memory_section->usage Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 127/331] rename(): fix the locking of subdirectories Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 128/331] serial: sc16is7xx: improve regmap debugfs by using one regmap per port Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 129/331] serial: sc16is7xx: remove wasteful static buffer in sc16is7xx_regmap_name() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 130/331] serial: sc16is7xx: remove global regmap from struct sc16is7xx_port Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 131/331] serial: sc16is7xx: remove unused line structure member Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 132/331] serial: sc16is7xx: change EFR lock to operate on each channels Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 133/331] serial: sc16is7xx: convert from _raw_ to _noinc_ regmap functions for FIFO Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 134/331] serial: sc16is7xx: fix invalid sc16is7xx_lines bitfield in case of probe error Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 135/331] serial: sc16is7xx: remove obsolete loop in sc16is7xx_port_irq() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 136/331] serial: sc16is7xx: improve do/while loop in sc16is7xx_irq() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 137/331] LoongArch/smp: Call rcutree_report_cpu_starting() earlier Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 138/331] mm: page_alloc: unreserve highatomic page blocks before oom Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 139/331] serial: Do not hold the port lock when setting rx-during-tx GPIO Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 140/331] ksmbd: set v2 lease version on lease upgrade Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 141/331] ksmbd: fix potential circular locking issue in smb2_set_ea() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 142/331] ksmbd: dont increment epoch if current state and request state are same Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 143/331] ksmbd: send lease break notification on FILE_RENAME_INFORMATION Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 144/331] ksmbd: Add missing set_freezable() for freezable kthread Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 145/331] dt-bindings: net: snps,dwmac: Tx coe unsupported Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 146/331] bpf: move explored_state() closer to the beginning of verifier.c Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 147/331] bpf: extract same_callsites() as utility function Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 148/331] bpf: exact states comparison for iterator convergence checks Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 149/331] selftests/bpf: tests with delayed read/precision makrs in loop body Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 150/331] bpf: correct loop detection for iterators convergence Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 151/331] selftests/bpf: test if state loops are detected in a tricky case Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 152/331] bpf: print full verifier states on infinite loop detection Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 153/331] selftests/bpf: track tcp payload offset as scalar in xdp_synproxy Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 154/331] selftests/bpf: track string payload offset as scalar in strobemeta Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 155/331] bpf: extract __check_reg_arg() utility function Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 156/331] bpf: extract setup_func_entry() " Greg Kroah-Hartman
2024-01-29 17:03 ` Greg Kroah-Hartman [this message]
2024-01-29 17:03 ` [PATCH 6.6 158/331] selftests/bpf: tests for iterating callbacks Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 159/331] bpf: widening for callback iterators Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 160/331] selftests/bpf: test widening for iterating callbacks Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 161/331] bpf: keep track of max number of bpf_loop callback iterations Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 162/331] selftests/bpf: check if max number of bpf_loop iterations is tracked Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 163/331] Revert "drm/amd: Enable PCIe PME from D3" Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 164/331] cifs: fix lock ordering while disabling multichannel Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 165/331] cifs: fix a pending undercount of srv_count Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 166/331] cifs: after disabling multichannel, mark tcon for reconnect Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 167/331] SUNRPC: use request size to initialize bio_vec in svc_udp_sendto() Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 168/331] wifi: mac80211: fix potential sta-link leak Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 169/331] net/smc: fix illegal rmb_desc access in SMC-D connection dump Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 170/331] selftests: bonding: Increase timeout to 1200s Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 171/331] tcp: make sure init the accept_queues spinlocks once Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 172/331] bnxt_en: Wait for FLR to complete during probe Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 173/331] bnxt_en: Prevent kernel warning when running offline self test Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 174/331] vlan: skip nested type that is not IFLA_VLAN_QOS_MAPPING Greg Kroah-Hartman
2024-01-29 17:03 ` [PATCH 6.6 175/331] llc: make llc_ui_sendmsg() more robust against bonding changes Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 176/331] llc: Drop support for ETH_P_TR_802_2 Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 177/331] udp: fix busy polling Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 178/331] net: fix removing a namespace with conflicting altnames Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 179/331] tun: fix missing dropped counter in tun_xdp_act Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 180/331] tun: add missing rx stats accounting " Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 181/331] net: micrel: Fix PTP frame parsing for lan8814 Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 182/331] net/rds: Fix UBSAN: array-index-out-of-bounds in rds_cmsg_recv Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 183/331] netfs, fscache: Prevent Oops in fscache_put_cache() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 184/331] tracing: Ensure visibility when inserting an element into tracing_map Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 185/331] afs: Hide silly-rename files from userspace Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 186/331] tcp: Add memory barrier to tcp_push() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 187/331] selftest: Dont reuse port for SO_INCOMING_CPU test Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 188/331] netlink: fix potential sleeping issue in mqueue_flush_file Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 189/331] ipv6: init the accept_queues spinlocks in inet6_create Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 190/331] selftests: fill in some missing configs for net Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 191/331] net/sched: flower: Fix chain template offload Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 192/331] net/mlx5e: Fix operation precedence bug in port timestamping napi_poll context Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 193/331] net/mlx5e: Fix peer flow lists handling Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 194/331] net/mlx5: Fix a WARN upon a callback command failure Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 195/331] net/mlx5: Bridge, Enable mcast in smfs steering mode Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 196/331] net/mlx5: Bridge, fix multicast packets sent to uplink Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 197/331] net/mlx5: DR, Use the right GVMI number for drop action Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 198/331] net/mlx5: DR, Cant go to uplink vport on RX rule Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 199/331] net/mlx5: Use mlx5 device constant for selecting CQ period mode for ASO Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 200/331] net/mlx5e: Allow software parsing when IPsec crypto is enabled Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 201/331] net/mlx5e: Ignore IPsec replay window values on sender side Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 202/331] net/mlx5e: fix a double-free in arfs_create_groups Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 203/331] net/mlx5e: fix a potential double-free in fs_any_create_groups Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 204/331] rcu: Defer RCU kthreads wakeup when CPU is dying Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 205/331] netfilter: nft_limit: reject configurations that cause integer overflow Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 206/331] netfilter: nf_tables: restrict anonymous set and map names to 16 bytes Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 207/331] netfilter: nf_tables: validate NFPROTO_* family Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 208/331] net: stmmac: Wait a bit for the reset to take effect Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 209/331] net: mvpp2: clear BM pool before initialization Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 210/331] selftests: net: fix rps_default_mask with >32 CPUs Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 211/331] selftests: netdevsim: fix the udp_tunnel_nic test Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 212/331] xsk: recycle buffer in case Rx queue was full Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 213/331] xsk: make xsk_buff_pool responsible for clearing xdp_buff::flags Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 214/331] bpf: Propagate modified uaddrlen from cgroup sockaddr programs Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 215/331] bpf: Add bpf_sock_addr_set_sun_path() to allow writing unix sockaddr from bpf Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 216/331] xsk: fix usage of multi-buffer BPF helpers for ZC XDP Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 217/331] ice: work on pre-XDP prog frag count Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 218/331] i40e: handle multi-buffer packets that are shrunk by xdp prog Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 219/331] ice: remove redundant xdp_rxq_info registration Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 220/331] intel: xsk: initialize skb_frag_t::bv_offset in ZC drivers Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 221/331] ice: update xdp_rxq_info::frag_size for ZC enabled Rx queue Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 222/331] xdp: reflect tail increase for MEM_TYPE_XSK_BUFF_POOL Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 223/331] i40e: set xdp_rxq_info::frag_size Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 224/331] i40e: update xdp_rxq_info::frag_size for ZC enabled Rx queue Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 225/331] fjes: fix memleaks in fjes_hw_setup Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 226/331] selftests: bonding: do not test arp/ns target with mode balance-alb/tlb Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 227/331] net: fec: fix the unhandled context fault from smmu Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 228/331] tsnep: Remove FCS for XDP data path Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 229/331] tsnep: Fix XDP_RING_NEED_WAKEUP for empty fill ring Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 230/331] btrfs: scrub: avoid use-after-free when chunk length is not 64K aligned Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 231/331] btrfs: zoned: fix lock ordering in btrfs_zone_activate() Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 232/331] btrfs: avoid copying BTRFS_ROOT_SUBVOL_DEAD flag to snapshot of subvolume being deleted Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 233/331] btrfs: ref-verify: free ref cache before clearing mount opt Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 234/331] btrfs: tree-checker: fix inline ref size in error messages Greg Kroah-Hartman
2024-01-29 17:04 ` [PATCH 6.6 235/331] btrfs: dont warn if discard range is not aligned to sector Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 236/331] btrfs: defrag: reject unknown flags of btrfs_ioctl_defrag_range_args Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 237/331] btrfs: dont abort filesystem when attempting to snapshot deleted subvolume Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 238/331] rbd: dont move requests to the running list on errors Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 239/331] exec: Fix error handling in begin_new_exec() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 240/331] wifi: iwlwifi: fix a memory corruption Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 241/331] nfsd: fix RELEASE_LOCKOWNER Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 242/331] hv_netvsc: Calculate correct ring size when PAGE_SIZE is not 4 Kbytes Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 243/331] netfilter: nft_chain_filter: handle NETDEV_UNREGISTER for inet/ingress basechain Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 244/331] netfilter: nf_tables: reject QUEUE/DROP verdict parameters Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 245/331] platform/x86: intel-uncore-freq: Fix types in sysfs callbacks Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 246/331] platform/x86: p2sb: Allow p2sb_bar() calls during PCI device probe Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 247/331] ksmbd: fix global oob in ksmbd_nl_policy Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 248/331] firmware: arm_scmi: Check mailbox/SMT channel for consistency Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 249/331] Revert "drivers/firmware: Move sysfb_init() from device_initcall to subsys_initcall_sync" Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 250/331] drm/amdgpu: Fix the null pointer when load rlc firmware Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 251/331] xfs: read only mounts with fsopen mount API are busted Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 252/331] gpiolib: acpi: Ignore touchpad wakeup on GPD G1619-04 Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 253/331] cpufreq: intel_pstate: Refine computation of P-state for given frequency Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 254/331] Revert "drm/i915/dsi: Do display on sequence later on icl+" Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 255/331] drm: Dont unref the same fb many times by mistake due to deadlock handling Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 256/331] drm/bridge: nxp-ptn3460: fix i2c_master_send() error checking Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 257/331] drm: Fix TODO list mentioning non-KMS drivers Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 258/331] drm/tidss: Fix atomic_flush check Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 259/331] drm: Disable the cursor plane on atomic contexts with virtualized drivers Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 260/331] drm/virtio: Disable damage clipping if FB changed since last page-flip Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 261/331] drm: Allow drivers to indicate the damage helpers to ignore damage clips Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 262/331] drm/amd/display: fix bandwidth validation failure on DCN 2.1 Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 263/331] drm/amd/display: Disable PSR-SU on Parade 0803 TCON again Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 264/331] Revert "drm/amd/display: fix bandwidth validation failure on DCN 2.1" Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 265/331] drm/bridge: nxp-ptn3460: simplify some error checking Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 266/331] drm/amdgpu: correct the cu count for gfx v11 Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 267/331] drm/amd/display: Fix variable deferencing before NULL check in edp_setup_replay() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 268/331] drm/amd/display: Port DENTIST hang and TDR fixes to OTG disable W/A Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 269/331] drm/amd/display: Align the returned error code with legacy DP Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 270/331] drm/amd/display: Fix late derefrence dsc check in link_set_dsc_pps_packet() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 271/331] drm/amdgpu/pm: Fix the power source flag error Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 272/331] drm/amd/display: Fix uninitialized variable usage in core_link_ read_dpcd() & write_dpcd() functions Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 273/331] net/bpf: Avoid unused "sin_addr_len" warning when CONFIG_CGROUP_BPF is not set Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 274/331] thermal: intel: hfi: Refactor enabling code into helper functions Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 275/331] thermal: intel: hfi: Disable an HFI instance when all its CPUs go offline Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 276/331] thermal: intel: hfi: Add syscore callbacks for system-wide PM Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 277/331] fs/pipe: move check to pipe_has_watch_queue() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 278/331] pipe: wakeup wr_wait after setting max_usage Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 279/331] media: v4l: cci: Include linux/bits.h Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 280/331] media: v4l: cci: Add macros to obtain register width and address Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 281/331] media: v4l2-cci: Add support for little-endian encoded registers Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 282/331] media: i2c: imx290: Properly encode registers as little-endian Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 283/331] thermal: trip: Drop redundant trips check from for_each_thermal_trip() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 284/331] thermal: core: Store trip pointer in struct thermal_instance Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 285/331] thermal: gov_power_allocator: avoid inability to reset a cdev Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 286/331] mm: migrate: record the mlocked page status to remove unnecessary lru drain Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 287/331] mm: migrate: fix getting incorrect page mapping during page migration Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 288/331] serial: core: Provide port lock wrappers Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 289/331] serial: sc16is7xx: Use " Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 290/331] serial: sc16is7xx: fix unconditional activation of THRI interrupt Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 291/331] btrfs: zoned: factor out prepare_allocation_zoned() Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 292/331] btrfs: zoned: optimize hint byte for zoned allocator Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 293/331] drm/i915/lnl: Remove watchdog timers for PSR Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 294/331] drm/i915/psr: Only allow PSR in LPSP mode on HSW non-ULT Greg Kroah-Hartman
2024-01-29 17:05 ` [PATCH 6.6 295/331] drm/panel-edp: Add AUO B116XTN02, BOE NT116WHM-N21,836X2, NV116WHM-N49 V8.0 Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 296/331] drm/panel-edp: drm/panel-edp: Fix AUO B116XAK01 name and timing Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 297/331] drm/panel-edp: drm/panel-edp: Fix AUO B116XTN02 name Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 298/331] drm/amdgpu/gfx10: set UNORD_DISPATCH in compute MQDs Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 299/331] drm/amdgpu/gfx11: " Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 300/331] drm/bridge: parade-ps8640: Wait for HPD when doing an AUX transfer Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 301/331] drm: panel-simple: add missing bus flags for Tianma tm070jvhg[30/33] Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 302/331] drm/panel: samsung-s6d7aa0: drop DRM_BUS_FLAG_DE_HIGH for lsl080al02 Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 303/331] drm/bridge: sii902x: Fix probing race issue Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 304/331] drm/bridge: sii902x: Fix audio codec unregistration Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 305/331] drm/bridge: parade-ps8640: Ensure bridge is suspended in .post_disable() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 306/331] drm/bridge: parade-ps8640: Make sure we drop the AUX mutex in the error case Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 307/331] memblock: fix crash when reserved memory is not added to memory Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 308/331] drm/exynos: fix accidental on-stack copy of exynos_drm_plane Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 309/331] drm/exynos: gsc: minor fix for loop iteration in gsc_runtime_resume Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 310/331] firmware: arm_scmi: Use xa_insert() to store opps Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 311/331] firmware: arm_scmi: Use xa_insert() when saving raw queues Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 312/331] gpio: eic-sprd: Clear interrupt after set the interrupt type Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 313/331] ARM: dts: exynos4212-tab3: add samsung,invert-vclk flag to fimd Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 314/331] spi: intel-pci: Remove Meteor Lake-S SoC PCI ID from the list Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 315/331] block: Move checking GENHD_FL_NO_PART to bdev_add_partition() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 316/331] drm/bridge: anx7625: Ensure bridge is suspended in disable() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 317/331] cpufreq/amd-pstate: Fix setting scaling max/min freq values Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 318/331] spi: bcm-qspi: fix SFDP BFPT read by usig mspi read Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 319/331] spi: spi-cadence: Reverse the order of interleaved write and read operations Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 320/331] cifs: fix stray unlock in cifs_chan_skip_or_disable Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 321/331] spi: fix finalize message on error return Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 322/331] MIPS: lantiq: register smp_ops on non-smp platforms Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 323/331] drm: bridge: samsung-dsim: Dont use FORCE_STOP_STATE Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 324/331] cxl/region:Fix overflow issue in alloc_hpa() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 325/331] mips: Call lose_fpu(0) before initializing fcr31 in mips_set_personality_nan Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 326/331] genirq: Initialize resend_node hlist for all interrupt descriptors Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 327/331] clocksource: Skip watchdog check for large watchdog intervals Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 328/331] tick/sched: Preserve number of idle sleeps across CPU hotplug events Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 329/331] x86/entry/ia32: Ensure s32 is sign extended to s64 Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 330/331] serial: core: fix kernel-doc for uart_port_unlock_irqrestore() Greg Kroah-Hartman
2024-01-29 17:06 ` [PATCH 6.6 331/331] thermal: trip: Drop lockdep assertion from thermal_zone_trip_id() Greg Kroah-Hartman
2024-01-29 19:26 ` [PATCH 6.6 000/331] 6.6.15-rc1 review SeongJae Park
2024-01-29 23:15 ` Shuah Khan
2024-01-30  0:12 ` Allen
2024-01-30  4:10 ` Florian Fainelli
2024-01-30  6:37 ` Bagas Sanjaya
2024-01-30  9:55 ` Shreeya Patel
2024-01-30 11:54 ` Takeshi Ogasawara
2024-01-30 13:00 ` Jon Hunter
2024-01-30 14:01 ` Naresh Kamboju
2024-01-30 19:35 ` Ron Economos
2024-01-30 22:26 ` Kelsey Steele

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=20240129170019.516063027@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --cc=awerner32@gmail.com \
    --cc=eddyz87@gmail.com \
    --cc=patches@lists.linux.dev \
    --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).