Archive-only list for patches
 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, Levi Zim <rsworktech@outlook.com>,
	Shung-Hsi Yu <shung-hsi.yu@suse.com>
Subject: [PATCH 6.6 198/222] Revert "bpf: support non-r10 register spill/fill to/from stack in precision tracking"
Date: Mon,  6 Jan 2025 16:16:42 +0100	[thread overview]
Message-ID: <20250106151158.255485255@linuxfoundation.org> (raw)
In-Reply-To: <20250106151150.585603565@linuxfoundation.org>

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

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

From: Shung-Hsi Yu <shung-hsi.yu@suse.com>

Revert commit ecc2aeeaa08a355d84d3ca9c3d2512399a194f29 which is commit
41f6f64e6999a837048b1bd13a2f8742964eca6b upstream.

Levi reported that commit ecc2aeeaa08a ("bpf: support non-r10 register
spill/fill to/from stack in precision tracking") cause eBPF program that
previously loads successfully in stable 6.6 now fails to load, when the
same program also loads successfully in v6.13-rc5.

Revert ecc2aeeaa08a until the problem has been probably figured out and
resolved.

Fixes: ecc2aeeaa08a ("bpf: support non-r10 register spill/fill to/from stack in precision tracking")
Reported-by: Levi Zim <rsworktech@outlook.com>
Link: https://lore.kernel.org/stable/MEYP282MB2312C3C8801476C4F262D6E1C6162@MEYP282MB2312.AUSP282.PROD.OUTLOOK.COM/
Signed-off-by: Shung-Hsi Yu <shung-hsi.yu@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 include/linux/bpf_verifier.h                                   |   31 -
 kernel/bpf/verifier.c                                          |  175 ++++------
 tools/testing/selftests/bpf/progs/verifier_subprog_precision.c |   23 -
 tools/testing/selftests/bpf/verifier/precise.c                 |   38 --
 4 files changed, 98 insertions(+), 169 deletions(-)

--- a/include/linux/bpf_verifier.h
+++ b/include/linux/bpf_verifier.h
@@ -319,34 +319,12 @@ struct bpf_func_state {
 	struct bpf_stack_state *stack;
 };
 
-#define MAX_CALL_FRAMES 8
-
-/* instruction history flags, used in bpf_jmp_history_entry.flags field */
-enum {
-	/* instruction references stack slot through PTR_TO_STACK register;
-	 * we also store stack's frame number in lower 3 bits (MAX_CALL_FRAMES is 8)
-	 * and accessed stack slot's index in next 6 bits (MAX_BPF_STACK is 512,
-	 * 8 bytes per slot, so slot index (spi) is [0, 63])
-	 */
-	INSN_F_FRAMENO_MASK = 0x7, /* 3 bits */
-
-	INSN_F_SPI_MASK = 0x3f, /* 6 bits */
-	INSN_F_SPI_SHIFT = 3, /* shifted 3 bits to the left */
-
-	INSN_F_STACK_ACCESS = BIT(9), /* we need 10 bits total */
-};
-
-static_assert(INSN_F_FRAMENO_MASK + 1 >= MAX_CALL_FRAMES);
-static_assert(INSN_F_SPI_MASK + 1 >= MAX_BPF_STACK / 8);
-
-struct bpf_jmp_history_entry {
+struct bpf_idx_pair {
+	u32 prev_idx;
 	u32 idx;
-	/* insn idx can't be bigger than 1 million */
-	u32 prev_idx : 22;
-	/* special flags, e.g., whether insn is doing register stack spill/load */
-	u32 flags : 10;
 };
 
+#define MAX_CALL_FRAMES 8
 /* Maximum number of register states that can exist at once */
 #define BPF_ID_MAP_SIZE ((MAX_BPF_REG + MAX_BPF_STACK / BPF_REG_SIZE) * MAX_CALL_FRAMES)
 struct bpf_verifier_state {
@@ -429,7 +407,7 @@ struct bpf_verifier_state {
 	 * For most states jmp_history_cnt is [0-3].
 	 * For loops can go up to ~40.
 	 */
-	struct bpf_jmp_history_entry *jmp_history;
+	struct bpf_idx_pair *jmp_history;
 	u32 jmp_history_cnt;
 	u32 dfs_depth;
 	u32 callback_unroll_depth;
@@ -662,7 +640,6 @@ struct bpf_verifier_env {
 		int cur_stack;
 	} cfg;
 	struct backtrack_state bt;
-	struct bpf_jmp_history_entry *cur_hist_ent;
 	u32 pass_cnt; /* number of times do_check() was called */
 	u32 subprog_cnt;
 	/* number of instructions analyzed by the verifier */
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1762,8 +1762,8 @@ static int copy_verifier_state(struct bp
 	int i, err;
 
 	dst_state->jmp_history = copy_array(dst_state->jmp_history, src->jmp_history,
-					  src->jmp_history_cnt, sizeof(*dst_state->jmp_history),
-					  GFP_USER);
+					    src->jmp_history_cnt, sizeof(struct bpf_idx_pair),
+					    GFP_USER);
 	if (!dst_state->jmp_history)
 		return -ENOMEM;
 	dst_state->jmp_history_cnt = src->jmp_history_cnt;
@@ -3397,21 +3397,6 @@ static int check_reg_arg(struct bpf_veri
 	return __check_reg_arg(env, state->regs, regno, t);
 }
 
-static int insn_stack_access_flags(int frameno, int spi)
-{
-	return INSN_F_STACK_ACCESS | (spi << INSN_F_SPI_SHIFT) | frameno;
-}
-
-static int insn_stack_access_spi(int insn_flags)
-{
-	return (insn_flags >> INSN_F_SPI_SHIFT) & INSN_F_SPI_MASK;
-}
-
-static int insn_stack_access_frameno(int insn_flags)
-{
-	return insn_flags & INSN_F_FRAMENO_MASK;
-}
-
 static void mark_jmp_point(struct bpf_verifier_env *env, int idx)
 {
 	env->insn_aux_data[idx].jmp_point = true;
@@ -3423,51 +3408,28 @@ static bool is_jmp_point(struct bpf_veri
 }
 
 /* for any branch, call, exit record the history of jmps in the given state */
-static int push_jmp_history(struct bpf_verifier_env *env, struct bpf_verifier_state *cur,
-			    int insn_flags)
+static int push_jmp_history(struct bpf_verifier_env *env,
+			    struct bpf_verifier_state *cur)
 {
 	u32 cnt = cur->jmp_history_cnt;
-	struct bpf_jmp_history_entry *p;
+	struct bpf_idx_pair *p;
 	size_t alloc_size;
 
-	/* combine instruction flags if we already recorded this instruction */
-	if (env->cur_hist_ent) {
-		/* atomic instructions push insn_flags twice, for READ and
-		 * WRITE sides, but they should agree on stack slot
-		 */
-		WARN_ONCE((env->cur_hist_ent->flags & insn_flags) &&
-			  (env->cur_hist_ent->flags & insn_flags) != insn_flags,
-			  "verifier insn history bug: insn_idx %d cur flags %x new flags %x\n",
-			  env->insn_idx, env->cur_hist_ent->flags, insn_flags);
-		env->cur_hist_ent->flags |= insn_flags;
+	if (!is_jmp_point(env, env->insn_idx))
 		return 0;
-	}
 
 	cnt++;
 	alloc_size = kmalloc_size_roundup(size_mul(cnt, sizeof(*p)));
 	p = krealloc(cur->jmp_history, alloc_size, GFP_USER);
 	if (!p)
 		return -ENOMEM;
+	p[cnt - 1].idx = env->insn_idx;
+	p[cnt - 1].prev_idx = env->prev_insn_idx;
 	cur->jmp_history = p;
-
-	p = &cur->jmp_history[cnt - 1];
-	p->idx = env->insn_idx;
-	p->prev_idx = env->prev_insn_idx;
-	p->flags = insn_flags;
 	cur->jmp_history_cnt = cnt;
-	env->cur_hist_ent = p;
-
 	return 0;
 }
 
-static struct bpf_jmp_history_entry *get_jmp_hist_entry(struct bpf_verifier_state *st,
-						        u32 hist_end, int insn_idx)
-{
-	if (hist_end > 0 && st->jmp_history[hist_end - 1].idx == insn_idx)
-		return &st->jmp_history[hist_end - 1];
-	return NULL;
-}
-
 /* Backtrack one insn at a time. If idx is not at the top of recorded
  * history then previous instruction came from straight line execution.
  * Return -ENOENT if we exhausted all instructions within given state.
@@ -3629,14 +3591,9 @@ static inline bool bt_is_reg_set(struct
 	return bt->reg_masks[bt->frame] & (1 << reg);
 }
 
-static inline bool bt_is_frame_slot_set(struct backtrack_state *bt, u32 frame, u32 slot)
-{
-	return bt->stack_masks[frame] & (1ull << slot);
-}
-
 static inline bool bt_is_slot_set(struct backtrack_state *bt, u32 slot)
 {
-	return bt_is_frame_slot_set(bt, bt->frame, slot);
+	return bt->stack_masks[bt->frame] & (1ull << slot);
 }
 
 /* format registers bitmask, e.g., "r0,r2,r4" for 0x15 mask */
@@ -3690,7 +3647,7 @@ static bool calls_callback(struct bpf_ve
  *   - *was* processed previously during backtracking.
  */
 static int backtrack_insn(struct bpf_verifier_env *env, int idx, int subseq_idx,
-			  struct bpf_jmp_history_entry *hist, struct backtrack_state *bt)
+			  struct backtrack_state *bt)
 {
 	const struct bpf_insn_cbs cbs = {
 		.cb_call	= disasm_kfunc_name,
@@ -3703,7 +3660,7 @@ static int backtrack_insn(struct bpf_ver
 	u8 mode = BPF_MODE(insn->code);
 	u32 dreg = insn->dst_reg;
 	u32 sreg = insn->src_reg;
-	u32 spi, i, fr;
+	u32 spi, i;
 
 	if (insn->code == 0)
 		return 0;
@@ -3766,15 +3723,20 @@ static int backtrack_insn(struct bpf_ver
 		 * by 'precise' mark in corresponding register of this state.
 		 * No further tracking necessary.
 		 */
-		if (!hist || !(hist->flags & INSN_F_STACK_ACCESS))
+		if (insn->src_reg != BPF_REG_FP)
 			return 0;
+
 		/* dreg = *(u64 *)[fp - off] was a fill from the stack.
 		 * that [fp - off] slot contains scalar that needs to be
 		 * tracked with precision
 		 */
-		spi = insn_stack_access_spi(hist->flags);
-		fr = insn_stack_access_frameno(hist->flags);
-		bt_set_frame_slot(bt, fr, spi);
+		spi = (-insn->off - 1) / BPF_REG_SIZE;
+		if (spi >= 64) {
+			verbose(env, "BUG spi %d\n", spi);
+			WARN_ONCE(1, "verifier backtracking bug");
+			return -EFAULT;
+		}
+		bt_set_slot(bt, spi);
 	} else if (class == BPF_STX || class == BPF_ST) {
 		if (bt_is_reg_set(bt, dreg))
 			/* stx & st shouldn't be using _scalar_ dst_reg
@@ -3783,13 +3745,17 @@ static int backtrack_insn(struct bpf_ver
 			 */
 			return -ENOTSUPP;
 		/* scalars can only be spilled into stack */
-		if (!hist || !(hist->flags & INSN_F_STACK_ACCESS))
+		if (insn->dst_reg != BPF_REG_FP)
 			return 0;
-		spi = insn_stack_access_spi(hist->flags);
-		fr = insn_stack_access_frameno(hist->flags);
-		if (!bt_is_frame_slot_set(bt, fr, spi))
+		spi = (-insn->off - 1) / BPF_REG_SIZE;
+		if (spi >= 64) {
+			verbose(env, "BUG spi %d\n", spi);
+			WARN_ONCE(1, "verifier backtracking bug");
+			return -EFAULT;
+		}
+		if (!bt_is_slot_set(bt, spi))
 			return 0;
-		bt_clear_frame_slot(bt, fr, spi);
+		bt_clear_slot(bt, spi);
 		if (class == BPF_STX)
 			bt_set_reg(bt, sreg);
 	} else if (class == BPF_JMP || class == BPF_JMP32) {
@@ -3833,14 +3799,10 @@ static int backtrack_insn(struct bpf_ver
 					WARN_ONCE(1, "verifier backtracking bug");
 					return -EFAULT;
 				}
-				/* we are now tracking register spills correctly,
-				 * so any instance of leftover slots is a bug
-				 */
-				if (bt_stack_mask(bt) != 0) {
-					verbose(env, "BUG stack slots %llx\n", bt_stack_mask(bt));
-					WARN_ONCE(1, "verifier backtracking bug (subprog leftover stack slots)");
-					return -EFAULT;
-				}
+				/* we don't track register spills perfectly,
+				 * so fallback to force-precise instead of failing */
+				if (bt_stack_mask(bt) != 0)
+					return -ENOTSUPP;
 				/* propagate r1-r5 to the caller */
 				for (i = BPF_REG_1; i <= BPF_REG_5; i++) {
 					if (bt_is_reg_set(bt, i)) {
@@ -3865,11 +3827,8 @@ static int backtrack_insn(struct bpf_ver
 				WARN_ONCE(1, "verifier backtracking bug");
 				return -EFAULT;
 			}
-			if (bt_stack_mask(bt) != 0) {
-				verbose(env, "BUG stack slots %llx\n", bt_stack_mask(bt));
-				WARN_ONCE(1, "verifier backtracking bug (callback leftover stack slots)");
-				return -EFAULT;
-			}
+			if (bt_stack_mask(bt) != 0)
+				return -ENOTSUPP;
 			/* clear r1-r5 in callback subprog's mask */
 			for (i = BPF_REG_1; i <= BPF_REG_5; i++)
 				bt_clear_reg(bt, i);
@@ -4306,7 +4265,6 @@ static int __mark_chain_precision(struct
 	for (;;) {
 		DECLARE_BITMAP(mask, 64);
 		u32 history = st->jmp_history_cnt;
-		struct bpf_jmp_history_entry *hist;
 
 		if (env->log.level & BPF_LOG_LEVEL2) {
 			verbose(env, "mark_precise: frame%d: last_idx %d first_idx %d subseq_idx %d \n",
@@ -4370,8 +4328,7 @@ static int __mark_chain_precision(struct
 				err = 0;
 				skip_first = false;
 			} else {
-				hist = get_jmp_hist_entry(st, history, i);
-				err = backtrack_insn(env, i, subseq_idx, hist, bt);
+				err = backtrack_insn(env, i, subseq_idx, bt);
 			}
 			if (err == -ENOTSUPP) {
 				mark_all_scalars_precise(env, env->cur_state);
@@ -4424,10 +4381,22 @@ static int __mark_chain_precision(struct
 			bitmap_from_u64(mask, bt_frame_stack_mask(bt, fr));
 			for_each_set_bit(i, mask, 64) {
 				if (i >= func->allocated_stack / BPF_REG_SIZE) {
-					verbose(env, "BUG backtracking (stack slot %d, total slots %d)\n",
-						i, func->allocated_stack / BPF_REG_SIZE);
-					WARN_ONCE(1, "verifier backtracking bug (stack slot out of bounds)");
-					return -EFAULT;
+					/* the sequence of instructions:
+					 * 2: (bf) r3 = r10
+					 * 3: (7b) *(u64 *)(r3 -8) = r0
+					 * 4: (79) r4 = *(u64 *)(r10 -8)
+					 * doesn't contain jmps. It's backtracked
+					 * as a single block.
+					 * During backtracking insn 3 is not recognized as
+					 * stack access, so at the end of backtracking
+					 * stack slot fp-8 is still marked in stack_mask.
+					 * However the parent state may not have accessed
+					 * fp-8 and it's "unallocated" stack space.
+					 * In such case fallback to conservative.
+					 */
+					mark_all_scalars_precise(env, env->cur_state);
+					bt_reset(bt);
+					return 0;
 				}
 
 				if (!is_spilled_scalar_reg(&func->stack[i])) {
@@ -4592,7 +4561,7 @@ static int check_stack_write_fixed_off(s
 	int i, slot = -off - 1, spi = slot / BPF_REG_SIZE, err;
 	struct bpf_insn *insn = &env->prog->insnsi[insn_idx];
 	struct bpf_reg_state *reg = NULL;
-	int insn_flags = insn_stack_access_flags(state->frameno, spi);
+	u32 dst_reg = insn->dst_reg;
 
 	/* caller checked that off % size == 0 and -MAX_BPF_STACK <= off < 0,
 	 * so it's aligned access and [off, off + size) are within stack limits
@@ -4631,6 +4600,17 @@ static int check_stack_write_fixed_off(s
 	mark_stack_slot_scratched(env, spi);
 	if (reg && !(off % BPF_REG_SIZE) && register_is_bounded(reg) &&
 	    !register_is_null(reg) && env->bpf_capable) {
+		if (dst_reg != BPF_REG_FP) {
+			/* The backtracking logic can only recognize explicit
+			 * stack slot address like [fp - 8]. Other spill of
+			 * scalar via different register has to be conservative.
+			 * Backtrack from here and mark all registers as precise
+			 * that contributed into 'reg' being a constant.
+			 */
+			err = mark_chain_precision(env, value_regno);
+			if (err)
+				return err;
+		}
 		save_register_state(state, spi, reg, size);
 		/* Break the relation on a narrowing spill. */
 		if (fls64(reg->umax_value) > BITS_PER_BYTE * size)
@@ -4642,7 +4622,6 @@ static int check_stack_write_fixed_off(s
 		__mark_reg_known(&fake_reg, insn->imm);
 		fake_reg.type = SCALAR_VALUE;
 		save_register_state(state, spi, &fake_reg, size);
-		insn_flags = 0; /* not a register spill */
 	} else if (reg && is_spillable_regtype(reg->type)) {
 		/* register containing pointer is being spilled into stack */
 		if (size != BPF_REG_SIZE) {
@@ -4688,12 +4667,9 @@ static int check_stack_write_fixed_off(s
 
 		/* Mark slots affected by this stack write. */
 		for (i = 0; i < size; i++)
-			state->stack[spi].slot_type[(slot - i) % BPF_REG_SIZE] = type;
-		insn_flags = 0; /* not a register spill */
+			state->stack[spi].slot_type[(slot - i) % BPF_REG_SIZE] =
+				type;
 	}
-
-	if (insn_flags)
-		return push_jmp_history(env, env->cur_state, insn_flags);
 	return 0;
 }
 
@@ -4882,7 +4858,6 @@ static int check_stack_read_fixed_off(st
 	int i, slot = -off - 1, spi = slot / BPF_REG_SIZE;
 	struct bpf_reg_state *reg;
 	u8 *stype, type;
-	int insn_flags = insn_stack_access_flags(reg_state->frameno, spi);
 
 	stype = reg_state->stack[spi].slot_type;
 	reg = &reg_state->stack[spi].spilled_ptr;
@@ -4928,10 +4903,12 @@ static int check_stack_read_fixed_off(st
 					return -EACCES;
 				}
 				mark_reg_unknown(env, state->regs, dst_regno);
-				insn_flags = 0; /* not restoring original register state */
 			}
 			state->regs[dst_regno].live |= REG_LIVE_WRITTEN;
-		} else if (dst_regno >= 0) {
+			return 0;
+		}
+
+		if (dst_regno >= 0) {
 			/* restore register state from stack */
 			copy_register_state(&state->regs[dst_regno], reg);
 			/* mark reg as written since spilled pointer state likely
@@ -4967,10 +4944,7 @@ static int check_stack_read_fixed_off(st
 		mark_reg_read(env, reg, reg->parent, REG_LIVE_READ64);
 		if (dst_regno >= 0)
 			mark_reg_stack_read(env, reg_state, off, off + size, dst_regno);
-		insn_flags = 0; /* we are not restoring spilled register */
 	}
-	if (insn_flags)
-		return push_jmp_history(env, env->cur_state, insn_flags);
 	return 0;
 }
 
@@ -7054,6 +7028,7 @@ static int check_atomic(struct bpf_verif
 			       BPF_SIZE(insn->code), BPF_WRITE, -1, true, false);
 	if (err)
 		return err;
+
 	return 0;
 }
 
@@ -16802,8 +16777,7 @@ hit:
 			 * the precision needs to be propagated back in
 			 * the current state.
 			 */
-			if (is_jmp_point(env, env->insn_idx))
-				err = err ? : push_jmp_history(env, cur, 0);
+			err = err ? : push_jmp_history(env, cur);
 			err = err ? : propagate_precision(env, &sl->state);
 			if (err)
 				return err;
@@ -17027,9 +17001,6 @@ static int do_check(struct bpf_verifier_
 		u8 class;
 		int err;
 
-		/* reset current history entry on each new instruction */
-		env->cur_hist_ent = NULL;
-
 		env->prev_insn_idx = prev_insn_idx;
 		if (env->insn_idx >= insn_cnt) {
 			verbose(env, "invalid insn idx %d insn_cnt %d\n",
@@ -17069,7 +17040,7 @@ static int do_check(struct bpf_verifier_
 		}
 
 		if (is_jmp_point(env, env->insn_idx)) {
-			err = push_jmp_history(env, state, 0);
+			err = push_jmp_history(env, state);
 			if (err)
 				return err;
 		}
--- a/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
+++ b/tools/testing/selftests/bpf/progs/verifier_subprog_precision.c
@@ -541,24 +541,11 @@ static __u64 subprog_spill_reg_precise(v
 
 SEC("?raw_tp")
 __success __log_level(2)
-__msg("10: (0f) r1 += r7")
-__msg("mark_precise: frame0: last_idx 10 first_idx 7 subseq_idx -1")
-__msg("mark_precise: frame0: regs=r7 stack= before 9: (bf) r1 = r8")
-__msg("mark_precise: frame0: regs=r7 stack= before 8: (27) r7 *= 4")
-__msg("mark_precise: frame0: regs=r7 stack= before 7: (79) r7 = *(u64 *)(r10 -8)")
-__msg("mark_precise: frame0: parent state regs= stack=-8:  R0_w=2 R6_w=1 R8_rw=map_value(map=.data.vals,ks=4,vs=16) R10=fp0 fp-8_rw=P1")
-__msg("mark_precise: frame0: last_idx 18 first_idx 0 subseq_idx 7")
-__msg("mark_precise: frame0: regs= stack=-8 before 18: (95) exit")
-__msg("mark_precise: frame1: regs= stack= before 17: (0f) r0 += r2")
-__msg("mark_precise: frame1: regs= stack= before 16: (79) r2 = *(u64 *)(r1 +0)")
-__msg("mark_precise: frame1: regs= stack= before 15: (79) r0 = *(u64 *)(r10 -16)")
-__msg("mark_precise: frame1: regs= stack= before 14: (7b) *(u64 *)(r10 -16) = r2")
-__msg("mark_precise: frame1: regs= stack= before 13: (7b) *(u64 *)(r1 +0) = r2")
-__msg("mark_precise: frame1: regs=r2 stack= before 6: (85) call pc+6")
-__msg("mark_precise: frame0: regs=r2 stack= before 5: (bf) r2 = r6")
-__msg("mark_precise: frame0: regs=r6 stack= before 4: (07) r1 += -8")
-__msg("mark_precise: frame0: regs=r6 stack= before 3: (bf) r1 = r10")
-__msg("mark_precise: frame0: regs=r6 stack= before 2: (b7) r6 = 1")
+/* precision backtracking can't currently handle stack access not through r10,
+ * so we won't be able to mark stack slot fp-8 as precise, and so will
+ * fallback to forcing all as precise
+ */
+__msg("mark_precise: frame0: falling back to forcing all scalars precise")
 __naked int subprog_spill_into_parent_stack_slot_precise(void)
 {
 	asm volatile (
--- a/tools/testing/selftests/bpf/verifier/precise.c
+++ b/tools/testing/selftests/bpf/verifier/precise.c
@@ -140,11 +140,10 @@
 	.result = REJECT,
 },
 {
-	"precise: ST zero to stack insn is supported",
+	"precise: ST insn causing spi > allocated_stack",
 	.insns = {
 	BPF_MOV64_REG(BPF_REG_3, BPF_REG_10),
 	BPF_JMP_IMM(BPF_JNE, BPF_REG_3, 123, 0),
-	/* not a register spill, so we stop precision propagation for R4 here */
 	BPF_ST_MEM(BPF_DW, BPF_REG_3, -8, 0),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -8),
 	BPF_MOV64_IMM(BPF_REG_0, -1),
@@ -158,11 +157,11 @@
 	mark_precise: frame0: last_idx 4 first_idx 2\
 	mark_precise: frame0: regs=r4 stack= before 4\
 	mark_precise: frame0: regs=r4 stack= before 3\
+	mark_precise: frame0: regs= stack=-8 before 2\
+	mark_precise: frame0: falling back to forcing all scalars precise\
+	force_precise: frame0: forcing r0 to be precise\
 	mark_precise: frame0: last_idx 5 first_idx 5\
-	mark_precise: frame0: parent state regs=r0 stack=:\
-	mark_precise: frame0: last_idx 4 first_idx 2\
-	mark_precise: frame0: regs=r0 stack= before 4\
-	5: R0=-1 R4=0",
+	mark_precise: frame0: parent state regs= stack=:",
 	.result = VERBOSE_ACCEPT,
 	.retval = -1,
 },
@@ -170,8 +169,6 @@
 	"precise: STX insn causing spi > allocated_stack",
 	.insns = {
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_get_prandom_u32),
-	/* make later reg spill more interesting by having somewhat known scalar */
-	BPF_ALU64_IMM(BPF_AND, BPF_REG_0, 0xff),
 	BPF_MOV64_REG(BPF_REG_3, BPF_REG_10),
 	BPF_JMP_IMM(BPF_JNE, BPF_REG_3, 123, 0),
 	BPF_STX_MEM(BPF_DW, BPF_REG_3, BPF_REG_0, -8),
@@ -182,21 +179,18 @@
 	},
 	.prog_type = BPF_PROG_TYPE_XDP,
 	.flags = BPF_F_TEST_STATE_FREQ,
-	.errstr = "mark_precise: frame0: last_idx 7 first_idx 7\
+	.errstr = "mark_precise: frame0: last_idx 6 first_idx 6\
 	mark_precise: frame0: parent state regs=r4 stack=:\
-	mark_precise: frame0: last_idx 6 first_idx 4\
-	mark_precise: frame0: regs=r4 stack= before 6: (b7) r0 = -1\
-	mark_precise: frame0: regs=r4 stack= before 5: (79) r4 = *(u64 *)(r10 -8)\
-	mark_precise: frame0: regs= stack=-8 before 4: (7b) *(u64 *)(r3 -8) = r0\
-	mark_precise: frame0: parent state regs=r0 stack=:\
-	mark_precise: frame0: last_idx 3 first_idx 3\
-	mark_precise: frame0: regs=r0 stack= before 3: (55) if r3 != 0x7b goto pc+0\
-	mark_precise: frame0: regs=r0 stack= before 2: (bf) r3 = r10\
-	mark_precise: frame0: regs=r0 stack= before 1: (57) r0 &= 255\
-	mark_precise: frame0: parent state regs=r0 stack=:\
-	mark_precise: frame0: last_idx 0 first_idx 0\
-	mark_precise: frame0: regs=r0 stack= before 0: (85) call bpf_get_prandom_u32#7\
-	mark_precise: frame0: last_idx 7 first_idx 7\
+	mark_precise: frame0: last_idx 5 first_idx 3\
+	mark_precise: frame0: regs=r4 stack= before 5\
+	mark_precise: frame0: regs=r4 stack= before 4\
+	mark_precise: frame0: regs= stack=-8 before 3\
+	mark_precise: frame0: falling back to forcing all scalars precise\
+	force_precise: frame0: forcing r0 to be precise\
+	force_precise: frame0: forcing r0 to be precise\
+	force_precise: frame0: forcing r0 to be precise\
+	force_precise: frame0: forcing r0 to be precise\
+	mark_precise: frame0: last_idx 6 first_idx 6\
 	mark_precise: frame0: parent state regs= stack=:",
 	.result = VERBOSE_ACCEPT,
 	.retval = -1,



  parent reply	other threads:[~2025-01-06 15:33 UTC|newest]

Thread overview: 257+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-01-06 15:13 [PATCH 6.6 000/222] 6.6.70-rc1 review Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 001/222] drm/amd/display: Fix DSC-re-computing Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 002/222] drm/amd/display: Fix incorrect DSC recompute trigger Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 003/222] docs: media: update location of the media patches Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 004/222] x86/mm: Carve out INVLPG inline asm for use by others Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 005/222] smb/client: rename cifs_ntsd to smb_ntsd Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 006/222] smb/client: rename cifs_sid to smb_sid Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 007/222] smb/client: rename cifs_acl to smb_acl Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 008/222] smb/client: rename cifs_ace to smb_ace Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 009/222] fs/smb/client: implement chmod() for SMB3 POSIX Extensions Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 010/222] smb: client: stop flooding dmesg in smb2_calc_signature() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 011/222] smb: client: fix use-after-free of signing key Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 012/222] usb: dwc3: gadget: Add missing check for single port RAM in TxFIFO resizing logic Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 013/222] sched: Initialize idle tasks only once Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 014/222] drm/radeon: Delay Connector detecting when HPD singals is unstable Greg Kroah-Hartman
2025-01-08  0:00   ` Deucher, Alexander
2025-01-09 11:33     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 015/222] Revert "drm/radeon: Delay Connector detecting when HPD singals is unstable" Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 016/222] rust: relax most deny-level lints to warnings Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 017/222] rust: allow `clippy::needless_lifetimes` Greg Kroah-Hartman
2025-01-06 19:41   ` Miguel Ojeda
2025-01-09 11:35     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 018/222] NUMA: optimize detection of memory with no node id assigned by firmware Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 019/222] memblock: allow zero threshold in validate_numa_converage() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 020/222] ext4: convert to new timestamp accessors Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 021/222] ext4: partial zero eof block on unaligned inode size extension Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 022/222] crypto: ecdsa - Convert byte arrays with key coordinates to digits Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 023/222] crypto: ecdsa - Rename keylen to bufsize where necessary Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 024/222] crypto: ecdsa - Use ecc_digits_from_bytes to convert signature Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 025/222] crypto: ecdsa - Avoid signed integer overflow on signature decoding Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 026/222] cleanup: Add conditional guard support Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 027/222] cleanup: Adjust scoped_guard() macros to avoid potential warning Greg Kroah-Hartman
2025-01-07 10:01   ` Przemek Kitszel
2025-01-07 10:39     ` Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 028/222] media: uvcvideo: Force UVC version to 1.0a for 0408:4035 Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 029/222] media: uvcvideo: Force UVC version to 1.0a for 0408:4033 Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 030/222] wifi: mac80211: export ieee80211_purge_tx_queue() for drivers Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 031/222] wifi: rtw88: use ieee80211_purge_tx_queue() to purge TX skb Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 032/222] wifi: ath12k: Optimize the mac80211 hw data access Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 033/222] wifi: mac80211: Add non-atomic station iterator Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 034/222] wifi: ath12k: fix atomic calls in ath12k_mac_op_set_bitrate_mask() Greg Kroah-Hartman
2025-01-06 15:13 ` [PATCH 6.6 035/222] wifi: ath10k: Update Qualcomm Innovation Center, Inc. copyrights Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 036/222] wifi: ath10k: avoid NULL pointer error during sdio remove Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 037/222] i2c: i801: Add support for Intel Arrow Lake-H Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 038/222] i2c: i801: Add support for Intel Panther Lake Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 039/222] Bluetooth: hci_conn: Reduce hci_conn_drop() calls in two functions Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 040/222] Bluetooth: Add support ITTIM PE50-M75C Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 041/222] Bluetooth: btusb: Add new VID/PID 13d3/3602 for MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 042/222] Bluetooth: btusb: Add USB HW IDs for MT7921/MT7922/MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 043/222] Bluetooth: btusb: Add new VID/PID 0489/e111 for MT7925 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 044/222] scsi: hisi_sas: Directly call register snapshot instead of using workqueue Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 045/222] scsi: hisi_sas: Allocate DFX memory during dump trigger Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 046/222] scsi: hisi_sas: Create all dump files during debugfs initialization Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 047/222] clk: qcom: clk-alpha-pll: Add support for zonda ole pll configure Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 048/222] clk: qcom: clk-alpha-pll: Add NSS HUAYRA ALPHA PLL support for ipq9574 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 049/222] mailbox: pcc: Add support for platform notification handling Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 050/222] mailbox: pcc: Support shared interrupt for multiple subspaces Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 051/222] ACPI: PCC: Add PCC shared memory region command and status bitfields Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 052/222] mailbox: pcc: Check before sending MCTP PCC response ACK Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 053/222] remoteproc: qcom: pas: Add sc7180 adsp Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 054/222] remoteproc: qcom: pas: Add support for SA8775p ADSP, CDSP and GPDSP Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 055/222] remoteproc: qcom: pas: enable SAR2130P audio DSP support Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 056/222] fs/ntfs3: Implement fallocate for compressed files Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 057/222] fs/ntfs3: Fix warning in ni_fiemap Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 058/222] usb: chipidea: add CI_HDRC_FORCE_VBUS_ACTIVE_ALWAYS flag Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 059/222] usb: chipidea: add CI_HDRC_HAS_SHORT_PKT_LIMIT flag Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 060/222] usb: chipidea: udc: limit usb request length to max 16KB Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 061/222] iio: adc: ad7192: Convert from of specific to fwnode property handling Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 062/222] iio: adc: ad7192: properly check spi_get_device_match_data() Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 063/222] usb: typec: ucsi: add callback for connector status updates Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 064/222] usb: typec: ucsi: glink: move GPIO reading into connector_status callback Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 065/222] usb: typec: ucsi: add update_connector callback Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 066/222] usb: typec: ucsi: glink: set orientation aware if supported Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 067/222] usb: typec: ucsi: glink: be more precise on orientation-aware ports Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 068/222] nvme: use helper nvme_ctrl_state in nvme_keep_alive_finish function Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 069/222] Revert "nvme: make keep-alive synchronous operation" Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 070/222] net/mlx5: unique names for per device caches Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 071/222] softirq: Allow raising SCHED_SOFTIRQ from SMP-call-function on RT kernel Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 072/222] net: renesas: rswitch: fix possible early skb release Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 073/222] xhci: retry Stop Endpoint on buggy NEC controllers Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 074/222] usb: xhci: Limit Stop Endpoint retries Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 075/222] xhci: Turn NEC specific quirk for handling Stop Endpoint errors generic Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 076/222] thunderbolt: Add support for Intel Lunar Lake Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 077/222] thunderbolt: Add support for Intel Panther Lake-M/P Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 078/222] thunderbolt: Dont display nvm_version unless upgrade supported Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 079/222] x86, crash: wrap crash dumping code into crash related ifdefs Greg Kroah-Hartman
2025-01-09 17:39   ` Ignat Korchagin
2025-01-09 18:07     ` Greg Kroah-Hartman
2025-01-09 18:08       ` Ignat Korchagin
2025-01-09 20:44         ` Ignat Korchagin
2025-01-10  9:58           ` Greg Kroah-Hartman
2025-01-10 10:05             ` Ignat Korchagin
2025-01-10 13:51               ` Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 080/222] x86/hyperv: Fix hv tsc page based sched_clock for hibernation Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 081/222] of: address: Remove duplicated functions Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 082/222] of: address: Store number of bus flag cells rather than bool Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 083/222] of: address: Preserve the flags portion on 1:1 dma-ranges mapping Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 084/222] watchdog: rzg2l_wdt: Remove reset de-assert from probe Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 085/222] watchdog: rzg2l_wdt: Rely on the reset driver for doing proper reset Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 086/222] watchdog: rzg2l_wdt: Power on the watchdog domain in the restart handler Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 087/222] udf_rename(): only access the child content on cross-directory rename Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 088/222] udf: Verify inode link counts before performing rename Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 089/222] ALSA: ump: Use guard() for locking Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 090/222] ALSA: ump: Dont open legacy substream for an inactive group Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 091/222] ALSA: ump: Indicate the inactive group in legacy substream names Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 092/222] ALSA: ump: Update legacy substream names upon FB info update Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 093/222] scsi: mpi3mr: Use ida to manage mrioc ID Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 094/222] scsi: mpi3mr: Start controller indexing from 0 Greg Kroah-Hartman
2025-01-06 15:14 ` [PATCH 6.6 095/222] ACPI/IORT: Add PMCG platform information for HiSilicon HIP10/11 Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 096/222] ACPI/IORT: Add PMCG platform information for HiSilicon HIP09A Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 097/222] x86/ptrace: Cleanup the definition of the pt_regs structure Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 098/222] x86/ptrace: Add FRED additional information to " Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 099/222] x86/fred: Clear WFE in missing-ENDBRANCH #CPs Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 100/222] btrfs: rename and export __btrfs_cow_block() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 101/222] btrfs: fix use-after-free when COWing tree bock and tracing is enabled Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 102/222] Bluetooth: btusb: add callback function in btusb suspend/resume Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 103/222] Bluetooth: btusb: mediatek: add callback function in btusb_disconnect Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 104/222] memblock: make memblock_set_node() also warn about use of MAX_NUMNODES Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 105/222] crypto: ecc - Prevent ecc_digits_from_bytes from reading too many bytes Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 106/222] cleanup: Remove address space of returned pointer Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 107/222] scsi: hisi_sas: Fix a deadlock issue related to automatic dump Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 108/222] usb: typec: ucsi: glink: fix off-by-one in connector_status Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 109/222] usb: xhci: Avoid queuing redundant Stop Endpoint commands Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 110/222] ALSA: ump: Shut up truncated string warning Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 111/222] platform/x86: mlx-platform: call pci_dev_put() to balance the refcount Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 112/222] f2fs: fix to wait dio completion Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 113/222] selinux: ignore unknown extended permissions Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 114/222] btrfs: fix use-after-free in btrfs_encoded_read_endio() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 115/222] mmc: sdhci-msm: fix crypto key eviction Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 116/222] tracing: Have process_string() also allow arrays Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 117/222] libceph: add doutc and *_client debug macros support Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 118/222] ceph: print cluster fsid and client global_id in all debug logs Greg Kroah-Hartman
2025-01-07 12:21   ` Ilya Dryomov
2025-01-07 13:04     ` Greg Kroah-Hartman
2025-01-07 15:52       ` Ilya Dryomov
2025-01-09 11:46         ` Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 119/222] ceph: give up on paths longer than PATH_MAX Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 120/222] net: mctp: handle skb cleanup on sock_queue failures Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 121/222] tracing: Move readpos from seq_buf to trace_seq Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 122/222] powerpc: Remove initialisation of readpos Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 123/222] seq_buf: Introduce DECLARE_SEQ_BUF and seq_buf_str() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 124/222] tracing: Handle old buffer mappings for event strings and functions Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 125/222] tracing: Fix trace_check_vprintf() when tp_printk is used Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 126/222] tracing: Check "%s" dereference via the field and not the TP_printk format Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 127/222] RDMA/bnxt_re: Allow MSN table capability check Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 128/222] RDMA/bnxt_re: Remove always true dattr validity check Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 129/222] RDMA/mlx5: Enforce same type port association for multiport RoCE Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 130/222] RDMA/bnxt_re: Avoid initializing the software queue for user queues Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 131/222] RDMA/bnxt_re: Avoid sending the modify QP workaround for latest adapters Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 132/222] nvme-pci: 512 byte aligned dma pool segment quirk Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 133/222] RDMA/bnxt_re: Fix the check for 9060 condition Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 134/222] RDMA/bnxt_re: Add check for path mtu in modify_qp Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 135/222] RDMA/bnxt_re: Fix reporting hw_ver in query_device Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 136/222] RDMA/bnxt_re: Fix max_qp_wrs reported Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 137/222] RDMA/bnxt_re: Add support for Variable WQE in Genp7 adapters Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 138/222] RDMA/bnxt_re: Disable use of reserved wqes Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 139/222] RDMA/bnxt_re: Add send queue size check for variable wqe Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 140/222] RDMA/bnxt_re: Fix MSN table size for variable wqe mode Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 141/222] RDMA/bnxt_re: Fix the locking while accessing the QP table Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 142/222] drm/bridge: adv7511_audio: Update Audio InfoFrame properly Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 143/222] net: dsa: microchip: Fix KSZ9477 set_ageing_time function Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 144/222] net: dsa: microchip: Fix LAN937X " Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 145/222] RDMA/hns: Refactor mtr find Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 146/222] RDMA/hns: Remove unused parameters and variables Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 147/222] RDMA/hns: Fix mapping error of zero-hop WQE buffer Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 148/222] RDMA/hns: Fix warning storm caused by invalid input in IO path Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 149/222] RDMA/hns: Fix missing flush CQE for DWQE Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 150/222] net: stmmac: dont create a MDIO bus if unnecessary Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 151/222] net: stmmac: restructure the error path of stmmac_probe_config_dt() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 152/222] net: fix memory leak in tcp_conn_request() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 153/222] ip_tunnel: annotate data-races around t->parms.link Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 154/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_bind_dev() Greg Kroah-Hartman
2025-01-06 15:15 ` [PATCH 6.6 155/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_md_tunnel_xmit() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 156/222] ipv4: ip_tunnel: Unmask upper DSCP bits in ip_tunnel_xmit() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 157/222] net: Fix netns for ip_tunnel_init_flow() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 158/222] netrom: check buffer length before accessing it Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 159/222] net/mlx5: DR, select MSIX vector 0 for completion queue creation Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 160/222] net/mlx5e: macsec: Maintain TX SA from encoding_sa Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 161/222] net/mlx5e: Skip restore TC rules for vport rep without loaded flag Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 162/222] drm/i915/dg1: Fix power gate sequence Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 163/222] netfilter: nft_set_hash: unaligned atomic read on struct nft_set_ext Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 164/222] net: llc: reset skb->transport_header Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 165/222] ALSA: usb-audio: US16x08: Initialize array before use Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 166/222] eth: bcmsysport: fix call balance of priv->clk handling routines Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 167/222] net: mv643xx_eth: fix an OF node reference leak Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 168/222] net: wwan: t7xx: Fix FSM command timeout issue Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 169/222] RDMA/rtrs: Ensure ib_sge list is accessible Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 170/222] net: sfc: Correct key_len for efx_tc_ct_zone_ht_params Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 171/222] net: reenable NETIF_F_IPV6_CSUM offload for BIG TCP packets Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 172/222] net: restrict SO_REUSEPORT to inet sockets Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 173/222] net: wwan: iosm: Properly check for valid exec stage in ipc_mmio_init() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 174/222] af_packet: fix vlan_get_tci() vs MSG_PEEK Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 175/222] af_packet: fix vlan_get_protocol_dgram() " Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 176/222] ila: serialize calls to nf_register_net_hooks() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 177/222] net: ti: icssg-prueth: Fix clearing of IEP_CMP_CFG registers during iep_init Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 178/222] wifi: mac80211: fix mbss changed flags corruption on 32 bit systems Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 179/222] wifi: mac80211: wake the queues in case of failure in resume Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 180/222] drm/amdkfd: Correct the migration DMA map direction Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 181/222] btrfs: flush delalloc workers queue before stopping cleaner kthread during unmount Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 182/222] ALSA: hda/ca0132: Use standard HD-audio quirk matching helpers Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 183/222] ALSA: hda/realtek: Add new alc2xx-fixup-headset-mic model Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 184/222] sound: usb: enable DSD output for ddHiFi TC44C Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 185/222] sound: usb: format: dont warn that raw DSD is unsupported Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 186/222] bpf: fix potential error return Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 187/222] ksmbd: retry iterate_dir in smb2_query_dir Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 188/222] ksmbd: set ATTR_CTIME flags when setting mtime Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 189/222] smb: client: destroy cfid_put_wq on module exit Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 190/222] net: usb: qmi_wwan: add Telit FE910C04 compositions Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 191/222] Bluetooth: hci_core: Fix sleeping function called from invalid context Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 192/222] irqchip/gic: Correct declaration of *percpu_base pointer in union gic_base Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 193/222] ARC: build: Try to guess GCC variant of cross compiler Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 194/222] seq_buf: Make DECLARE_SEQ_BUF() usable Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 195/222] RDMA/bnxt_re: Fix the max WQE size for static WQE support Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 196/222] modpost: fix input MODULE_DEVICE_TABLE() built for 64-bit on 32-bit host Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 197/222] modpost: fix the missed iteration for the max bit in do_input() Greg Kroah-Hartman
2025-01-06 15:16 ` Greg Kroah-Hartman [this message]
2025-01-06 15:16 ` [PATCH 6.6 199/222] ALSA: seq: Check UMP support for midi_version change Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 200/222] ALSA hda/realtek: Add quirk for Framework F111:000C Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 201/222] ALSA: seq: oss: Fix races at processing SysEx messages Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 202/222] ocfs2: fix slab-use-after-free due to dangling pointer dqi_priv Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 203/222] kcov: mark in_softirq_really() as __always_inline Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 204/222] scripts/sorttable: fix orc_sort_cmp() to maintain symmetry and transitivity Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 205/222] RDMA/uverbs: Prevent integer overflow issue Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 206/222] pinctrl: mcp23s08: Fix sleeping in atomic context due to regmap locking Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 207/222] sky2: Add device ID 11ab:4373 for Marvell 88E8075 Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 208/222] net/sctp: Prevent autoclose integer overflow in sctp_association_init() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 209/222] drm: adv7511: Drop dsi single lane support Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 210/222] dt-bindings: display: adi,adv7533: Drop " Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 211/222] drm: adv7511: Fix use-after-free in adv7533_attach_dsi() Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 212/222] fs/proc/task_mmu: fix pagemap flags with PMD THP entries on 32bit Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 213/222] gve: guard XSK operations on the existence of queues Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 214/222] gve: guard XDP xmit NDO on existence of xdp queues Greg Kroah-Hartman
2025-01-06 15:16 ` [PATCH 6.6 215/222] mm/readahead: fix large folio support in async readahead Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 216/222] mm/kmemleak: fix sleeping function called from invalid context at print message Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 217/222] mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim() Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 218/222] mptcp: fix TCP options overflow Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 219/222] mptcp: fix recvbuffer adjust on sleeping rcvmsg Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 220/222] mptcp: dont always assume copied data in mptcp_cleanup_rbuf() Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 221/222] RDMA/bnxt_re: Fix max SGEs for the Work Request Greg Kroah-Hartman
2025-01-06 15:17 ` [PATCH 6.6 222/222] scsi: hisi_sas: Remove redundant checks for automatic debugfs dump Greg Kroah-Hartman
2025-01-06 19:00 ` [PATCH 6.6 000/222] 6.6.70-rc1 review Naresh Kamboju
2025-01-09 11:39   ` Greg Kroah-Hartman
2025-01-06 20:04 ` Miguel Ojeda
2025-01-06 20:13 ` Florian Fainelli
2025-01-07  0:36 ` Peter Schneider
2025-01-07  1:16   ` Peter Schneider
2025-01-07  0:54 ` SeongJae Park
2025-01-07  7:03 ` Ron Economos
2025-01-07 10:24 ` Naresh Kamboju
2025-01-07 13:01   ` Mike Rapoport
2025-01-09 11:52     ` Greg Kroah-Hartman
2025-01-07 12:33 ` Mark Brown
2025-01-07 12:44 ` Jon Hunter
2025-01-07 21:20 ` [PATCH 6.6] " Hardik Garg
2025-01-07 23:15 ` [PATCH 6.6 000/222] " Shuah Khan
2025-01-08 12:27 ` Muhammad Usama Anjum
2025-01-08 14:12 ` Harshit Mogalapalli

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=20250106151158.255485255@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=patches@lists.linux.dev \
    --cc=rsworktech@outlook.com \
    --cc=shung-hsi.yu@suse.com \
    --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