Re: net/xfrm/xfrm_policy.c:1286:8: error: variable 'dir' is uninitialized when used here [-Werror,-Wuninitialized]
From: Nathan Chancellor <nathan@kernel.org>
Date: 2024-08-30 21:47:59
Also in:
lkml, llvm, regressions
Hi Simon (and Naresh), On Fri, Aug 30, 2024 at 06:04:49PM +0100, Simon Horman wrote:
On Fri, Aug 30, 2024 at 05:47:06PM +0100, Simon Horman wrote:quoted
+ Florian, Steffen On Fri, Aug 30, 2024 at 12:15:10PM +0530, Naresh Kamboju wrote:quoted
The x86_64 defconfig builds failed on today's Linux next-20240829 due to following build warnings / errors. Regressions: * i386, build - clang-18-defconfig - clang-nightly-defconfig * x86_64, build - clang-18-lkftconfig - clang-18-lkftconfig-compat - clang-18-lkftconfig-kcsan - clang-18-lkftconfig-no-kselftest-frag - clang-18-x86_64_defconfig - clang-nightly-lkftconfig - clang-nightly-lkftconfig-kselftest - clang-nightly-x86_64_defconfig - rustclang-nightly-lkftconfig-kselftest first seen on next-20240829. Good: next-20240828 BAD: next-20240829 Reported-by: Linux Kernel Functional Testing <redacted> build log: -------- net/xfrm/xfrm_policy.c:1286:8: error: variable 'dir' is uninitialized when used here [-Werror,-Wuninitialized] 1286 | if ((dir & XFRM_POLICY_MASK) == XFRM_POLICY_OUT) { | ^~~ net/xfrm/xfrm_policy.c:1257:9: note: initialize the variable 'dir' to silence this warning 1257 | int dir; | ^ | = 0 1 error generated.
Thanks for the report.
quoted
I believe that is due to commit 08c2182cf0b4 ("xfrm: policy: use recently added helper in more places") I will work on a fix to initialise dir in the loop where it is used.Patch is here: - [PATCH ipsec-next] xfrm: Initialise dir in xfrm_hash_rebuild() https://lore.kernel.org/netdev/20240830-xfrm_hash_rebuild-dir-v1-1-f75092d07e1b@kernel.org/T/#u (local)
I sent the same patch as a v1 but Florian pointed out that dir needs to be initialized in the other loop too. I sent my v2 for it yesterday, it just needs to be merged. https://lore.kernel.org/all/20240829-xfrm-restore-dir-assign-xfrm_hash_rebuild-v2-1-1cf8958f6e8e@kernel.org/ (local) Cheers, Nathan