From nobody Mon Jun 8 04:20:40 2026 Received: from mail-pf1-f169.google.com (mail-pf1-f169.google.com [209.85.210.169]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 648472D12EC for ; Sun, 7 Jun 2026 02:56:31 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.169 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780800995; cv=none; b=W7VBVgIFLmkMdWgKfdFVJZs+OIQayQFcJE24OJG6EQTHSscAnyjGcGd91kdDMMIgFuGDavCm1j4Wd0osXVGz0zyAgKgIEuwQHB6qw7xvE1Jm1PiLhQUNipQaYPRLXy0RO/aNxInFQEZRQEUmXc+WiPItgcqRPRnhMryLf5pkXUY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1780800995; c=relaxed/simple; bh=k7NdeuAQWcfjZE0LHweTpNpdLyKKvH3vhpStX+9uyvc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=E2zhXK0jqPNz8++l8j+hffTofoU1Zw5S3C8hfQ19kVAuYjOCt12pLlOTEQSsqI/B0A3Xnb/g311i2DLZtIGufAV6Pvoq6UdUmJUDrxzKE8DFLm+72HNiQyh+3R2b061PLZKb8vAdveMOlQgE17ezREr9gr31fDN+MPyXUjlK70k= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=GC73rTtc; arc=none smtp.client-ip=209.85.210.169 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="GC73rTtc" Received: by mail-pf1-f169.google.com with SMTP id d2e1a72fcca58-8423f236418so1697817b3a.1 for ; Sat, 06 Jun 2026 19:56:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1780800990; x=1781405790; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=/XVvrCmwCCXXTu+yhPQlmdSChdplym7xShaJO8RVAac=; b=GC73rTtc9jyX5EiWoRrO6/CwhdiGf73TSxWpxpDloaGTvv2DF3Ez+I90XoOaQXOwKB qdUKlf2QTpKMvotG2XJFWt3ueOeWf1FiAG0HbXHOnSVDNuvdQamv+etIUByIaoBUl2a1 3MtjmVrsWROGnLH9zEvsWJY8Nk/giVOKczGY5QSab1OUxQRxQ7e6Grv+3vFNzuqaS4mL H1DbL/NlUcy0wjV3nsb9CbyLsCuju3iZVDez77qAsinSffRIes1bIR6ABm0kjA/2RL8p sntv8uHMvekFk/YroTYjx4z1CwTcDOiRpAouv5p+h9VYd390GQTn+JH+Wtn3CA+rdnH5 /VfA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1780800990; x=1781405790; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=/XVvrCmwCCXXTu+yhPQlmdSChdplym7xShaJO8RVAac=; b=OJ7T3EYS3o5PcdijW/5YbsTSJ3srl1fLl59TWdUEX1OapHVfgaXfHR3SCQm62170qK YOt+ty7yqFV1hsGOGsbWSbGnzzbKRvy6gz1Lin29tB5gMSmTLorhq+ZpD9FU4mML7bPR KEhp/HHYnEgB2LuW6nhEKXGY+DVhAnnYbwOyD6lVMOU2Sr1m5EbelvEu9eyx64ohfF7+ 6il7BB+f4j1K3uU6jFaR6XOE3mcdNN0WSX5kSsVBNGd6R46N9Cwq3YJpc3/A83mOhEGQ 0zw5AkEA1EalMRxzOSJP8BtayMhuTMLGzSfSgEahziC+aH6GLSkYOpM4lBm6IVT2FOWl md5g== X-Forwarded-Encrypted: i=1; AFNElJ8gs0bkoD6BWZPfiualXm4r5wG0nN5RRLVrAAfDpJXdy4b2BqYucXr1Wy8+nlt+XJdKYaznDy/jNFuQD2E=@vger.kernel.org X-Gm-Message-State: AOJu0Yw8fHCtv54lObGy4ZOKplcbPe3zNzv55+YEHmGE4DpHh8NWKaMa FjI9CfZYW2bY19aPgyzST96a42xExLefRPUAV33UV3m8dHHn/dvM6B41 X-Gm-Gg: Acq92OGhm6OQXagDe3IYZa0kRhs84WJQUAAti5141JOAtoZTE+BqTkvuZaUC8XikR6D 7zhxICS2Vca6fe+SF+jqL4xFfXmKCo6YLcLTeanVQ8UuUZAEAqf6/qirOpq53m02vZyh/HB3Q6S v+T+LiWCpQ0EA+tVASHYriMJs6T0WPvcKSZoJmUR0tUmgOBhzPgFv0PmZjYQtnzk2NaYU9Km0m7 O6EDKHWKaGvEthRe6kXqzp5Dcv3f+NcJsiQsIrmLZj+F0hh8MYy3KjITo/iAeXqwoMTIUTb2yZK M97FOiq69s1//77PT6yV5wS+uoSv3wCQPG8HVuIfLOy+FXxKNfsMf1i1M70qeoji7SRjlu6P8OL RNANvArHj5KylrJwVUV/VlQN0mm6byC6roEDn3FeujPMlVSL4x7kWJX09krOfgzatqEaf6JdBQ3 xa4vmbP0KImq5FX5LJaZ5NDrbhVzx4ExPlEFBl8/x3Mz5cZu64e018VDLJJJKZwrDO X-Received: by 2002:a05:6a00:4b55:b0:842:4469:9202 with SMTP id d2e1a72fcca58-842b0e521c4mr10004582b3a.12.1780800990461; Sat, 06 Jun 2026 19:56:30 -0700 (PDT) Received: from haichao.tail057a43.ts.net ([2001:da8:e000:1206:967f:7ce4:ec98:f08b]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-84282918b8csm13034210b3a.57.2026.06.06.19.56.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 06 Jun 2026 19:56:30 -0700 (PDT) From: Ruoyu Wang To: tiwai@suse.de Cc: alsa-devel@alsa-project.org, linux-kernel@vger.kernel.org, Ruoyu Wang Subject: [PATCH] ALSA: ice1712: check pro S/PDIF control allocations Date: Sun, 7 Jun 2026 10:56:11 +0800 Message-ID: <20260607025613.3604194-7-ruoyuw560@gmail.com> X-Mailer: git-send-email 2.51.0 In-Reply-To: <20260607025613.3604194-1-ruoyuw560@gmail.com> References: <20260607025613.3604194-1-ruoyuw560@gmail.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" snd_ice1712_spdif_build_controls() creates pro S/PDIF controls and then sets kctl->id.device before calling snd_ctl_add(). snd_ctl_new1() can return NULL on allocation failure, making the device-id write a NULL pointer dereference. Check each control allocation before using the returned pointer. Signed-off-by: Ruoyu Wang --- sound/pci/ice1712/ice1712.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sound/pci/ice1712/ice1712.c b/sound/pci/ice1712/ice1712.c index 1e39b985bef26..4cec56769c0f6 100644 --- a/sound/pci/ice1712/ice1712.c +++ b/sound/pci/ice1712/ice1712.c @@ -2346,21 +2346,29 @@ int snd_ice1712_spdif_build_controls(struct snd_ice= 1712 *ice) if (snd_BUG_ON(!ice->pcm_pro)) return -EIO; kctl =3D snd_ctl_new1(&snd_ice1712_spdif_default, ice); + if (!kctl) + return -ENOMEM; kctl->id.device =3D ice->pcm_pro->device; err =3D snd_ctl_add(ice->card, kctl); if (err < 0) return err; kctl =3D snd_ctl_new1(&snd_ice1712_spdif_maskc, ice); + if (!kctl) + return -ENOMEM; kctl->id.device =3D ice->pcm_pro->device; err =3D snd_ctl_add(ice->card, kctl); if (err < 0) return err; kctl =3D snd_ctl_new1(&snd_ice1712_spdif_maskp, ice); + if (!kctl) + return -ENOMEM; kctl->id.device =3D ice->pcm_pro->device; err =3D snd_ctl_add(ice->card, kctl); if (err < 0) return err; kctl =3D snd_ctl_new1(&snd_ice1712_spdif_stream, ice); + if (!kctl) + return -ENOMEM; kctl->id.device =3D ice->pcm_pro->device; err =3D snd_ctl_add(ice->card, kctl); if (err < 0) --=20 2.34.1