Re: [PATCH bpf-next v1 04/14] bpf: Drop dead spill diagnostic condition

Eduard Zingerman <[email protected]>
Newsgroups org.kernel.vger.bpf
Message-ID <[email protected]>
On Sun, 2026-08-16 at 03:57 +0200, Kumar Kartikeya Dwivedi wrote:
> diag_record_mod() appears to allow identical spill events to be suppressed,
> but diag_mod_keeps_lineage() only accepts register write events. The spill
> producer also supplies a stack target and an explicit origin, so a spill can
> never satisfy this conjunction.
> 
> Restrict the condition to writes to reflect the filter's actual contract and
> avoid suggesting that it applies to spills.
> 
> Link: https://lore.kernel.org/bpf/48e6f021b89562f68850fe21ef8c78719819b04cf9c4e4f50bc791937d37ace8@mail.kernel.org/
> Signed-off-by: Kumar Kartikeya Dwivedi <[email protected]>
> ---
>  kernel/bpf/diagnostics.c | 3 +--
>  1 file changed, 1 insertion(+), 2 deletions(-)
> 
> diff --git a/kernel/bpf/diagnostics.c b/kernel/bpf/diagnostics.c
> index 33b7d9e8e2c3..37ed22a764e0 100644
> --- a/kernel/bpf/diagnostics.c
> +++ b/kernel/bpf/diagnostics.c
> @@ -1531,8 +1531,7 @@ static void diag_record_mod(struct bpf_verifier_env *env, u32 insn_idx,
>  	} else if (diag_mod_insn_origin(env, insn_idx, &target, &event.mod.origin)) {
>  		event.mod.origin_valid = true;
>  	}
> -	if (old_reg && new_reg &&
> -	    (reason == BPF_DIAG_MOD_WRITE || reason == BPF_DIAG_MOD_SPILL) &&
> +	if (old_reg && new_reg && reason == BPF_DIAG_MOD_WRITE &&
>  	    !memcmp(&event.mod.old, &event.mod.new, sizeof(event.mod.old)) &&
>  	    !event.mod.origin_valid &&
>  	    diag_mod_keeps_lineage(env, &event))

Q: does this filter ever fires?
   The condition appears to be very narrow.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.