Re: stable-rc 6.1: x86: clang build failed - block/blk-cgroup.c:1237:6: error: variable 'ret' is used uninitialized whenever 'if' condition is true

From: Nathan Chancellor
Date: Mon Jul 17 2023 - 09:26:20 EST


On Mon, Jul 17, 2023 at 12:55:42AM +0530, Naresh Kamboju wrote:
> Linux stable-rc 6.1 build failed x86 and i386 with clang.
>
> Reported-by: Linux Kernel Functional Testing <lkft@xxxxxxxxxx>
>
> Build log:
> -----------
> block/blk-cgroup.c:1237:6: error: variable 'ret' is used uninitialized
> whenever 'if' condition is true [-Werror,-Wsometimes-uninitialized]
> if (init_blkcg_llists(blkcg))
> ^~~~~~~~~~~~~~~~~~~~~~~~
> block/blk-cgroup.c:1287:9: note: uninitialized use occurs here
> return ret;
> ^~~
> block/blk-cgroup.c:1237:2: note: remove the 'if' if its condition is
> always false
> if (init_blkcg_llists(blkcg))
> ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> block/blk-cgroup.c:1222:33: note: initialize the variable 'ret' to
> silence this warning
> struct cgroup_subsys_state *ret;
> ^
> = NULL
> 1 error generated.
>
> Links,
> - https://qa-reports.linaro.org/lkft/linux-stable-rc-linux-6.1.y-sanity/build/v6.1.38-599-g5071846d06ef/testrun/18327562/suite/build/test/clang-lkftconfig/history/
> - https://storage.tuxsuite.com/public/linaro/lkft/builds/2SfFoWj9NmKWHRijR0hcoXGjLhr/
>
> tuxmake \
> --runtime podman --target-arch x86_64 \
> --toolchain clang-16 \
> --kconfig https://storage.tuxsuite.com/public/linaro/lkft/builds/2SfFoWj9NmKWHRijR0hcoXGjLhr/config
> \
> LLVM=1 LLVM_IAS=1
>

It looks like 6.1 needs commit b5a9adcbd5dc ("blk-cgroup: Return -ENOMEM
directly in blkcg_css_alloc() error path") if it wants to take commit
3b8cc6298724 ("blk-cgroup: Optimize blkcg_rstat_flush()").

Cheers,
Nathan