From nobody Mon Apr 6 09:11:21 2026 Received: from mail-yx1-f47.google.com (mail-yx1-f47.google.com [74.125.224.47]) (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 09EAE3F87EC for ; Thu, 19 Mar 2026 18:26:47 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.224.47 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773944810; cv=none; b=tg94SzvGQsoWfB4HxUTJ4tKlfae9HOuESc2N/8xCnpxGeJsiz5ypn3JHBeqTu9CKCq+30Csc/vW+YV7TH0HlEBubICAIEfEUcdYzWbNgwCx0uMDV9MmEAQqqByKPJEaRmqH9rYIz4L0PdGdxzNIKDXTnoDNi3XjPashi6DqtjNY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1773944810; c=relaxed/simple; bh=QXZGMcpmZbzNg3hyxDf6KMIQeGRJjuDFH4p3lmFtu2g=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=V8QCJuJbX0ABE90Lnc7sqlWVo9fiqK5OVESQzRAoU3UdehMu7oMU2BNostpnZ95/FyRyD8Q6Skk6ZCXJLMgcfa0i311Qq5QWC5UjrOiIPsAtduHSi2L5unTUzeFfg8tDmMdg3vjpo6Vv3laSL75vI7hFUKRM1OWkMmRqFBoDl+I= 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=WtJbcvTN; arc=none smtp.client-ip=74.125.224.47 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="WtJbcvTN" Received: by mail-yx1-f47.google.com with SMTP id 956f58d0204a3-64ad8435f46so1774467d50.1 for ; Thu, 19 Mar 2026 11:26:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1773944807; x=1774549607; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=Ox9Bm2DTgdL2bUs58qghbxpirayQX0irvQhOZ6BdA4A=; b=WtJbcvTNTF/zuLUKGBGTZwIoY7qTWpstZ28ru6BqCi8BqCqmwpH/mgxtonl+U/DzGy PSfAZjF+SFnd38YLCNIM2rfcdVWUy7GWylolHZGd6wh1IxvaDxgunwdemiTFgm32m5xW DJCBLsv0qXx5wd4uDf3xfw2m/X9sz0PPH+7pI9HQW0QVGQs8eVJ8HugBXeBLJ2vtVzZv Sf25AmW+gjOem4OZSQ5rl4zCgsaotlyjsduhGzFtRVKLTpoT3nM/r+t1Km+236TEBMf7 PtRRxvXwNr3UfuiycDyMLl7+RvpiXyCqnXyoUidHJeQDb6gK7nJWiZ/O5724mk/lmp+I slSg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1773944807; x=1774549607; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=Ox9Bm2DTgdL2bUs58qghbxpirayQX0irvQhOZ6BdA4A=; b=tAq7HvspbFPSswel6vcDT7j2xym57TajIi4sQuO+fLki2k6TR/WGYenZK3STt/yg4k LaR5Pv5K+VOw08qUpDoKVsS6SBQ50dSlM91aZA2J3tlG7ubAWmvga6/XSKsDRmkFQsIY bDL5DGk2fsJdAgQOJ+mUKkT3Rkah42BCcHLO9txKLdtQZ7g8LdIqb+MlhKFvBV7u1KJJ xpkHp9aMoYIhz57ir0PHtq0oIbzWg6cjNNr5RpNujX5zxzEExSlpq9BrIuY2lQhy7vF3 XYxZb685W/hw9lgnrqq9C437Fx76tLg16niS185v4bfL3cPOE043LzC7AScOGfPWsLZr CxkQ== X-Forwarded-Encrypted: i=1; AJvYcCXyBe3JsiToHe3AvoC/v5suhys7W71HVRzmf4Q6vEcz/2MKrtS5NQ5cpb8q+QRv5IsiMgkYoZu+DNyGqRA=@vger.kernel.org X-Gm-Message-State: AOJu0YyGhdPUeOIA9zqBxONfxCaGlZsOf7YDIAsXa+nW3T1VxTjNdtXF eRREzJVI5X7Ob9n3Mb9SgjhsZ+BNRpK1+e+j8NvppvkfG1TA6F7DWxDL X-Gm-Gg: ATEYQzyuMtLCNPYlMvJgFiv6Z/Q5seEt5Z1Q9BXwyw1FJVCIo4LETS+VQata0zWT10Y YfaRBaK1I0QDbBsG+G/m4C7PoBfryCygFPyep5s67+ksVYq4unkbhuDrP45u2Dtxl5o8ySHHbIV KNOSAIABPjbk1HWu0lIj5iEt89LLDLp7kPEExk3dHerELx9ovbIK+seJQbYj+XJmMUoB4J7W8/o NdCAHpDcp6Z0TM3AOfss9GbgRQKM5vtflShxD65HAHTZo75UxMh5qDSyJE9XrH3tltemehwJlMS rTS3O7I7dgzECaMN+P2C314n686GHlGsbaBXnkwkv2UnxBDQcu6Gj9SkmTmw+8/W4RhNlinoxal wPJtHQlREAqJG4NquBF9HhL/DIMzyxKyKEI8IwPGc0xMyhp0F+tFXP0O4SkBZpStQcEwoXHpLPU q54/jg6+OxJoPWGMPP0XQly8mv5x/I5m5oSv9099r7hpeffHtbT9CBJy7Camb9pg3nigiWlaH8w DoMbVo/4T3JPblzCkoiegZB X-Received: by 2002:a05:690e:439a:b0:64c:bfd0:ad6f with SMTP id 956f58d0204a3-64eaa718e40mr465746d50.33.1773944806815; Thu, 19 Mar 2026 11:26:46 -0700 (PDT) Received: from tux ([2601:7c0:c37e:2360::f769]) by smtp.gmail.com with ESMTPSA id 956f58d0204a3-64e91a97003sm3904920d50.9.2026.03.19.11.26.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 19 Mar 2026 11:26:46 -0700 (PDT) From: Ethan Tidmore To: Tomasz Jeznach , Joerg Roedel , Will Deacon , Paul Walmsley , Palmer Dabbelt , Albert Ou Cc: Robin Murphy , Alexandre Ghiti , Yaxing Guo , Andrew Jones , iommu@lists.linux.dev, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org, Ethan Tidmore Subject: [PATCH] iommu/riscv: Fix signedness bug Date: Thu, 19 Mar 2026 13:26:44 -0500 Message-ID: <20260319182644.1082740-1-ethantidmore06@gmail.com> X-Mailer: git-send-email 2.53.0 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" The function platform_irq_count() returns negative error codes and iommu->irqs_count is an unsigned integer, so the check (iommu->irqs_count <=3D 0) is always impossible. Make the return value of platform_irq_count() be assigned to ret, check for error, and then assign iommu->irqs_count to ret. Detected by Smatch: drivers/iommu/riscv/iommu-platform.c:119 riscv_iommu_platform_probe() warn: 'iommu->irqs_count' unsigned <=3D 0 Fixes: 7217cee35aadb ("iommu/riscv: Skip IRQ count check when using MSI int= errupts") Signed-off-by: Ethan Tidmore Reviewed-by: Andrew Jones --- drivers/iommu/riscv/iommu-platform.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/drivers/iommu/riscv/iommu-platform.c b/drivers/iommu/riscv/iom= mu-platform.c index 8f15b06e8499..399ba8fe1b3e 100644 --- a/drivers/iommu/riscv/iommu-platform.c +++ b/drivers/iommu/riscv/iommu-platform.c @@ -115,10 +115,13 @@ static int riscv_iommu_platform_probe(struct platform= _device *pdev) fallthrough; =20 case RISCV_IOMMU_CAPABILITIES_IGS_WSI: - iommu->irqs_count =3D platform_irq_count(pdev); - if (iommu->irqs_count <=3D 0) + ret =3D platform_irq_count(pdev); + if (ret <=3D 0) return dev_err_probe(dev, -ENODEV, "no IRQ resources provided\n"); + + iommu->irqs_count =3D ret; + if (iommu->irqs_count > RISCV_IOMMU_INTR_COUNT) iommu->irqs_count =3D RISCV_IOMMU_INTR_COUNT; =20 --=20 2.53.0