From nobody Sat Feb 7 19:45:14 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CCFD23AB98 for ; Sun, 9 Nov 2025 19:48:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=10.30.226.201 ARC-Seal: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762717712; cv=fail; b=Ww7gbh+hquwhV9CXyhM/bQHB5k+Le2LPck2CrSmuEHl4O0++P4UZtqIIbQUK5WvkeYzTszcY+tnTf2c/FJjaclpZRGF6K+WxWRQcpVi/Itesr93MhY+rZs2a0AeQmSJipTXUcFElGTdfHFigGvQpSUqCisiPmpZQ2/lIefXyRM0= ARC-Message-Signature: i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1762717712; c=relaxed/simple; bh=Rsfmd7zbC+kSZ3iat7Z+yufKodHJKLHaalHhwgTU+L8=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=jazCVMtzSjcF9rUdsP+tMk/+5FLBfL9CwvKvqWmsLiBpci5lu2kRrAkCB91cb75Sj6AGMD81GOGpzko8kDisFmoRSr8Am1UflGnpYMEHfwAgdDhxanyho3ScF+Bf1C9mVMf/4mDYJ3fbDZGDYWN7+yWqiGms/CdpYjOD4bKj7qo= ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=eb1I7HCC; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=LzHcwtHD; arc=fail smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="eb1I7HCC"; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="LzHcwtHD" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B8802C4CEFB; Sun, 9 Nov 2025 19:48:31 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1762717712; bh=Rsfmd7zbC+kSZ3iat7Z+yufKodHJKLHaalHhwgTU+L8=; h=Resent-From:Resent-Date:Resent-To:Date:From:To:Cc:Subject: References:In-Reply-To:From; b=eb1I7HCCZeEl6TCepnay1U+s2KFjSh1MyvtgkYfyFuJ3HSVrTWcljHA1plfYUGj0c maL7IP8wIIgBgbjDuQPKpOKNyOLra1FK6aQqTv6MRu7bmlemlXFcuEQEMYueHo/gTe zHzjiUxQJaReJDZEw3oM/LAJ6NxdLBJwx+jbJz2hrlD/PiXzRIZvNvUzYvH9hoqRAG 2zlVOwmXqr26At0w5y4mAehBzSp8PwE+Q0OeCe34WMSeczy8Kbnvcdkr29cGOsFXdK rmVrGBGemYg8g95YKZGLybpTo7DN31YaDtrukpKE27OMMUdP7jdP0+sYaoU57EPCf8 v3DCjrSyOHqcQ== Resent-From: Alejandro Colomar Resent-Date: Sun, 9 Nov 2025 20:48:29 +0100 Resent-Message-ID: Resent-To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Received: from mp2.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by ms17.migadu.com with LMTPS id 4BY9NVHvEGlGGQAAe85BDQ:P1 (envelope-from ) for ; Sun, 09 Nov 2025 20:45:22 +0100 Received: from aspmx1.migadu.com ([2001:41d0:403:4876::]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) by mp2.migadu.com with LMTPS id 4BY9NVHvEGlGGQAAe85BDQ (envelope-from ) for ; Sun, 09 Nov 2025 20:45:22 +0100 X-Envelope-To: foss@alejandro-colomar.es Authentication-Results: aspmx1.migadu.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LzHcwtHD; spf=pass (aspmx1.migadu.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Seal: i=1; s=key1; d=alejandro-colomar.es; t=1762717521; a=rsa-sha256; cv=none; b=BP8FKr6DRiFBBzpqL+zzwK54NQu64z4zhtZVdD9wmJhcczVXMlfDedQyZHfvIlYm6Ic2jg dO+41hRCp/uYscq7IJvCyXS4zYvcsi1hvAxI2LNepMpmrsh0JlGw1u2v8gngCFi58uDOmW cHZyt8SgArOvBwhWygbcjS/WnUFvKm4m7sriEH9gtovtc20JuIAlRQWkgsN/MvCaRRZCRi DiUoQ1YUR9McwnHnUbB03o1DmlHsSau0N7C1YInCUnw52REb0z75Lct5cDmhmHqHmCprFF FWcXk4YUyI1OLVLaMH/dWu/wRSrEO+qv6KPTFNHqzaVHldZm8F95fX4h5zD/MQ== ARC-Authentication-Results: i=1; aspmx1.migadu.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=LzHcwtHD; spf=pass (aspmx1.migadu.com: domain of alx@kernel.org designates 172.105.4.254 as permitted sender) smtp.mailfrom=alx@kernel.org; dmarc=pass (policy=quarantine) header.from=kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=alejandro-colomar.es; s=key1; t=1762717521; h=from:from:reply-to:subject:subject:date:date:message-id:message-id:to: cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references:dkim-signature; bh=DXKtenz6DaLMGUShcrB400tfbTGBqWhLKx1FA2IPRio=; b=mm4jNvLfEK/8RhG/MG/mSrpZ88IsYmzSM2Tz5PWdCvCOgAO9h0M5bUoTXAq0rICFRq/XgE sa8vGwtASLrmaZxWR8lCW7rUVIhfiqqVopG2UTiXg4qQeYpMAFO1xOCV2NKMCb68xeLVVl S2NSska/YDo6wrxmBR+Rkqx1yboW1PgOEywo3XNk9gDcl7PLmcGQGGczGQH9IRsFG5dhf5 brLFoT910GEh24AZh1pIlHkVgM2XI48jdAkXP8hOwsK48Vq5CL+UrhbZGx5lyBZu94z0T+ uOw4fZWyBALhFHYDE6v56cRSuB8QAjkri0QP55kFjlrDdPfh30qTYkBZks8IEA== Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by aspmx1.migadu.com (Postfix) with ESMTPS id 0F58FD7D2D for ; Sun, 09 Nov 2025 20:45:21 +0100 (CET) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 864A560008 for ; Sun, 9 Nov 2025 19:45:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) id 49AE3C4CEF8; Sun, 9 Nov 2025 19:45:19 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 88A87C19425; Sun, 9 Nov 2025 19:45:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1762717519; bh=Rsfmd7zbC+kSZ3iat7Z+yufKodHJKLHaalHhwgTU+L8=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=LzHcwtHDsuLU7WJ43kChp8Y+U1WEmrxpjOY+pOb0QZbgixTyvkxjiOmTAz/8B7wB3 TWRbDRfB+aNdheUwVW1cfS8JWxcQiLKvrtkH02tsYcG0Z2bz3lCEcvOgNqgwsPjZyg 7v0kIE1uGa5DM4QMsOns7CWZi+U26E1EzKbssrZTLidqQcLb9//0yDLLp2a54Svq62 H2U9GnqsJzOoqYfhWKxnp+GhqcXm6A0hw8t+Sh8WOKHhvrbfdn6lMtpXx1R5jotnX/ 4ALKg7RUgbX/WgieaY7soOYa+PMEMhjaxSHeNMIBynget4wtlxnX1cjqzuNZVJij0M xtOabPQWJ8XTQ== Date: Sun, 9 Nov 2025 20:45:14 +0100 From: Alejandro Colomar To: linux-kernel@vger.kernel.org, linux-mm@kvack.org Cc: Alejandro Colomar , Kees Cook , Christopher Bazley , Rasmus Villemoes , Marco Elver , Michal Hocko , Linus Torvalds , Al Viro , Alexander Potapenko , Dmitry Vyukov , Jann Horn , Andrew Morton , "Maciej W. Rozycki" Subject: [PATCH v4 2/4] mm: Fix benign off-by-one bugs Message-ID: X-Mailer: git-send-email 2.51.0 References: Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: X-Migadu-Flow: FLOW_IN X-Migadu-Country: SG X-Migadu-Spam-Score: -1.11 X-Spam-Score: -1.11 X-Migadu-Queue-Id: 0F58FD7D2D X-Migadu-Scanner: mx10.migadu.com X-TUID: hEYmiNksznMd Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" We were wasting a byte due to an off-by-one bug. s[c]nprintf() doesn't write more than $2 bytes including the null byte, so trying to pass 'size-1' there is wasting one byte. Acked-by: Marco Elver Cc: Kees Cook Cc: Christopher Bazley Cc: Alexander Potapenko Cc: Dmitry Vyukov Cc: Alexander Potapenko Cc: Jann Horn Cc: Andrew Morton Cc: Linus Torvalds Cc: Rasmus Villemoes Cc: Marco Elver Cc: Michal Hocko Cc: Al Viro Signed-off-by: Alejandro Colomar Message-ID: <515445ae064d4b8599899bf0d8b480dadd2ff843.1752182685.git.alx@ke= rnel.org> --- mm/kfence/kfence_test.c | 4 ++-- mm/kmsan/kmsan_test.c | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/mm/kfence/kfence_test.c b/mm/kfence/kfence_test.c index 00034e37bc9f..5725a367246d 100644 --- a/mm/kfence/kfence_test.c +++ b/mm/kfence/kfence_test.c @@ -110,7 +110,7 @@ static bool report_matches(const struct expect_report *= r) =20 /* Title */ cur =3D expect[0]; - end =3D &expect[0][sizeof(expect[0]) - 1]; + end =3D ARRAY_END(expect[0]); switch (r->type) { case KFENCE_ERROR_OOB: cur +=3D scnprintf(cur, end - cur, "BUG: KFENCE: out-of-bounds %s", @@ -140,7 +140,7 @@ static bool report_matches(const struct expect_report *= r) =20 /* Access information */ cur =3D expect[1]; - end =3D &expect[1][sizeof(expect[1]) - 1]; + end =3D ARRAY_END(expect[1]); =20 switch (r->type) { case KFENCE_ERROR_OOB: diff --git a/mm/kmsan/kmsan_test.c b/mm/kmsan/kmsan_test.c index 902ec48b1e3e..b5ad5dfb2c00 100644 --- a/mm/kmsan/kmsan_test.c +++ b/mm/kmsan/kmsan_test.c @@ -105,7 +105,7 @@ static bool report_matches(const struct expect_report *= r) =20 /* Title */ cur =3D expected_header; - end =3D &expected_header[sizeof(expected_header) - 1]; + end =3D ARRAY_END(expected_header); =20 cur +=3D scnprintf(cur, end - cur, "BUG: KMSAN: %s", r->error_type); =20 --=20 2.51.0