[PATCH v3 bpf] bpf: liveness: clarify get_outer_instance() handling in propagate_to_outer_instance()

Shardul Bankar posted 1 patch 3 months, 2 weeks ago
kernel/bpf/liveness.c | 2 ++
1 file changed, 2 insertions(+)
[PATCH v3 bpf] bpf: liveness: clarify get_outer_instance() handling in propagate_to_outer_instance()
Posted by Shardul Bankar 3 months, 2 weeks ago
propagate_to_outer_instance() calls get_outer_instance() and uses the
returned pointer to reset and commit stack write marks. Under normal
conditions, update_instance() guarantees that an outer instance exists,
so get_outer_instance() cannot return an ERR_PTR.

However, explicitly checking for IS_ERR(outer_instance) makes this code
more robust and self-documenting. It reduces cognitive load when reading
the control flow and silences potential false-positive reports from
static analysis or automated tooling.

No functional change intended.

Reported-by: kernel-patches-review-bot (https://github.com/kernel-patches/bpf/pull/10006#issuecomment-3409419240)
Suggested-by: Eduard Zingerman <eddyz87@gmail.com>
Signed-off-by: Shardul Bankar <shardulsb08@gmail.com>
---
 kernel/bpf/liveness.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/kernel/bpf/liveness.c b/kernel/bpf/liveness.c
index 3c611aba7f52..ae31f9ee4994 100644
--- a/kernel/bpf/liveness.c
+++ b/kernel/bpf/liveness.c
@@ -522,6 +522,8 @@ static int propagate_to_outer_instance(struct bpf_verifier_env *env,
 
 	this_subprog_start = callchain_subprog_start(callchain);
 	outer_instance = get_outer_instance(env, instance);
+	if (IS_ERR(outer_instance))
+		return PTR_ERR(outer_instance);
 	callsite = callchain->callsites[callchain->curframe - 1];
 
 	reset_stack_write_marks(env, outer_instance, callsite);
-- 
2.34.1
Re: [PATCH v3 bpf] bpf: liveness: clarify get_outer_instance() handling in propagate_to_outer_instance()
Posted by Eduard Zingerman 3 months, 2 weeks ago
On Tue, 2025-10-21 at 13:38 +0530, Shardul Bankar wrote:
> propagate_to_outer_instance() calls get_outer_instance() and uses the
> returned pointer to reset and commit stack write marks. Under normal
> conditions, update_instance() guarantees that an outer instance exists,
> so get_outer_instance() cannot return an ERR_PTR.
> 
> However, explicitly checking for IS_ERR(outer_instance) makes this code
> more robust and self-documenting. It reduces cognitive load when reading
> the control flow and silences potential false-positive reports from
> static analysis or automated tooling.
> 
> No functional change intended.
> 
> Reported-by: kernel-patches-review-bot (https://github.com/kernel-patches/bpf/pull/10006#issuecomment-3409419240)
> Suggested-by: Eduard Zingerman <eddyz87@gmail.com>
> Signed-off-by: Shardul Bankar <shardulsb08@gmail.com>
> ---

Acked-by: Eduard Zingerman <eddyz87@gmail.com>