mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-10-26 10:57:38 +08:00
resolve_btfids: Fix the --fatal_warnings exit status
The resolve_btfids --fatal_warnings option is intended to make the tool exit with a non-zero status if any warnings are reported. main() initializes err to -1 and uses 'goto out' to return this status when a sub-operation fails. If no error occurs, 'if (!(fatal_warnings && warnings)) err = 0;' modifies the final status depending on whether any warnings have been reported. Commit522397d05e("resolve_btfids: Change in-place update with raw binary output") broke this logic by assigning the return values of newly added sub-operations to err. As a result, successful sub-operations overwrite the initial err value of -1 with 0, causing the tool to exit successfully even when --fatal_warnings is enabled and warnings have been reported. Fix the issue by setting the final value of err unconditionally, so the code doesn't depend on its previous value. Fixes:522397d05e("resolve_btfids: Change in-place update with raw binary output") Signed-off-by: Petr Pavlu <petr.pavlu@suse.com> Signed-off-by: Daniel Borkmann <daniel@iogearbox.net> Acked-by: Ihor Solodrai <ihor.solodrai@linux.dev> Link: https://lore.kernel.org/bpf/20261008-resolve_btfids-warnings-v1-1-0d4e613ffa6e@suse.com
This commit is contained in:
1 parent
3ead4ead07
commit
201a454df9
1 file changed
+1
-2
@@ -2210,8 +2210,7 @@ dump_btf:
|
||||
goto out;
|
||||
}
|
||||
|
||||
if (!(fatal_warnings && warnings))
|
||||
err = 0;
|
||||
err = fatal_warnings && warnings ? -1 : 0;
|
||||
out:
|
||||
free_btf_links(&btf_links);
|
||||
/*
|
||||
|
||||
Reference in new issue
Block a user