From nobody Sun Feb 8 09:16:37 2026 Received: from mail-lf1-f54.google.com (mail-lf1-f54.google.com [209.85.167.54]) (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 33B4C322B63 for ; Mon, 22 Dec 2025 15:16:45 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.54 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766416606; cv=none; b=CeJ1I3w1SNo/EAY3wLk/PeTOleOkLmmvR9MXM318DgoVo4k1CM/Mbv4WH8YD4JQGy9xnIvq2rXXJOPnvToyfcn01xBpb0dP/ceXQJIsUQ/37xYt8CPuYb8Z5cL0vHUQLN3TPGHYNUWQXG2DsOfmN3E7WD1n1FUGxwGzFCTCh6FY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766416606; c=relaxed/simple; bh=omJvdU8AWfgVb6Vw1LtfMA+xbk2Xh65NfSOJvn2V69s=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=e+UlCmqanFlUv3AfcU3NOl87pAYChPKa16kpWOX+Netr0YXst4zEEN6V31GNxbifKYiJaAB7w2Pt+ZOfcjt33rvhpo4H8umehHCl/Jqpe2P0YTVWIx5YlXfkIPaW53ckUj7JcKYkyA/sHHZDHXbYKD8ZoYarhT1NJhobzeDJphE= 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=IIv+XHZL; arc=none smtp.client-ip=209.85.167.54 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="IIv+XHZL" Received: by mail-lf1-f54.google.com with SMTP id 2adb3069b0e04-5959d9a8eceso4645956e87.3 for ; Mon, 22 Dec 2025 07:16:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1766416603; x=1767021403; 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=nOhpbiD30EOzMJOTDaD6LW0o3SAP0osk2RqB6dtZz9w=; b=IIv+XHZLyGSXd/wRi0wTfnccfo9SFoJNDPkS+BvYleAA3QFIteK0tcGNkodkL5zmpA +2VFB0K4CFOKFbLbNjEuJntULaU07dhSzZjU40Wk9VFBTbAot6tc70UFn+eU8y0onTx+ sslubxJPGPTFephGvZ7UAlMWoUz3PnowjAm8tC/ueWLF88X53P3o+AiJx+25aS2XCxzx BxukLT3KyAfrCGpY/gdDPMG+vl+2OmoRHWyyv48vNf/sOeeIRSH8nyVRAE+/9uKU9GK6 7sm8wzeCOJ92cgMLJ+UVYJPMeYwjqNgefa3XLS+mHWOGfg6eqRh/gUz2ITlXggxU39UA /rCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1766416603; x=1767021403; 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=nOhpbiD30EOzMJOTDaD6LW0o3SAP0osk2RqB6dtZz9w=; b=w0aTDbKXAjdYqlZIb+XBtQsLJKSnIZornFE1wwNODCPn65de4iz9G+pxjtticNXtFc LASOe2G/MMre0KHN/dnL0OS6yy8WovTig0touRH74FlEeZps32c+QZhROIWlALEgmOJY /ULjOMZxNX4AK8c96Ry4x9JUOZMzO3z1C2X8BraBfa+lPkLGr3fKcz+EhdpG0E1qkbC4 H1KRhb9ESfria6WyFCQs/MQUHiAnmSYUjpWadE8K9aEIqgfLlsxjA3kYVayTBwVlsGHD xs5k94PY9TY9oYeOP+cozdsPXhic19kzExO/21BZwE9+E8M9aZfCUtUD4Frb6pN8rWY+ cjhQ== X-Forwarded-Encrypted: i=1; AJvYcCVLWzbOpEOci6JG6uIiCAGtRLAdOF7WDbiPFKvgfcbCfCNedsIXnr3ZBC32NlFU85qogEMm+6NZb3GcJbw=@vger.kernel.org X-Gm-Message-State: AOJu0Yz12s3yOieBZ3zxo41fJ/d2BipUz/pVcWAgz4mQ3PpS1VytSmmJ nzSOVCRdehYYirpk+qNZlgct2h66ZUvPRtnr5N6GVO5B260aOph50oEe X-Gm-Gg: AY/fxX6xv5qVBbDWxhjA1O26Qv1cgkXguVXYU0e7lKSH7hmIvryaUI45q3RVDhwX+eM 4snfZUZG4JDwLed43PNOrPC+rOp8zdAyvGIBDKcRHIkeIEwgTI7bIpRR/tEedU8vovIURgil+mE qwvMvwUO+KWKwtBC2xEzir3XrQZrEDxa1q8g+s1VW3LVrKMxyOrcpBEnasKciur2l6TyXj2aYhZ kTEHQlyHI/iV6SKM4rwhwyWLwl3ry/iocjzfvU2e29oxdiMkz6QCHhydUW4w5jCNftH40RUedcy CEaoAud7xEDtmr1tRZ2fVGkL+Ai/XKKeo0m5LJPUfMtW+gnkgRSPc+TJZ2JcVlecvhn6BhqX/vP 4OgXuyHb6gniBCZLy76PD8/pzTRs+uMX0dSpC80CaTs98K/fidF8nNzkx6fe5FehCF2+52BnRsi /zM4zI9vWiIxPUIRrXvuXYcZdjIQ== X-Google-Smtp-Source: AGHT+IFDiNOFmtI+bsuMmANJj/IxkuWiRZG1UDwI686IycfQtSE8H4lpxzEMDRaaxB0lvLInfVeh5w== X-Received: by 2002:a05:6512:b08:b0:593:f74:90c1 with SMTP id 2adb3069b0e04-59a17dec043mr3191513e87.42.1766416602980; Mon, 22 Dec 2025 07:16:42 -0800 (PST) Received: from localhost.localdomain ([176.33.67.19]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-59a185d5db1sm3284874e87.18.2025.12.22.07.16.40 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 22 Dec 2025 07:16:42 -0800 (PST) From: Alper Ak To: tjeznach@rivosinc.com Cc: Alper Ak , Dan Carpenter , Joerg Roedel , Will Deacon , Robin Murphy , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , iommu@lists.linux.dev, linux-riscv@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [PATCH] iommu/riscv: Fix unsigned comparison with negative error code Date: Mon, 22 Dec 2025 18:15:49 +0300 Message-ID: <20251222151550.987992-1-alperyasinak1@gmail.com> X-Mailer: git-send-email 2.43.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" platform_irq_count() can return -EPROBE_DEFER, but irqs_count is unsigned. This causes the negative value to wrap around and bypass the error check. Store the return value in a signed integer first and check for errors before assigning to irqs_count. Reported-by: Dan Carpenter Closes: https://lore.kernel.org/r/202512141551.kZLTle5r-lkp@intel.com/ Signed-off-by: Alper Ak --- drivers/iommu/riscv/iommu-platform.c | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/iommu/riscv/iommu-platform.c b/drivers/iommu/riscv/iom= mu-platform.c index 83a28c83f991..5ec8efedbf12 100644 --- a/drivers/iommu/riscv/iommu-platform.c +++ b/drivers/iommu/riscv/iommu-platform.c @@ -68,8 +68,13 @@ static int riscv_iommu_platform_probe(struct platform_de= vice *pdev) iommu->caps =3D riscv_iommu_readq(iommu, RISCV_IOMMU_REG_CAPABILITIES); iommu->fctl =3D riscv_iommu_readl(iommu, RISCV_IOMMU_REG_FCTL); =20 - iommu->irqs_count =3D platform_irq_count(pdev); - if (iommu->irqs_count <=3D 0) + ret =3D platform_irq_count(pdev); + if (ret < 0) + return ret; + + iommu->irqs_count =3D ret; + + if (!iommu->irqs_count) return dev_err_probe(dev, -ENODEV, "no IRQ resources provided\n"); if (iommu->irqs_count > RISCV_IOMMU_INTR_COUNT) --=20 2.43.0