stable.vger.kernel.org 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, Eduard Zingerman <eddyz87@gmail.com>,
	Alexei Starovoitov <ast@kernel.org>,
	Sasha Levin <sashal@kernel.org>
Subject: [PATCH 6.1 086/170] bpf: track immediate values written to stack by BPF_ST instruction
Date: Mon, 26 Jun 2023 20:10:55 +0200	[thread overview]
Message-ID: <20230626180804.421423896@linuxfoundation.org> (raw)
In-Reply-To: <20230626180800.476539630@linuxfoundation.org>

From: Eduard Zingerman <eddyz87@gmail.com>

[ Upstream commit ecdf985d7615356b78241fdb159c091830ed0380 ]

For aligned stack writes using BPF_ST instruction track stored values
in a same way BPF_STX is handled, e.g. make sure that the following
commands produce similar verifier knowledge:

  fp[-8] = 42;             r1 = 42;
                       fp[-8] = r1;

This covers two cases:
 - non-null values written to stack are stored as spill of fake
   registers;
 - null values written to stack are stored as STACK_ZERO marks.

Previously both cases above used STACK_MISC marks instead.

Some verifier test cases relied on the old logic to obtain STACK_MISC
marks for some stack values. These test cases are updated in the same
commit to avoid failures during bisect.

Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Link: https://lore.kernel.org/r/20230214232030.1502829-2-eddyz87@gmail.com
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Stable-dep-of: 713274f1f2c8 ("bpf: Fix verifier id tracking of scalars on spill")
Signed-off-by: Sasha Levin <sashal@kernel.org>
---
 kernel/bpf/verifier.c                         |  18 ++-
 .../bpf/verifier/bounds_mix_sign_unsign.c     | 110 ++++++++++--------
 2 files changed, 80 insertions(+), 48 deletions(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index a0e573c08f79f..c4ceb4166528b 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -3061,6 +3061,11 @@ static void save_register_state(struct bpf_func_state *state,
 		scrub_spilled_slot(&state->stack[spi].slot_type[i - 1]);
 }
 
+static bool is_bpf_st_mem(struct bpf_insn *insn)
+{
+	return BPF_CLASS(insn->code) == BPF_ST && BPF_MODE(insn->code) == BPF_MEM;
+}
+
 /* check_stack_{read,write}_fixed_off functions track spill/fill of registers,
  * stack boundary and alignment are checked in check_mem_access()
  */
@@ -3072,8 +3077,9 @@ static int check_stack_write_fixed_off(struct bpf_verifier_env *env,
 {
 	struct bpf_func_state *cur; /* state of the current function */
 	int i, slot = -off - 1, spi = slot / BPF_REG_SIZE, err;
-	u32 dst_reg = env->prog->insnsi[insn_idx].dst_reg;
+	struct bpf_insn *insn = &env->prog->insnsi[insn_idx];
 	struct bpf_reg_state *reg = NULL;
+	u32 dst_reg = insn->dst_reg;
 
 	err = grow_stack_state(state, round_up(slot + 1, BPF_REG_SIZE));
 	if (err)
@@ -3122,6 +3128,13 @@ static int check_stack_write_fixed_off(struct bpf_verifier_env *env,
 				return err;
 		}
 		save_register_state(state, spi, reg, size);
+	} else if (!reg && !(off % BPF_REG_SIZE) && is_bpf_st_mem(insn) &&
+		   insn->imm != 0 && env->bpf_capable) {
+		struct bpf_reg_state fake_reg = {};
+
+		__mark_reg_known(&fake_reg, (u32)insn->imm);
+		fake_reg.type = SCALAR_VALUE;
+		save_register_state(state, spi, &fake_reg, size);
 	} else if (reg && is_spillable_regtype(reg->type)) {
 		/* register containing pointer is being spilled into stack */
 		if (size != BPF_REG_SIZE) {
@@ -3156,7 +3169,8 @@ static int check_stack_write_fixed_off(struct bpf_verifier_env *env,
 			state->stack[spi].spilled_ptr.live |= REG_LIVE_WRITTEN;
 
 		/* when we zero initialize stack slots mark them as such */
-		if (reg && register_is_null(reg)) {
+		if ((reg && register_is_null(reg)) ||
+		    (!reg && is_bpf_st_mem(insn) && insn->imm == 0)) {
 			/* backtracking doesn't work for STACK_ZERO yet. */
 			err = mark_chain_precision(env, value_regno);
 			if (err)
diff --git a/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c b/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c
index c2aa6f26738b4..bf82b923c5fe5 100644
--- a/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c
+++ b/tools/testing/selftests/bpf/verifier/bounds_mix_sign_unsign.c
@@ -1,13 +1,14 @@
 {
 	"bounds checks mixing signed and unsigned, positive bounds",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, 2),
 	BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 3),
@@ -17,20 +18,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 3),
@@ -40,20 +42,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 2",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 5),
@@ -65,20 +68,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 3",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 4),
@@ -89,20 +93,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 4",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, 1),
 	BPF_ALU64_REG(BPF_AND, BPF_REG_1, BPF_REG_2),
@@ -112,19 +117,20 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.result = ACCEPT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 5",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 5),
@@ -135,17 +141,20 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 6",
 	.insns = {
+	BPF_MOV64_REG(BPF_REG_9, BPF_REG_1),
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
+	BPF_MOV64_REG(BPF_REG_1, BPF_REG_9),
 	BPF_MOV64_IMM(BPF_REG_2, 0),
 	BPF_MOV64_REG(BPF_REG_3, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_3, -512),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_4, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_6, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_4, BPF_REG_6, 5),
@@ -163,13 +172,14 @@
 {
 	"bounds checks mixing signed and unsigned, variant 7",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, 1024 * 1024 * 1024),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, 3),
@@ -179,19 +189,20 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.result = ACCEPT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 8",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2),
@@ -203,20 +214,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 9",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 10),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_LD_IMM64(BPF_REG_2, -9223372036854775808ULL),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2),
@@ -228,19 +240,20 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.result = ACCEPT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 10",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, 0),
 	BPF_JMP_REG(BPF_JGT, BPF_REG_2, BPF_REG_1, 2),
@@ -252,20 +265,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 11",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2),
@@ -278,20 +292,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 12",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 9),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -6),
 	BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2),
@@ -303,20 +318,21 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 13",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 6),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 5),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, 2),
 	BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2),
@@ -331,7 +347,7 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
@@ -340,13 +356,14 @@
 	.insns = {
 	BPF_LDX_MEM(BPF_W, BPF_REG_9, BPF_REG_1,
 		    offsetof(struct __sk_buff, mark)),
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 8),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 7),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -1),
 	BPF_MOV64_IMM(BPF_REG_8, 2),
