public inbox for stable@vger.kernel.org
 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, "andrii@kernel.org,
	daniel@iogearbox.net, martin.lau@linux.dev, yhs@fb.com,
	mykolal@fb.com, luizcap@amazon.com,
	Eduard Zingerman"  <eddyz87@gmail.com>,
	Andrii Nakryiko <andrii@kernel.org>,
	Alexei Starovoitov <ast@kernel.org>,
	Eduard Zingerman <eddyz87@gmail.com>
Subject: [PATCH 6.1 171/183] bpf: allow precision tracking for programs with subprogs
Date: Tue, 25 Jul 2023 12:46:39 +0200	[thread overview]
Message-ID: <20230725104513.911537410@linuxfoundation.org> (raw)
In-Reply-To: <20230725104507.756981058@linuxfoundation.org>

From: Andrii Nakryiko <andrii@kernel.org>

[ Upstream commit be2ef8161572ec1973124ebc50f56dafc2925e07 ]

Stop forcing precise=true for SCALAR registers when BPF program has any
subprograms. Current restriction means that any BPF program, as soon as
it uses subprograms, will end up not getting any of the precision
tracking benefits in reduction of number of verified states.

This patch keeps the fallback mark_all_scalars_precise() behavior if
precise marking has to cross function frames. E.g., if subprogram
requires R1 (first input arg) to be marked precise, ideally we'd need to
backtrack to the parent function and keep marking R1 and its
dependencies as precise. But right now we give up and force all the
SCALARs in any of the current and parent states to be forced to
precise=true. We can lift that restriction in the future.

But this patch fixes two issues identified when trying to enable
precision tracking for subprogs.

First, prevent "escaping" from top-most state in a global subprog. While
with entry-level BPF program we never end up requesting precision for
R1-R5 registers, because R2-R5 are not initialized (and so not readable
in correct BPF program), and R1 is PTR_TO_CTX, not SCALAR, and so is
implicitly precise. With global subprogs, though, it's different, as
global subprog a) can have up to 5 SCALAR input arguments, which might
get marked as precise=true and b) it is validated in isolation from its
main entry BPF program. b) means that we can end up exhausting parent
state chain and still not mark all registers in reg_mask as precise,
which would lead to verifier bug warning.

To handle that, we need to consider two cases. First, if the very first
state is not immediately "checkpointed" (i.e., stored in state lookup
hashtable), it will get correct first_insn_idx and last_insn_idx
instruction set during state checkpointing. As such, this case is
already handled and __mark_chain_precision() already handles that by
just doing nothing when we reach to the very first parent state.
st->parent will be NULL and we'll just stop. Perhaps some extra check
for reg_mask and stack_mask is due here, but this patch doesn't address
that issue.

More problematic second case is when global function's initial state is
immediately checkpointed before we manage to process the very first
instruction. This is happening because when there is a call to global
subprog from the main program the very first subprog's instruction is
marked as pruning point, so before we manage to process first
instruction we have to check and checkpoint state. This patch adds
a special handling for such "empty" state, which is identified by having
st->last_insn_idx set to -1. In such case, we check that we are indeed
validating global subprog, and with some sanity checking we mark input
args as precise if requested.

Note that we also initialize state->first_insn_idx with correct start
insn_idx offset. For main program zero is correct value, but for any
subprog it's quite confusing to not have first_insn_idx set. This
doesn't have any functional impact, but helps with debugging and state
printing. We also explicitly initialize state->last_insns_idx instead of
relying on is_state_visited() to do this with env->prev_insns_idx, which
will be -1 on the very first instruction. This concludes necessary
changes to handle specifically global subprog's precision tracking.

Second identified problem was missed handling of BPF helper functions
that call into subprogs (e.g., bpf_loop and few others). From precision
tracking and backtracking logic's standpoint those are effectively calls
into subprogs and should be called as BPF_PSEUDO_CALL calls.

This patch takes the least intrusive way and just checks against a short
list of current BPF helpers that do call subprogs, encapsulated in
is_callback_calling_function() function. But to prevent accidentally
forgetting to add new BPF helpers to this "list", we also do a sanity
check in __check_func_call, which has to be called for each such special
BPF helper, to validate that BPF helper is indeed recognized as
callback-calling one. This should catch any missed checks in the future.
Adding some special flags to be added in function proto definitions
seemed like an overkill in this case.

