s390/smp: __smp_rescan_cpus() - move cpumask away from stack
authorHeiko Carstens <hca@linux.ibm.com>
Wed, 17 Feb 2021 06:13:02 +0000 (07:13 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 17 Mar 2021 15:10:14 +0000 (16:10 +0100)
[ Upstream commit 62c8dca9e194326802b43c60763f856d782b225c ]

Avoid a potentially large stack frame and overflow by making
"cpumask_t avail" a static variable. There is no concurrent
access due to the existing locking.

Signed-off-by: Heiko Carstens <hca@linux.ibm.com>
Signed-off-by: Vasily Gorbik <gor@linux.ibm.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/s390/kernel/smp.c

index cba8e56cd63dba86a31b65bc9e1c06b5a6388995..54eb8fe95212d3c1d7cad805bacb91060eb7e9e8 100644 (file)
@@ -727,7 +727,7 @@ static int smp_add_core(struct sclp_core_entry *core, cpumask_t *avail,
 static int __smp_rescan_cpus(struct sclp_core_info *info, bool early)
 {
        struct sclp_core_entry *core;
-       cpumask_t avail;
+       static cpumask_t avail;
        bool configured;
        u16 core_id;
        int nr, i;