@@ -360,20 +377,21 @@
 	BPF_JMP_REG(BPF_JGT, BPF_REG_1, BPF_REG_2, -3),
 	BPF_JMP_IMM(BPF_JA, 0, 0, -7),
 	},
-	.fixup_map_hash_8b = { 4 },
+	.fixup_map_hash_8b = { 6 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
 {
 	"bounds checks mixing signed and unsigned, variant 15",
 	.insns = {
+	BPF_EMIT_CALL(BPF_FUNC_ktime_get_ns),
+	BPF_STX_MEM(BPF_DW, BPF_REG_10, BPF_REG_0, -16),
 	BPF_ST_MEM(BPF_DW, BPF_REG_10, -8, 0),
 	BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
 	BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
 	BPF_LD_MAP_FD(BPF_REG_1, 0),
 	BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_map_lookup_elem),
-	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 4),
-	BPF_ST_MEM(BPF_DW, BPF_REG_10, -16, -8),
+	BPF_JMP_IMM(BPF_JEQ, BPF_REG_0, 0, 3),
 	BPF_LDX_MEM(BPF_DW, BPF_REG_1, BPF_REG_10, -16),
 	BPF_MOV64_IMM(BPF_REG_2, -6),
 	BPF_JMP_REG(BPF_JGE, BPF_REG_2, BPF_REG_1, 2),
@@ -387,7 +405,7 @@
 	BPF_MOV64_IMM(BPF_REG_0, 0),
 	BPF_EXIT_INSN(),
 	},
