Re: stable-rc: 5.4: cgroup.c:2404:2: error: implicit declaration of function 'cpus_read_lock' [-Werror,-Wimplicit-function-declaration]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Sep 13, 2022 at 04:48:44PM +0530, Naresh Kamboju wrote:
> On stable-rc 5.4 arm and arm64 builds failed due to following errors / warnings.
> 
> kernel/cgroup/cgroup.c:2404:2: error: implicit declaration of function
> 'cpus_read_lock' [-Werror,-Wimplicit-function-declaration]
>         cpus_read_lock();
>         ^
> kernel/cgroup/cgroup.c:2404:2: note: did you mean 'cpuset_read_lock'?
> include/linux/cpuset.h:58:13: note: 'cpuset_read_lock' declared here
> extern void cpuset_read_lock(void);
>             ^
> kernel/cgroup/cgroup.c:2417:2: error: implicit declaration of function
> 'cpus_read_unlock' [-Werror,-Wimplicit-function-declaration]
>         cpus_read_unlock();
>         ^
> kernel/cgroup/cgroup.c:2417:2: note: did you mean 'cpuset_read_unlock'?
> include/linux/cpuset.h:59:13: note: 'cpuset_read_unlock' declared here
> extern void cpuset_read_unlock(void);
>             ^
> 2 errors generated.
> 
> drivers/gpu/drm/drm_lock.c:363:6: warning: misleading indentation;
> statement is not part of the previous 'if' [-Wmisleading-indentation]
>          */     mutex_lock(&dev->struct_mutex);
>                 ^
> drivers/gpu/drm/drm_lock.c:357:2: note: previous statement is here
>         if (!drm_core_check_feature(dev, DRIVER_LEGACY))
>         ^
> 1 warning generated.
> 
> Build link:
>  - https://builds.tuxbuild.com/2EfrNYbejRQczhhqndawRkHARHZ/
> 
> 
> Steps to reproduce:
> -------------------
> # To install tuxmake on your system globally:
> # sudo pip3 install -U tuxmake
> #
> 
> tuxmake --runtime podman --target-arch arm64 --toolchain clang-nightly
> --kconfig defconfig LLVM=1 LLVM_IAS=1
> 
> Following patch might be the reason for these build errors:
> ---
> cgroup: Fix threadgroup_rwsem <-> cpus_read_lock() deadlock
> [ Upstream commit 4f7e7236435ca0abe005c674ebd6892c6e83aeb3 ]
> 
> Bringing up a CPU may involve creating and destroying tasks which requires
> read-locking threadgroup_rwsem, so threadgroup_rwsem nests inside
> cpus_read_lock(). However, cpuset's ->attach(), which may be called with
> thredagroup_rwsem write-locked, also wants to disable CPU hotplug and
> acquires cpus_read_lock(), leading to a deadlock.
> 
> Fix it by guaranteeing that ->attach() is always called with CPU hotplug
> disabled and removing cpus_read_lock() call from cpuset_attach().
> 
> Signed-off-by: Tejun Heo <tj@xxxxxxxxxx>
> Reviewed-and-tested-by: Imran Khan <imran.f.khan@xxxxxxxxxx>
> Reported-and-tested-by: Xuewen Yan <xuewen.yan@xxxxxxxxxx>
> Fixes: 05c7b7a92cc8 ("cgroup/cpuset: Fix a race between
> cpuset_attach() and cpu hotplug")
> Cc: stable@xxxxxxxxxxxxxxx # v5.17+
> Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

Thanks, I've added an #include that should resolve this now.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux