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 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>



[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