From nobody Sat Jun 13 21:24:18 2026 Received: from mail-pf1-f174.google.com (mail-pf1-f174.google.com [209.85.210.174]) (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 BD6AC35C1A2 for ; Tue, 5 May 2026 01:54:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.174 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777946045; cv=none; b=MCrzWtj/E7MBa8di18/hjDMyLROIRFYiTmDEX7oODVs6oSCbSkZUr8IHCrFi/DzctFyN9Fi/fg5z2328W8jyU0zttGvnsPvlgW4pl92r25z7Nw/HnJKAbCQFAguweZTYxqhcNvdhlZdQfx04VTFmUuy6HiDCTBh2IezKz9nk04I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777946045; c=relaxed/simple; bh=bCXcH22VETc/1TUN/+hBoB9VD44HhAx4Bt4mZr0aROE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=RrN/QLJyoShI5Cz2GytPxMJWdRDNHIV+mOdfz+/6aqzFCBVQSPpcUOi8mg0Vd1JjSFfXXKe2V3vduDEuytmBpuzMYZEfG+Vo8D1B5oQFlxpfoUduBSz+Af+KVb7qo363QtDjRJvbnk5q4SoU7YwU9B45lO3DHzKC4qvndw7wa+A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com; spf=pass smtp.mailfrom=riscstar.com; dkim=pass (2048-bit key) header.d=riscstar-com.20251104.gappssmtp.com header.i=@riscstar-com.20251104.gappssmtp.com header.b=kNnmpI0h; arc=none smtp.client-ip=209.85.210.174 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=riscstar.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=riscstar.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=riscstar-com.20251104.gappssmtp.com header.i=@riscstar-com.20251104.gappssmtp.com header.b="kNnmpI0h" Received: by mail-pf1-f174.google.com with SMTP id d2e1a72fcca58-83537a80ab6so1320947b3a.1 for ; Mon, 04 May 2026 18:54:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=riscstar-com.20251104.gappssmtp.com; s=20251104; t=1777946042; x=1778550842; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=A4fW5IFCF+h7MNSs7mItaLMetGKpr2bIN5LAG6vg93E=; b=kNnmpI0h6rpwWjBKY25r1IVoarDSkqdUlE5K/MQXRhi2k2RYEhyVoz4xNt+XKpNi+F 3DNuSXWQb9kothmMQgDebFa38WHz3iNkbk0QERRBzoRgqP4FbF4yL4v94+7nFkAvdxPr +r01UtV4AQZksKL71zfeU0Mb4BjosNRB53vmz0BhcC2jfWk3oOKC3bp63alhB9ZPv57o Erflo4To2NHaukhFBn9q9e5//hjtiXfn1h06tV5gyfYKw58PsbCVhKwxiROSCIMCEhJE RCSf10u89aGAX7OX0xYpyMNyn2NONNvLypNa8Sd6rF/M1jBw16mX1DcaA/ALlctNTYLA vtpA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777946042; x=1778550842; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=A4fW5IFCF+h7MNSs7mItaLMetGKpr2bIN5LAG6vg93E=; b=Xk/GwNjSa9RSM1ZZqNupxStTn0MM8p5jet2OsDS2ESzaHB5M68oVHQtDDFa6w8Qkqx fi6AOELPnSNuRKqeoktnTo0PgwCQqW3LnQr2p9icubbBgWfWvPnOZB5xYHnbx9iiBXdS yrH8CJgJBYccap9Lqtc/rAFq8ndwQsMtpmxKZ7Uhha0boryjphPaPseWZuyzdOiWtshI dXMIiYMnHiG01ZV+KZjB2R3ZTjnpnsc2/0nbC/WBC62ka8CMzSIumv5KrDQD2fdxqQLA j7pENwavH4M4C2mgod4YnMCZXAgvCHVuWZkmyXKHu4QraUnqqaO696xPOf6x4wFzV/v2 KEgA== X-Forwarded-Encrypted: i=1; AFNElJ80QbUdKn0L48ycrLMQmWbMWdEZD3oS4IDfNT6eVQy8/dFojEAXxWEO4vOX6NqtzYBs1tL4+wPCdwx1nJk=@vger.kernel.org X-Gm-Message-State: AOJu0YyO6I1VpNeohmGg24f+LgRfOMdXxT84qdZ3CPYPxso67YS9WSTC +YpqePY1jwqV9b+2cPdlrIYFwrXKaiBYLuInizth0AUg4Yi1rTxfRs4IHtfh8C5TpLY= X-Gm-Gg: AeBDieuzqTUiZlmMaEC7MbIN4zpcC5T0ohhL3B0uZsyBrNILY9u+mNeUQFg14C7hATg REBL4M3E3FbSzzgs9XuXqIngVWInCG3C+ucv9++Xfyz3imDS0etWV2Kl7pBph4htzv4O5lawMb2 tq56Rz8gW9T3ZPbiMTt8CHeOX/fbDdCmxAxSI8LDovWKgtuGlZU2NmlNr35aKBAEXvVdjV6BEOc F1xlMI0Rm75a06Wo4aebFXnikTgYSm89J3IdEsijG8H7uMRpA6phGXNhxBT4qm888NogPg7tjIz vkB9cWuFVnJuoeftmKBDdFQualrrIY7pB5haTn/4y79kdPBL5OeOE0XGXo9fsA3D8LqIUQxgABP 9jdZAAeSx/tpbfaGNVwCZOZG2FLbo7ATb9xiuXYO57IWMN8KFUExNC0CJ8ZLS/ljSSqPMTSYMsN GkELRSjnChRM/l0geEbGTVwDpgpustOIQqegcxx45ZZ86LDBqmb4kuNFDFRNj/i6aK X-Received: by 2002:a05:6a00:1250:b0:837:a211:4edd with SMTP id d2e1a72fcca58-837a21153a9mr6252120b3a.3.1777946042159; Mon, 04 May 2026 18:54:02 -0700 (PDT) Received: from [127.0.1.1] ([2a12:a305:4::3016]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-839682a4bffsm211375b3a.56.2026.05.04.18.53.58 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 18:54:01 -0700 (PDT) From: Guodong Xu Date: Tue, 05 May 2026 09:53:34 -0400 Subject: [PATCH] spi: spacemit: add u64 cast to NSEC_PER_SEC to avoid 32-bit overflow Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260505-spi-spacemit-k1-fix-overflow-v1-1-77564c2e4e86@riscstar.com> X-B4-Tracking: v=1; b=H4sIAF32+WkC/yXMywqDMBCF4VeRWXcgBqymr1K6iHHUsa2RjDcQ3 73TdnEWHwf+A4QSk8AtOyDRysJxVOSXDELvx46QGzVYY6+mMAXKxDof6M0zPnNsece4UmpfccO qdK6pg/XkStDElEj/X/7++FuWeqAwf5twnh9PJHf6gAAAAA== X-Change-ID: 20260505-spi-spacemit-k1-fix-overflow-8799dbc2ae97 To: Mark Brown , Yixun Lan , Alex Elder Cc: linux-spi@vger.kernel.org, linux-riscv@lists.infradead.org, spacemit@lists.linux.dev, linux-kernel@vger.kernel.org, kernel test robot , Guodong Xu X-Mailer: b4 0.15.1 NSEC_PER_SEC expands to the long constant 1000000000L, so NSEC_PER_SEC * BITS_PER_BYTE (8 * 10^9) overflows on 32-bit-long architectures before the result reaches the u64 nsec_per_word. Promote the multiplication to u64 by casting the first operand, which is NSEC_PER_SEC. Fixes: efcd8b9d1111 ("spi: spacemit: introduce SpacemiT K1 SPI controller d= river") Suggested-by: Alex Elder Reported-by: kernel test robot Closes: https://lore.kernel.org/oe-kbuild-all/202605050437.RS6mmV2b-lkp@int= el.com/ Closes: https://lore.kernel.org/oe-kbuild-all/202605050317.Tf9j487w-lkp@int= el.com/ Signed-off-by: Guodong Xu --- Hi, Mark This is an incremental fix on top of your for-7.2, addressing the overflow warning. Verified on BPI-F3 with a GD25Q64E SPI NOR, read/write/erase still work. Thank you. Guodong --- drivers/spi/spi-spacemit-k1.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/spi/spi-spacemit-k1.c b/drivers/spi/spi-spacemit-k1.c index 99db429db0b26..215fe66d27b4d 100644 --- a/drivers/spi/spi-spacemit-k1.c +++ b/drivers/spi/spi-spacemit-k1.c @@ -390,7 +390,7 @@ static int k1_spi_set_speed(struct k1_spi_driver_data *= drv_data, * ticks_per_word =3D BITS_PER_BYTE * drv_data->bytes; * We do the divide last for better accuracy. */ - nsec_per_word =3D NSEC_PER_SEC * BITS_PER_BYTE * drv_data->bytes; + nsec_per_word =3D (u64)NSEC_PER_SEC * BITS_PER_BYTE * drv_data->bytes; nsec_per_word =3D DIV_ROUND_UP_ULL(nsec_per_word, drv_data->rate); =20 /* --- base-commit: efcd8b9d111177d48c841d09beca43b15d5b9e5f change-id: 20260505-spi-spacemit-k1-fix-overflow-8799dbc2ae97 Best regards, -- =20 Guodong Xu