-	.fixup_map_hash_8b = { 3 },
+	.fixup_map_hash_8b = { 5 },
 	.errstr = "unbounded min value",
 	.result = REJECT,
 },
-- 
2.39.2




  parent reply	other threads:[~2023-06-26 18:32 UTC|newest]

Thread overview: 180+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-06-26 18:09 [PATCH 6.1 000/170] 6.1.36-rc1 review Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 001/170] drm/amd/display: Use dc_update_planes_and_stream Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 002/170] drm/amd/display: Add wrapper to call planes and stream update Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 003/170] drm/amd/display: fix the system hang while disable PSR Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 004/170] tty: serial: fsl_lpuart: make rx_watermark configurable for different platforms Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 005/170] tty: serial: fsl_lpuart: reduce RX watermark to 0 on LS1028A Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 006/170] ata: libata-scsi: Avoid deadlock on rescan after device resume Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 007/170] mm: Fix copy_from_user_nofault() Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 008/170] tpm, tpm_tis: Claim locality in interrupt handler Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 009/170] tpm_crb: Add support for CRB devices based on Pluton Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 010/170] ksmbd: validate command payload size Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 011/170] ksmbd: fix out-of-bound read in smb2_write Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 012/170] ksmbd: validate session id and tree id in the compound request Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 013/170] tick/common: Align tick period during sched_timer setup Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 014/170] selftests: mptcp: remove duplicated entries in usage Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 015/170] selftests: mptcp: join: fix ShellCheck warnings Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 016/170] selftests: mptcp: lib: skip if missing symbol Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 017/170] selftests: mptcp: connect: skip transp tests if not supported Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 018/170] selftests: mptcp: connect: skip disconnect " Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 019/170] selftests: mptcp: pm nl: remove hardcoded default limits Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 020/170] selftests: mptcp: pm nl: skip fullmesh flag checks if not supported Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 021/170] selftests: mptcp: sockopt: relax expected returned size Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 022/170] selftests: mptcp: sockopt: skip getsockopt checks if not supported Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 023/170] selftests: mptcp: userspace pm: skip if ip tool is unavailable Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 024/170] selftests: mptcp: userspace pm: skip if not supported Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 025/170] selftests: mptcp: lib: skip if not below kernel version Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 026/170] selftests: mptcp: join: use iptables-legacy if available Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 027/170] selftests: mptcp: join: helpers to skip tests Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 028/170] selftests: mptcp: join: skip check if MIB counter not supported Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 029/170] selftests: mptcp: join: support local endpoint being tracked or not Greg Kroah-Hartman
2023-06-26 18:09 ` [PATCH 6.1 030/170] selftests: mptcp: join: skip Fastclose tests if not supported Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 031/170] selftests: mptcp: join: support RM_ADDR for used endpoints or not Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 032/170] selftests: mptcp: join: skip implicit tests if not supported Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 033/170] selftests: mptcp: join: skip backup if set flag on ID " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 034/170] selftests: mptcp: join: skip fullmesh flag tests if " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 035/170] selftests: mptcp: join: skip MPC backups " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 036/170] selftests/mount_setattr: fix redefine struct mount_attr build error Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 037/170] selftests: mptcp: diag: skip listen tests if not supported Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 038/170] selftests: mptcp: sockopt: skip TCP_INQ checks " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 039/170] selftests: mptcp: join: skip test if iptables/tc cmds fail Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 040/170] selftests: mptcp: join: skip userspace PM tests if not supported Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 041/170] selftests: mptcp: join: skip fail " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 042/170] selftests: mptcp: join: fix "userspace pm add & remove address" Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 043/170] writeback: fix dereferencing NULL mapping->host on writeback_page_template Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 044/170] scripts: fix the gfp flags header path in gfp-translate Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 045/170] nilfs2: fix buffer corruption due to concurrent device reads Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 046/170] ACPI: sleep: Avoid breaking S3 wakeup due to might_sleep() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 047/170] KVM: Avoid illegal stage2 mapping on invalid memory slot Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 048/170] Drivers: hv: vmbus: Call hv_synic_free() if hv_synic_alloc() fails Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 049/170] Drivers: hv: vmbus: Fix vmbus_wait_for_unload() to scan present CPUs Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 050/170] PCI: hv: Fix a race condition bug in hv_pci_query_relations() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 051/170] Revert "PCI: hv: Fix a timing issue which causes kdump to fail occasionally" Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 052/170] PCI: hv: Remove the useless hv_pcichild_state from struct hv_pci_dev Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 053/170] PCI: hv: Fix a race condition in hv_irq_unmask() that can cause panic Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 054/170] PCI: hv: Add a per-bus mutex state_lock Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 055/170] io_uring/net: clear msg_controllen on partial sendmsg retry Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 056/170] io_uring/net: disable partial retries for recvmsg with cmsg Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 057/170] mptcp: handle correctly disconnect() failures Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 058/170] mptcp: fix possible divide by zero in recvmsg() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 059/170] mptcp: fix possible list corruption on passive MPJ Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 060/170] mptcp: consolidate fallback and non fallback state machine Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 061/170] cgroup: Do not corrupt task iteration when rebinding subsystem Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 062/170] cgroup,freezer: hold cpu_hotplug_lock before freezer_mutex in freezer_css_{online,offline}() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 063/170] mmc: litex_mmc: set PROBE_PREFER_ASYNCHRONOUS Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 064/170] mmc: sdhci-msm: Disable broken 64-bit DMA on MSM8916 Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 065/170] mmc: meson-gx: remove redundant mmc_request_done() call from irq context Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 066/170] mmc: mmci: stm32: fix max busy timeout calculation Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 067/170] mmc: sdhci-spear: fix deferred probing Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 068/170] mmc: bcm2835: " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 069/170] mmc: sunxi: " Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 070/170] bpf: ensure main program has an extable Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 071/170] wifi: iwlwifi: pcie: Handle SO-F device for PCI id 0x7AF0 Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 072/170] spi: spi-geni-qcom: correctly handle -EPROBE_DEFER from dma_request_chan() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 073/170] regulator: pca9450: Fix LDO3OUT and LDO4OUT MASK Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 074/170] regmap: spi-avmm: Fix regmap_bus max_raw_write Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 075/170] arm64: dts: rockchip: Fix rk356x PCIe register and range mappings Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 076/170] io_uring/poll: serialize poll linked timer start with poll removal Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 077/170] nilfs2: prevent general protection fault in nilfs_clear_dirty_page() Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 078/170] x86/mm: Avoid using set_pgd() outside of real PGD pages Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 079/170] memfd: check for non-NULL file_seals in memfd_create() syscall Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 080/170] mmc: meson-gx: fix deferred probing Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 081/170] ieee802154: hwsim: Fix possible memory leaks Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 082/170] xfrm: Treat already-verified secpath entries as optional Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 083/170] xfrm: interface: rename xfrm_interface.c to xfrm_interface_core.c Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 084/170] xfrm: Ensure policies always checked on XFRM-I input path Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 085/170] KVM: arm64: PMU: Restore the hosts PMUSERENR_EL0 Greg Kroah-Hartman
2023-06-26 18:10 ` Greg Kroah-Hartman [this message]
2023-06-26 18:10 ` [PATCH 6.1 087/170] bpf: Fix verifier id tracking of scalars on spill Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 088/170] xfrm: fix inbound ipv4/udp/esp packets to UDPv6 dualstack sockets Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 089/170] bpf: Fix a bpf_jit_dump issue for x86_64 with sysctl bpf_jit_enable Greg Kroah-Hartman
2023-06-26 18:10 ` [PATCH 6.1 090/170] selftests: net: tls: check if FIPS mode is enabled Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 091/170] selftests: net: vrf-xfrm-tests: change authentication and encryption algos Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 092/170] selftests: net: fcnal-test: check if FIPS mode is enabled Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 093/170] xfrm: Linearize the skb after offloading if needed Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 094/170] net/mlx5: DR, Fix wrong action data allocation in decap action Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 095/170] sfc: use budget for TX completions Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 096/170] net: qca_spi: Avoid high load if QCA7000 is not available Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 097/170] mmc: mtk-sd: fix deferred probing Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 098/170] mmc: mvsdio: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 099/170] mmc: omap: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 100/170] mmc: omap_hsmmc: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 101/170] mmc: owl: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 102/170] mmc: sdhci-acpi: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 103/170] mmc: sh_mmcif: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 104/170] mmc: usdhi60rol0: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 105/170] ipvs: align inner_mac_header for encapsulation Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 106/170] net: dsa: mt7530: fix trapping frames on non-MT7621 SoC MT7530 switch Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 107/170] net: dsa: mt7530: fix handling of BPDUs on " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 108/170] net: dsa: mt7530: fix handling of LLDP frames Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 109/170] be2net: Extend xmit workaround to BE3 chip Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 110/170] netfilter: nf_tables: fix chain binding transaction logic Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 111/170] netfilter: nf_tables: add NFT_TRANS_PREPARE_ERROR to deal with bound set/chain Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 112/170] netfilter: nf_tables: drop map element references from preparation phase Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 113/170] netfilter: nft_set_pipapo: .walk does not deal with generations Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 114/170] netfilter: nf_tables: disallow element updates of bound anonymous sets Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 115/170] netfilter: nf_tables: reject unbound anonymous set before commit phase Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 116/170] netfilter: nf_tables: reject unbound chain " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 117/170] netfilter: nf_tables: disallow updates of anonymous sets Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 118/170] netfilter: nfnetlink_osf: fix module autoload Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 119/170] Revert "net: phy: dp83867: perform soft reset and retain established link" Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 120/170] bpf/btf: Accept function names that contain dots Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 121/170] bpf: Force kprobe multi expected_attach_type for kprobe_multi link Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 122/170] io_uring/net: use the correct msghdr union member in io_sendmsg_copy_hdr Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 123/170] selftests: forwarding: Fix race condition in mirror installation Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 124/170] platform/x86/amd/pmf: Register notify handler only if SPS is enabled Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 125/170] sch_netem: acquire qdisc lock in netem_change() Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 126/170] revert "net: align SO_RCVMARK required privileges with SO_MARK" Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 127/170] arm64: dts: rockchip: Enable GPU on SOQuartz CM4 Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 128/170] arm64: dts: rockchip: fix nEXTRST on SOQuartz Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 129/170] gpiolib: Fix GPIO chip IRQ initialization restriction Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 130/170] gpio: sifive: add missing check for platform_get_irq Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 131/170] gpiolib: Fix irq_domain resource tracking for gpiochip_irqchip_add_domain() Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 132/170] scsi: target: iscsi: Prevent login threads from racing between each other Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 133/170] HID: wacom: Add error check to wacom_parse_and_register() Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 134/170] arm64: Add missing Set/Way CMO encodings Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 135/170] smb3: missing null check in SMB2_change_notify Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 136/170] media: cec: core: disable adapter in cec_devnode_unregister Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 137/170] media: cec: core: dont set last_initiator if tx in progress Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 138/170] nfcsim.c: Fix error checking for debugfs_create_dir Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 139/170] btrfs: fix an uninitialized variable warning in btrfs_log_inode Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 140/170] usb: gadget: udc: fix NULL dereference in remove() Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 141/170] nvme: double KA polling frequency to avoid KATO with TBKAS on Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 142/170] nvme: check IO start time when deciding to defer KA Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 143/170] nvme: improve handling of long keep alives Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 144/170] Input: soc_button_array - add invalid acpi_index DMI quirk handling Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 145/170] arm64: dts: qcom: sc7280-idp: drop incorrect dai-cells from WCD938x SDW Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 146/170] arm64: dts: qcom: sc7280-qcard: " Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 147/170] s390/cio: unregister device when the only path is gone Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 148/170] spi: lpspi: disable lpspi module irq in DMA mode Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 149/170] ASoC: codecs: wcd938x-sdw: do not set can_multi_write flag Greg Kroah-Hartman
2023-06-26 18:11 ` [PATCH 6.1 150/170] ASoC: simple-card: Add missing of_node_put() in case of error Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 151/170] soundwire: dmi-quirks: add new mapping for HP Spectre x360 Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 152/170] soundwire: qcom: add proper error paths in qcom_swrm_startup() Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 153/170] ASoC: nau8824: Add quirk to active-high jack-detect Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 154/170] ASoC: amd: yc: Add Thinkpad Neo14 to quirks list for acp6x Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 155/170] gfs2: Dont get stuck writing page onto itself under direct I/O Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 156/170] s390/purgatory: disable branch profiling Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 157/170] ASoC: fsl_sai: Enable BCI bit if SAI works on synchronous mode with BYP asserted Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 158/170] ALSA: hda/realtek: Add "Intel Reference board" and "NUC 13" SSID in the ALC256 Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 159/170] i2c: mchp-pci1xxxx: Avoid cast to incompatible function type Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 160/170] ARM: dts: Fix erroneous ADS touchscreen polarities Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 161/170] null_blk: Fix: memory release when memory_backed=1 Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 162/170] drm/exynos: vidi: fix a wrong error return Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 163/170] drm/exynos: fix race condition UAF in exynos_g2d_exec_ioctl Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 164/170] drm/radeon: fix race condition UAF in radeon_gem_set_domain_ioctl Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 165/170] vhost_vdpa: tell vqs about the negotiated Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 166/170] vhost_net: revert upend_idx only on retriable error Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 167/170] KVM: arm64: Restore GICv2-on-GICv3 functionality Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 168/170] x86/apic: Fix kernel panic when booting with intremap=off and x2apic_phys Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 169/170] i2c: imx-lpi2c: fix type char overflow issue when calculating the clock cycle Greg Kroah-Hartman
2023-06-26 18:12 ` [PATCH 6.1 170/170] smb: move client and server files to common directory fs/smb Greg Kroah-Hartman
2023-06-26 21:45 ` [PATCH 6.1 000/170] 6.1.36-rc1 review ogasawara takeshi
2023-06-27  9:04 ` Jon Hunter
2023-06-27 13:38 ` Conor Dooley
2023-06-27 14:52 ` Markus Reichelt
2023-06-27 20:11 ` Chris Paterson
2023-06-27 21:01 ` Ron Economos
2023-06-27 21:33 ` Guenter Roeck
2023-06-28  6:35 ` Naresh Kamboju
2023-06-28 17:36 ` Allen Pais

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=20230626180804.421423896@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=ast@kernel.org \
    --cc=eddyz87@gmail.com \
    --cc=patches@lists.linux.dev \
    --cc=sashal@kernel.org \
    --cc=stable@vger.kernel.org \
    /path/to/YOUR_REPLY

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

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