With the above changes, it's possible to remove forceful setting of
reg->precise to true in __mark_reg_unknown, which turns on precision
tracking both inside subprogs and entry progs that have subprogs. No
warnings or errors were detected across all the selftests, but also when
validating with veristat against internal Meta BPF objects and Cilium
objects. Further, in some BPF programs there are noticeable reduction in
number of states and instructions validated due to more effective
precision tracking, especially benefiting syncookie test.

$ ./veristat -C -e file,prog,insns,states ~/baseline-results.csv ~/subprog-precise-results.csv  | grep -v '+0'
File                                      Program                     Total insns (A)  Total insns (B)  Total insns (DIFF)  Total states (A)  Total states (B)  Total states (DIFF)
----------------------------------------  --------------------------  ---------------  ---------------  ------------------  ----------------  ----------------  -------------------
pyperf600_bpf_loop.bpf.linked1.o          on_event                               3966             3678       -288 (-7.26%)               306               276         -30 (-9.80%)
pyperf_global.bpf.linked1.o               on_event                               7563             7530        -33 (-0.44%)               520               517          -3 (-0.58%)
pyperf_subprogs.bpf.linked1.o             on_event                              36358            36934       +576 (+1.58%)              2499              2531         +32 (+1.28%)
setget_sockopt.bpf.linked1.o              skops_sockopt                          3965             4038        +73 (+1.84%)               343               347          +4 (+1.17%)
test_cls_redirect_subprogs.bpf.linked1.o  cls_redirect                          64965            64901        -64 (-0.10%)              4619              4612          -7 (-0.15%)
test_misc_tcp_hdr_options.bpf.linked1.o   misc_estab                             1491             1307      -184 (-12.34%)               110               100         -10 (-9.09%)
test_pkt_access.bpf.linked1.o             test_pkt_access                         354              349         -5 (-1.41%)                25                24          -1 (-4.00%)
test_sock_fields.bpf.linked1.o            egress_read_sock_fields                 435              375       -60 (-13.79%)                22                20          -2 (-9.09%)
test_sysctl_loop2.bpf.linked1.o           sysctl_tcp_mem                         1508             1501         -7 (-0.46%)                29                28          -1 (-3.45%)
test_tc_dtime.bpf.linked1.o               egress_fwdns_prio100                    468              435        -33 (-7.05%)                45                41          -4 (-8.89%)
test_tc_dtime.bpf.linked1.o               ingress_fwdns_prio100                   398              408        +10 (+2.51%)                42                39          -3 (-7.14%)
test_tc_dtime.bpf.linked1.o               ingress_fwdns_prio101                  1096              842      -254 (-23.18%)                97                73        -24 (-24.74%)
test_tcp_hdr_options.bpf.linked1.o        estab                                  2758             2408      -350 (-12.69%)               208               181        -27 (-12.98%)
test_urandom_usdt.bpf.linked1.o           urand_read_with_sema                    466              448        -18 (-3.86%)                31                28          -3 (-9.68%)
test_urandom_usdt.bpf.linked1.o           urand_read_without_sema                 466              448        -18 (-3.86%)                31                28          -3 (-9.68%)
test_urandom_usdt.bpf.linked1.o           urandlib_read_with_sema                 466              448        -18 (-3.86%)                31                28          -3 (-9.68%)
test_urandom_usdt.bpf.linked1.o           urandlib_read_without_sema              466              448        -18 (-3.86%)                31                28          -3 (-9.68%)
test_xdp_noinline.bpf.linked1.o           balancer_ingress_v6                    4302             4294         -8 (-0.19%)               257               256          -1 (-0.39%)
xdp_synproxy_kern.bpf.linked1.o           syncookie_tc                         583722           405757   -177965 (-30.49%)             35846             25735     -10111 (-28.21%)
xdp_synproxy_kern.bpf.linked1.o           syncookie_xdp                        609123           479055   -130068 (-21.35%)             35452             29145      -6307 (-17.79%)
----------------------------------------  --------------------------  ---------------  ---------------  ------------------  ----------------  ----------------  -------------------

