[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240626074339.2820381-1-make24@iscas.ac.cn>
Date: Wed, 26 Jun 2024 15:43:39 +0800
From: Ma Ke <make24@...as.ac.cn>
To: jgross@...e.com,
boris.ostrovsky@...cle.com,
tglx@...utronix.de,
mingo@...hat.com,
bp@...en8.de,
dave.hansen@...ux.intel.com,
x86@...nel.org,
hpa@...or.com,
jeremy@...p.org
Cc: xen-devel@...ts.xenproject.org,
linux-kernel@...r.kernel.org,
Ma Ke <make24@...as.ac.cn>
Subject: [PATCH] xen: Fix null pointer dereference in xen_init_lock_cpu()
kasprintf() is used for formatting strings and dynamically allocating
memory space. If memory allocation fails, kasprintf() will return NULL.
We should add a check to ensure that failure does not occur.
Fixes: d5de8841355a ("x86: split spinlock implementations out into their own files")
Signed-off-by: Ma Ke <make24@...as.ac.cn>
---
Found this error through static analysis.
---
arch/x86/xen/spinlock.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c
index 5c6fc16e4b92..fe3cd95c1604 100644
--- a/arch/x86/xen/spinlock.c
+++ b/arch/x86/xen/spinlock.c
@@ -75,6 +75,8 @@ void xen_init_lock_cpu(int cpu)
cpu, per_cpu(lock_kicker_irq, cpu));
name = kasprintf(GFP_KERNEL, "spinlock%d", cpu);
+ if (!name)
+ return;
per_cpu(irq_name, cpu) = name;
irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR,
cpu,
--
2.25.1
Powered by blists - more mailing lists