Received: by 2002:a05:6a10:9afc:0:0:0:0 with SMTP id t28csp2421113pxm; Fri, 25 Feb 2022 01:24:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJzphd6MVUliby8qAsy3Kakkqmvr+WRr+LR/3wRh7s/UHYUJgRA2qmm9f18oLda9hKo4lpvJ X-Received: by 2002:a17:90b:3587:b0:1bc:87f6:73ae with SMTP id mm7-20020a17090b358700b001bc87f673aemr2292391pjb.14.1645781061910; Fri, 25 Feb 2022 01:24:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1645781061; cv=none; d=google.com; s=arc-20160816; b=dektNpmr0hs44QkmIxrq60fYRRBj0Hbm5KdiZRxDr3GiWfjEVaLI0SrMTpG1O0JAgB t0UDuD6+NPHKTFGi1UiiqLNgPqsZ2JkMwGPjtEhttecGddKctpU2hgFOjpBMszC5l0E7 vlCu1ViGTAlP8FZb5n4sesIZCILPuwGymhFdWRdCSqmxbZpHN6zLaJuGb+IaUCg6KJ8q HbisZBWx2lUzI7vfFS9JfUntwVZYdMiVsAElnU6XJy6s+H7gzhoE5lSATWg9V0lIc1uP MjcID08qs72fqJ/Ek3UG3urzcxhGaMxtntjT3x4o4hCZxCCxsKoFO2pA8BpqXDqAism+ 9Qrg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=UBLS7I7dklf7q80OfnsV44HmdpezS2KIc4AWPPfOP04=; b=WZxg/4TCT4rwTKiud6G4i8+rGkKVjKUcjbrxoESZDfWVSg7nkNb0P4eCRjEUgPmu0U 5snkoTx6tLfAxOatFM/hzxvNRQOg7QFDD749Jad+JtRwAl3W/U48LTJf0Coa+tKrEm8h QHlUlMXdSYGkBqLN0va2TQVRrsaoA048W0qVZLcC1Ks4TqAPMZxuPixoCv2yid63f5H1 TW/7EPzdRa/EtRHLZ4Qqkhi0kjbmNRkqwNtgf44/m9RhqIIrUC5vYCmTBKy3Tl3xEhiA Wk7LOVxljM7n6JkcOmhCmdLyHb7wIk+SZ3d9iFaMi/dL2HS5OwO7C4BOk3RTQub6HrKY 13PQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=VmMDQhXZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id np13-20020a17090b4c4d00b001bc2a811847si7635194pjb.65.2022.02.25.01.24.07; Fri, 25 Feb 2022 01:24:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=VmMDQhXZ; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S237270AbiBYIMM (ORCPT + 99 others); Fri, 25 Feb 2022 03:12:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56614 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235930AbiBYIML (ORCPT ); Fri, 25 Feb 2022 03:12:11 -0500 Received: from mail-wr1-x42b.google.com (mail-wr1-x42b.google.com [IPv6:2a00:1450:4864:20::42b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3E9BDEEB for ; Fri, 25 Feb 2022 00:11:37 -0800 (PST) Received: by mail-wr1-x42b.google.com with SMTP id p9so3170385wra.12 for ; Fri, 25 Feb 2022 00:11:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id; bh=UBLS7I7dklf7q80OfnsV44HmdpezS2KIc4AWPPfOP04=; b=VmMDQhXZmW4KDOJcfBmlCBg33brjp9/FsvEsQq7AffkbjS1GeappduvSErrFoHJCPH 4xVqaTIfaNjdXXrn4CqxUSvsL006OkvNj7yqrfLpVd0Z52/JQ9gUjeWYtz6Yc68FhtKG jU3N4MsHypNSnstReXP0RnnZO9RTAkFEYromKyn1uYaGYpphZXkwPGdSSNFabKe6EIt8 HWw6x1CDGsRjItQCpqpsawyGOJTtoQXC/t9q7nIvSAyArxgpm+fJA5mQDoCdHb6QKqG8 0M5wBFSvZP1A6mkfw5cvFRmDYS2qleDoxRbH7NoIo7DqZs2OKcFLHEKhujpMyzKbT9OI zsEg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=UBLS7I7dklf7q80OfnsV44HmdpezS2KIc4AWPPfOP04=; b=QeXpUpyMNXdnolnJ7s7w+4taS4TOYfyUhjVj2NSJA7VySh5N0Z3VB8y/bDnjQTo+xt 5WEEPkdYdfCwWouS8cCfWDZPNbHB0EorxWSGml4WLc4xFvZj6+eQcJxAkpThuoBL6oY2 Albx9PVmbpm59HgpH/tj0pZIwv13ju3VrTnuF4ws5NHO+eoIwiv+chgPojIpRbpQDQi5 2uaFIH6te8fSrAx8WsRQlRxdF/wn7fD2ULNle4sBG5qER3o4J5Ws4cL1pEMOl2D1+yIN AOXmwdCPM2UvTPa6vBCaR9Jh293ohpt4Oa/oqlOqTSnWY+7pEiwEq15hK5V7rmA9WEDi RKBA== X-Gm-Message-State: AOAM532q6A/PmFudHzQfsB97nqhVxD8wLnJwzpH0Jcg/c43Qea7jD5Mo Xp0q2FbswlRwFOX1I9FNerc= X-Received: by 2002:a5d:6389:0:b0:1ed:bc35:cda4 with SMTP id p9-20020a5d6389000000b001edbc35cda4mr5307355wru.350.1645776696385; Fri, 25 Feb 2022 00:11:36 -0800 (PST) Received: from localhost.localdomain ([64.64.123.58]) by smtp.gmail.com with ESMTPSA id m13-20020a05600c3b0d00b0037c00e01771sm5215190wms.34.2022.02.25.00.11.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 25 Feb 2022 00:11:35 -0800 (PST) From: Jia-Ju Bai To: boris.ostrovsky@oracle.com, jgross@suse.com, sstabellini@kernel.org, tglx@linutronix.de, mingo@redhat.com, bp@alien8.de, dave.hansen@linux.intel.com, hpa@zytor.com Cc: x86@kernel.org, xen-devel@lists.xenproject.org, linux-kernel@vger.kernel.org, Jia-Ju Bai Subject: [PATCH] arch: x86: xen: check the return value of kasprintf() Date: Fri, 25 Feb 2022 00:11:21 -0800 Message-Id: <20220225081121.18803-1-baijiaju1990@gmail.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_ENVFROM_END_DIGIT, FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The function kasprintf() can fail, but there is no check of its return value. To fix this bug, its return value should be checked with new error handling code. Fixes: f87e4cac4f4e ("xen: SMP guest support") Fixes: 83b96794e0ea ("x86/xen: split off smp_pv.c") Fixes: d5de8841355a ("x86: split spinlock implementations out into their own files") Reported-by: TOTE Robot Signed-off-by: Jia-Ju Bai --- arch/x86/xen/smp.c | 2 ++ arch/x86/xen/smp_pv.c | 2 ++ arch/x86/xen/spinlock.c | 2 ++ 3 files changed, 6 insertions(+) diff --git a/arch/x86/xen/smp.c b/arch/x86/xen/smp.c index c3e1f9a7d43a..91261390f8c0 100644 --- a/arch/x86/xen/smp.c +++ b/arch/x86/xen/smp.c @@ -65,6 +65,8 @@ int xen_smp_intr_init(unsigned int cpu) char *resched_name, *callfunc_name, *debug_name; resched_name = kasprintf(GFP_KERNEL, "resched%d", cpu); + if (!resched_name) + return -ENOMEM; rc = bind_ipi_to_irqhandler(XEN_RESCHEDULE_VECTOR, cpu, xen_reschedule_interrupt, diff --git a/arch/x86/xen/smp_pv.c b/arch/x86/xen/smp_pv.c index 4a6019238ee7..7d1471fd1267 100644 --- a/arch/x86/xen/smp_pv.c +++ b/arch/x86/xen/smp_pv.c @@ -118,6 +118,8 @@ int xen_smp_intr_init_pv(unsigned int cpu) char *callfunc_name, *pmu_name; callfunc_name = kasprintf(GFP_KERNEL, "irqwork%d", cpu); + if (!callfunc_name) + return -ENOMEM; rc = bind_ipi_to_irqhandler(XEN_IRQ_WORK_VECTOR, cpu, xen_irq_work_interrupt, diff --git a/arch/x86/xen/spinlock.c b/arch/x86/xen/spinlock.c index 043c73dfd2c9..ccdb9eddd93b 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; irq = bind_ipi_to_irqhandler(XEN_SPIN_UNLOCK_VECTOR, cpu, dummy_handler, -- 2.17.1