Signed-off-by: Andrii Nakryiko <andrii@kernel.org>
Link: https://lore.kernel.org/r/20221104163649.121784-4-andrii@kernel.org
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Signed-off-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
 kernel/bpf/verifier.c |   62 +++++++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 61 insertions(+), 1 deletion(-)

--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -511,6 +511,15 @@ static bool is_dynptr_ref_function(enum
 	return func_id == BPF_FUNC_dynptr_data;
 }
 
+static bool is_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;
+}
+
 static bool helper_multiple_ref_obj_use(enum bpf_func_id func_id,
 					const struct bpf_map *map)
 {
@@ -1693,7 +1702,7 @@ static void __mark_reg_unknown(const str
 	reg->type = SCALAR_VALUE;
 	reg->var_off = tnum_unknown;
 	reg->frameno = 0;
-	reg->precise = env->subprog_cnt > 1 || !env->bpf_capable;
+	reg->precise = !env->bpf_capable;
 	__mark_reg_unbounded(reg);
 }
 
@@ -2670,6 +2679,11 @@ static int backtrack_insn(struct bpf_ver
 			 */
 			if (insn->src_reg == BPF_PSEUDO_KFUNC_CALL && insn->imm == 0)
 				return -ENOTSUPP;
+			/* BPF helpers that invoke callback subprogs are
+			 * equivalent to BPF_PSEUDO_CALL above
+			 */
+			if (insn->src_reg == 0 && is_callback_calling_function(insn->imm))
+				return -ENOTSUPP;
 			/* regular helper call sets R0 */
 			*reg_mask &= ~1;
 			if (*reg_mask & 0x3f) {
@@ -2848,12 +2862,42 @@ static int __mark_chain_precision(struct
 		return 0;
 	if (!reg_mask && !stack_mask)
 		return 0;
+
 	for (;;) {
 		DECLARE_BITMAP(mask, 64);
 		u32 history = st->jmp_history_cnt;
 
 		if (env->log.level & BPF_LOG_LEVEL2)
 			verbose(env, "last_idx %d first_idx %d\n", last_idx, first_idx);
+
+		if (last_idx < 0) {
+			/* we are at the entry into subprog, which
+			 * is expected for global funcs, but only if
+			 * requested precise registers are R1-R5
+			 * (which are global func's input arguments)
+			 */
+			if (st->curframe == 0 &&
+			    st->frame[0]->subprogno > 0 &&
+			    st->frame[0]->callsite == BPF_MAIN_FUNC &&
+			    stack_mask == 0 && (reg_mask & ~0x3e) == 0) {
+				bitmap_from_u64(mask, reg_mask);
+				for_each_set_bit(i, mask, 32) {
+					reg = &st->frame[0]->regs[i];
+					if (reg->type != SCALAR_VALUE) {
+						reg_mask &= ~(1u << i);
+						continue;
+					}
+					reg->precise = true;
+				}
+				return 0;
+			}
+
+			verbose(env, "BUG backtracing func entry subprog %d reg_mask %x stack_mask %llx\n",
+				st->frame[0]->subprogno, reg_mask, stack_mask);
+			WARN_ONCE(1, "verifier backtracking bug");
+			return -EFAULT;
+		}
+
 		for (i = last_idx;;) {
 			if (skip_first) {
 				err = 0;
@@ -6732,6 +6776,10 @@ typedef int (*set_callee_state_fn)(struc
 				   struct bpf_func_state *callee,
 				   int insn_idx);
 
+static int set_callee_state(struct bpf_verifier_env *env,
+			    struct bpf_func_state *caller,
+			    struct bpf_func_state *callee, int insn_idx);
+
 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)
@@ -6782,6 +6830,16 @@ static int __check_func_call(struct bpf_
 		}
 	}
 
+	/* 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 && !is_callback_calling_function(insn->imm)) {
+		verbose(env, "verifier bug: helper %s#%d is not marked as callback-calling\n",
+			func_id_name(insn->imm), insn->imm);
+		return -EFAULT;
+	}
+
 	if (insn->code == (BPF_JMP | BPF_CALL) &&
 	    insn->src_reg == 0 &&
 	    insn->imm == BPF_FUNC_timer_set_callback) {
@@ -14713,6 +14771,8 @@ static int do_check_common(struct bpf_ve
 			BPF_MAIN_FUNC /* callsite */,
 			0 /* frameno */,
 			subprog);
+	state->first_insn_idx = env->subprog_info[subprog].start;
+	state->last_insn_idx = -1;
 
 	regs = state->frame[state->curframe]->regs;
 	if (subprog || env->prog->type == BPF_PROG_TYPE_EXT) {



  parent reply	other threads:[~2023-07-25 11:08 UTC|newest]

Thread overview: 196+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-07-25 10:43 [PATCH 6.1 000/183] 6.1.42-rc1 review Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 001/183] io_uring: treat -EAGAIN for REQ_F_NOWAIT as final for io-wq Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 002/183] ALSA: hda/realtek - remove 3k pull low procedure Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 003/183] ALSA: hda/realtek: Add quirk for Clevo NS70AU Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 004/183] ALSA: hda/realtek: Enable Mute LED on HP Laptop 15s-eq2xxx Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 005/183] maple_tree: set the node limit when creating a new root node Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 006/183] maple_tree: fix node allocation testing on 32 bit Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 007/183] keys: Fix linking a duplicate key to a keyrings assoc_array Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 008/183] perf probe: Add test for regression introduced by switch to die_get_decl_file() Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 009/183] btrfs: fix warning when putting transaction with qgroups enabled after abort Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 010/183] fuse: revalidate: dont invalidate if interrupted Greg Kroah-Hartman
2023-07-25 10:43 ` [PATCH 6.1 011/183] fuse: Apply flags2 only when userspace set the FUSE_INIT_EXT Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 012/183] btrfs: set_page_extent_mapped after read_folio in btrfs_cont_expand Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 013/183] btrfs: zoned: fix memory leak after finding block group with super blocks Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 014/183] fuse: ioctl: translate ENOSYS in outarg Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 015/183] btrfs: fix race between balance and cancel/pause Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 016/183] selftests: tc: set timeout to 15 minutes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 017/183] selftests: tc: add ct action kconfig dep Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 018/183] regmap: Drop initial version of maximum transfer length fixes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 019/183] of: Preserve "of-display" device name for compatibility Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 020/183] regmap: Account for register length in SMBus I/O limits Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 021/183] arm64/fpsimd: Ensure SME storage is allocated after SVE VL changes Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 022/183] can: mcp251xfd: __mcp251xfd_chip_set_mode(): increase poll timeout Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 023/183] can: bcm: Fix UAF in bcm_proc_show() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 024/183] can: gs_usb: gs_can_open(): improve error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 025/183] selftests: tc: add ConnTrack procfs kconfig Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 026/183] dma-buf/dma-resv: Stop leaking on krealloc() failure Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 027/183] drm/amdgpu/vkms: relax timer deactivation by hrtimer_try_to_cancel Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 028/183] drm/amdgpu/pm: make gfxclock consistent for sienna cichlid Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 029/183] drm/amdgpu/pm: make mclk consistent for smu 13.0.7 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 030/183] drm/client: Fix memory leak in drm_client_target_cloned Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 031/183] drm/client: Fix memory leak in drm_client_modeset_probe Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 032/183] drm/amd/display: only accept async flips for fast updates Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 033/183] drm/amd/display: Disable MPC split by default on special asic Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 034/183] drm/amd/display: check TG is non-null before checking if enabled Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 035/183] drm/amd/display: Keep PHY active for DP displays on DCN31 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 036/183] ASoC: fsl_sai: Disable bit clock with transmitter Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 037/183] ASoC: fsl_sai: Revert "ASoC: fsl_sai: Enable MCTL_MCLK_EN bit for master mode" Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 038/183] ASoC: tegra: Fix ADX byte map Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 039/183] ASoC: rt5640: Fix sleep in atomic context Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 040/183] ASoC: cs42l51: fix driver to properly autoload with automatic module loading Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 041/183] ASoC: codecs: wcd938x: fix missing clsh ctrl error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 042/183] ASoC: codecs: wcd-mbhc-v2: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 043/183] ASoC: qdsp6: audioreach: fix topology probe deferral Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 044/183] ASoC: tegra: Fix AMX byte map Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 045/183] ASoC: codecs: wcd938x: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 046/183] ASoC: codecs: wcd938x: fix missing mbhc init error handling Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 047/183] ASoC: codecs: wcd934x: fix resource leaks on component remove Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 048/183] ASoC: codecs: wcd938x: fix codec initialisation race Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 049/183] ASoC: codecs: wcd938x: fix soundwire " Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 050/183] ext4: correct inline offset when handling xattrs in inode body Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 051/183] [PATCH AUTOSEL 4.19 01/11] drm/radeon: Fix integer overflow in radeon_cs_parser_init Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 052/183] [PATCH AUTOSEL 4.19 02/11] ALSA: emu10k1: roll up loops in DSP setup code for Audigy Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 053/183] [PATCH AUTOSEL 4.19 03/11] quota: Properly disable quotas when add_dquot_ref() fails Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 054/183] [PATCH AUTOSEL 4.19 04/11] quota: fix warning in dqgrab() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 055/183] [PATCH AUTOSEL 4.19 05/11] HID: add quirk for 03f0:464a HP Elite Presenter Mouse Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 056/183] [PATCH AUTOSEL 4.19 06/11] ovl: check type and offset of struct vfsmount in ovl_entry Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 057/183] [PATCH AUTOSEL 4.19 07/11] udf: Fix uninitialized array access for some pathnames Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 058/183] [PATCH AUTOSEL 4.19 08/11] fs: jfs: Fix UBSAN: array-index-out-of-bounds in dbAllocDmapLev Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 059/183] [PATCH AUTOSEL 4.19 09/11] MIPS: dec: prom: Address -Warray-bounds warning Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 060/183] [PATCH AUTOSEL 4.19 10/11] FS: JFS: Fix null-ptr-deref Read in txBegin Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 061/183] [PATCH AUTOSEL 4.19 11/11] FS: JFS: Check for read-only mounted filesystem " Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 062/183] ACPI: video: Add backlight=native DMI quirk for Dell Studio 1569 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 063/183] rcu-tasks: Avoid pr_info() with spin lock in cblist_init_generic() Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 064/183] rcu: Mark additional concurrent load from ->cpu_no_qs.b.exp Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 065/183] sched/fair: Dont balance task to its current running CPU Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 066/183] wifi: ath11k: fix registration of 6Ghz-only phy without the full channel range Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 067/183] bpf: Print a warning only if writing to unprivileged_bpf_disabled Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 068/183] bpf: Address KCSAN report on bpf_lru_list Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 069/183] bpf: tcp: Avoid taking fast sock lock in iterator Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 070/183] wifi: ath11k: add support default regdb while searching board-2.bin for WCN6855 Greg Kroah-Hartman
2023-07-25 10:44 ` [PATCH 6.1 071/183] wifi: mac80211_hwsim: Fix possible NULL dereference Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 072/183] spi: dw: Add compatible for Intel Mount Evans SoC Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 073/183] wifi: ath11k: fix memory leak in WMI firmware stats Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 074/183] net: ethernet: litex: add support for 64 bit stats Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 075/183] devlink: report devlink_port_type_warn source device Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 076/183] wifi: wext-core: Fix -Wstringop-overflow warning in ioctl_standard_iw_point() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 077/183] wifi: iwlwifi: Add support for new PCI Id Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 078/183] wifi: iwlwifi: mvm: avoid baid size integer overflow Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 079/183] wifi: iwlwifi: pcie: add device id 51F1 for killer 1675 Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 080/183] igb: Fix igb_down hung on surprise removal Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 081/183] net: hns3: fix strncpy() not using dest-buf length as length issue Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 082/183] ASoC: amd: acp: fix for invalid dai id handling in acp_get_byte_count() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 083/183] ASoC: codecs: wcd938x: fix mbhc impedance loglevel Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 084/183] ASoC: codecs: wcd938x: fix dB range for HPHL and HPHR Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 085/183] ASoC: qcom: q6apm: do not close GPR port before closing graph Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 086/183] sched/fair: Use recent_used_cpu to test p->cpus_ptr Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 087/183] sched/psi: Fix avgs_work re-arm in psi_avgs_work() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 088/183] sched/psi: Rearrange polling code in preparation Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 089/183] sched/psi: Rename existing poll members " Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 090/183] sched/psi: Extract update_triggers side effect Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 091/183] sched/psi: Allow unprivileged polling of N*2s period Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 092/183] sched/psi: use kernfs polling functions for PSI trigger polling Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 093/183] pinctrl: renesas: rzv2m: Handle non-unique subnode names Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 094/183] pinctrl: renesas: rzg2l: " Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 095/183] spi: bcm63xx: fix max prepend length Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 096/183] fbdev: imxfb: warn about invalid left/right margin Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 097/183] fbdev: imxfb: Removed unneeded release_mem_region Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 098/183] perf build: Fix library not found error when using CSLIBS Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 099/183] btrfs: be a bit more careful when setting mirror_num_ret in btrfs_map_block Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 100/183] spi: s3c64xx: clear loopback bit after loopback test Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 101/183] kallsyms: Improve the performance of kallsyms_lookup_name() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 102/183] kallsyms: Correctly sequence symbols when CONFIG_LTO_CLANG=y Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 103/183] kallsyms: strip LTO-only suffixes from promoted global functions Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 104/183] dsa: mv88e6xxx: Do a final check before timing out Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 105/183] net: ethernet: ti: cpsw_ale: Fix cpsw_ale_get_field()/cpsw_ale_set_field() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 106/183] bridge: Add extack warning when enabling STP in netns Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 107/183] net: ethernet: mtk_eth_soc: handle probe deferral Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 108/183] cifs: fix mid leak during reconnection after timeout threshold Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 109/183] ASoC: SOF: ipc3-dtrace: uninitialized data in dfsentry_trace_filter_write() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 110/183] net: sched: cls_matchall: Undo tcf_bind_filter in case of failure after mall_set_parms Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 111/183] net: sched: cls_u32: Undo tcf_bind_filter if u32_replace_hw_knode Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 112/183] net: sched: cls_u32: Undo refcount decrement in case update failed Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 113/183] net: sched: cls_bpf: Undo tcf_bind_filter in case of an error Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 114/183] net: dsa: microchip: ksz8: Separate static MAC table operations for code reuse Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 115/183] net: dsa: microchip: ksz8: Make ksz8_r_sta_mac_table() static Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 116/183] net: dsa: microchip: ksz8_r_sta_mac_table(): Avoid using error code for empty entries Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 117/183] net: dsa: microchip: correct KSZ8795 static MAC table access Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 118/183] iavf: Fix use-after-free in free_netdev Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 119/183] iavf: Fix out-of-bounds when setting channels on remove Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 120/183] iavf: use internal state to free traffic IRQs Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 121/183] iavf: Move netdev_update_features() into watchdog task Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 122/183] iavf: send VLAN offloading caps once after VFR Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 123/183] iavf: make functions static where possible Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 124/183] iavf: Wait for reset in callbacks which trigger it Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 125/183] iavf: fix a deadlock caused by rtnl and drivers lock circular dependencies Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 126/183] iavf: fix reset task race with iavf_remove() Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 127/183] security: keys: Modify mismatched function name Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 128/183] octeontx2-pf: Dont allocate BPIDs for LBK interfaces Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 129/183] bpf: Fix subprog idx logic in check_max_stack_depth Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 130/183] bpf: Repeat check_max_stack_depth for async callbacks Greg Kroah-Hartman
2023-07-25 10:45 ` [PATCH 6.1 131/183] bpf, arm64: Fix BTI type used for freplace attached functions Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 132/183] igc: Avoid transmit queue timeout for XDP Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 133/183] igc: Prevent garbled TX queue with XDP ZEROCOPY Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 134/183] net: ipv4: use consistent txhash in TIME_WAIT and SYN_RECV Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 135/183] tcp: annotate data-races around tcp_rsk(req)->txhash Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 136/183] tcp: annotate data-races around tcp_rsk(req)->ts_recent Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 137/183] net: ipv4: Use kfree_sensitive instead of kfree Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 138/183] net:ipv6: check return value of pskb_trim() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 139/183] Revert "tcp: avoid the lookup process failing to get sk in ehash table" Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 140/183] fbdev: au1200fb: Fix missing IRQ check in au1200fb_drv_probe Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 141/183] llc: Dont drop packet from non-root netns Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 142/183] ALSA: hda/realtek: Fix generic fixup definition for cs35l41 amp Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 143/183] netfilter: nf_tables: fix spurious set element insertion failure Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 144/183] netfilter: nf_tables: cant schedule in nft_chain_validate Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 145/183] netfilter: nft_set_pipapo: fix improper element removal Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 146/183] netfilter: nf_tables: skip bound chain in netns release path Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 147/183] netfilter: nf_tables: skip bound chain on rule flush Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 148/183] Bluetooth: use RCU for hci_conn_params and iterate safely in hci_sync Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 149/183] Bluetooth: hci_event: call disconnect callback before deleting conn Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 150/183] Bluetooth: ISO: fix iso_conn related locking and validity issues Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 151/183] Bluetooth: hci_sync: Avoid use-after-free in dbg for hci_remove_adv_monitor() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 152/183] tcp: annotate data-races around tp->tcp_tx_delay Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 153/183] tcp: annotate data-races around tp->tsoffset Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 154/183] tcp: annotate data-races around tp->keepalive_time Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 155/183] tcp: annotate data-races around tp->keepalive_intvl Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 156/183] tcp: annotate data-races around tp->keepalive_probes Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 157/183] tcp: annotate data-races around icsk->icsk_syn_retries Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 158/183] tcp: annotate data-races around tp->linger2 Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 159/183] tcp: annotate data-races around rskq_defer_accept Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 160/183] tcp: annotate data-races around tp->notsent_lowat Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 161/183] tcp: annotate data-races around icsk->icsk_user_timeout Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 162/183] tcp: annotate data-races around fastopenq.max_qlen Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 163/183] net: phy: prevent stale pointer dereference in phy_init() Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 164/183] jbd2: recheck chechpointing non-dirty buffer Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 165/183] tracing/histograms: Return an error if we fail to add histogram to hist_vars list Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 166/183] drm/ttm: fix bulk_move corruption when adding a entry Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 167/183] spi: dw: Remove misleading comment for Mount Evans SoC Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 168/183] kallsyms: add kallsyms_seqs_of_names to list of special symbols Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 169/183] scripts/kallsyms.c Make the comment up-to-date with current implementation Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 170/183] scripts/kallsyms: update the usage in the comment block Greg Kroah-Hartman
2023-07-25 10:46 ` Greg Kroah-Hartman [this message]
2023-07-25 10:46 ` [PATCH 6.1 172/183] bpf: stop setting precise in current state Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 173/183] bpf: aggressively forget precise markings during state checkpointing Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 174/183] selftests/bpf: make test_align selftest more robust Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 175/183] selftests/bpf: Workaround verification failure for fexit_bpf2bpf/func_replace_return_code Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 176/183] selftests/bpf: Fix sk_assign on s390x Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 177/183] drm/amd/display: use max_dsc_bpp in amdgpu_dm Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 178/183] drm/amd/display: fix some coding style issues Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 179/183] drm/dp_mst: Clear MSG_RDY flag before sending new message Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 180/183] drm/amd/display: force connector state when bpc changes during compliance Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 181/183] drm/amd/display: Clean up errors & warnings in amdgpu_dm.c Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 182/183] drm/amd/display: fix linux dp link lost handled only one time Greg Kroah-Hartman
2023-07-25 10:46 ` [PATCH 6.1 183/183] drm/amd/display: Add polling method to handle MST reply packet Greg Kroah-Hartman
2023-07-25 12:33 ` [PATCH 6.1 000/183] 6.1.42-rc1 review Takeshi Ogasawara
2023-07-25 16:27 ` Jon Hunter
2023-07-25 18:10 ` SeongJae Park
2023-07-25 20:16 ` Shuah Khan
2023-07-25 22:22 ` Florian Fainelli
2023-07-26  4:23 ` Bagas Sanjaya
2023-07-26  9:28 ` Conor Dooley
2023-07-26 10:38 ` Naresh Kamboju
2023-07-26 13:13 ` Ron Economos
2023-07-27  0:02 ` Guenter Roeck
2023-07-27  4:01 ` Joel Fernandes
2023-07-27 11:42 ` Pavel Machek

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=20230725104513.911537410@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=andrii@kernel.org \
    --cc=ast@kernel.org \
    --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