From mboxrd@z Thu Jan 1 00:00:00 1970 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 65D20214A64 for ; Tue, 23 Dec 2025 01:07:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766452053; cv=none; b=NF637hbRKcdB8dlihq1NTpKVlgXnFuRxXvyzZUNscnG6gGMd0/LQlH98RBSTkI5IAWlSZs/T6JAidSa9IyzrDJ1h9VK+noR3dhpJALE3QbzwxODVXe13/68S4KLMjo1olcIvYFET6jmkfm8O5g8jV/krldXY6QYVZHEY2jwb8/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1766452053; c=relaxed/simple; bh=8HLJDJzqJpZNyDjxm0GPb6san6RSllNRbd8BiJb/m3I=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=gwps+pHz6mkAcjHcoMWRpHkeI81UyixVmLuhlWysk5HzH0UEKpMzjY7mBF7VAYj7ti7lVZSFBRSJLB4EdQT2kvJSUw6zGjy9fEMxgO12vcF3XHG6TBFmuWq+vxj04WdefMZ8wKE6NtKS+iFAd7VnZMeERT/lIytCrZrPuFF/lcw= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=CrFyOnk8; arc=none 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="CrFyOnk8" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 244AEC4CEF1; Tue, 23 Dec 2025 01:07:28 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1766452052; bh=8HLJDJzqJpZNyDjxm0GPb6san6RSllNRbd8BiJb/m3I=; h=Date:From:To:Cc:Subject:References:In-Reply-To:From; b=CrFyOnk8xn0XnO9L2YfHDvLC3fVAb6sjS2M4lUZyTjaUAtCPJP4KMlIeAojFHmGjx Ej5DoYnq8xnh1lF3dhyspVDaD4HoyWUZ0Lw3QnJvM9FW9sGdB26jme6vv67KzDcNCG ejKU5u+0QKpmnVhUh+Ry4YueyBFCk+wq1THPLhaI/c/sBBsnGfWbpWZ9rgAoimrz+n fx7ypuNkmcmkJoza+bhHXo9fNHEIYovQufpz98k8AGD8b4qOXdYHM8PV+bB1W20q7r umK5u65js9ektIXsnVyIKXLg7Wtp8pAg37OHdZ4gQQPF0FUUsZBclpJyCQ2qAm2E8a esUXDwYfWvPVg== Date: Tue, 23 Dec 2025 02:07:26 +0100 From: Alejandro Colomar To: Kees Cook Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Christopher Bazley , Rasmus Villemoes , Marco Elver , Michal Hocko , Linus Torvalds , Al Viro , Alexander Potapenko , Dmitry Vyukov , Jann Horn , "Maciej W. Rozycki" Subject: Re: [PATCH v5 4/4] mm: Use ARRAY_END() instead of open-coding it Message-ID: References: <202512101736.DE24BE89@keescook> <202512221517.E1B039879E@keescook> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="fod4yrxti6hqvgsb" Content-Disposition: inline In-Reply-To: <202512221517.E1B039879E@keescook> --fod4yrxti6hqvgsb Content-Type: text/plain; protected-headers=v1; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: quoted-printable From: Alejandro Colomar To: Kees Cook Cc: Andrew Morton , linux-kernel@vger.kernel.org, linux-mm@kvack.org, Christopher Bazley , Rasmus Villemoes , Marco Elver , Michal Hocko , Linus Torvalds , Al Viro , Alexander Potapenko , Dmitry Vyukov , Jann Horn , "Maciej W. Rozycki" Subject: Re: [PATCH v5 4/4] mm: Use ARRAY_END() instead of open-coding it Message-ID: References: <202512101736.DE24BE89@keescook> <202512221517.E1B039879E@keescook> MIME-Version: 1.0 In-Reply-To: <202512221517.E1B039879E@keescook> Hi Kees, On Mon, Dec 22, 2025 at 03:21:21PM -0800, Kees Cook wrote: > > Now that the first patch set has been merged, I'm working on a second > > round. > >=20 > > I've written a semantic patch: > >=20 > > $ cat src/spatch/array_end.sp=20 > > @@ > > expression a; > > @@ > >=20 > > - a + ARRAY_SIZE(a) > > + ARRAY_END(a) > >=20 > > @@ > > expression a; > > @@ > >=20 > > - ARRAY_SIZE(a) + a > > + ARRAY_END(a) >=20 > I think you can add parens which will be silently removed but gain you > the commutative behavior: Ahhh, thanks! I was wondering how I could get commutative behavior. > @@ > expression a; > @@ >=20 > - (ARRAY_SIZE(a) + a) > + ARRAY_END(a) >=20 > I *think* that'll cover "a + ARRAY_SIZE(a)" too. Yup, it works. :) > Anyway, looks good! Thanks! > You could send it directly to Linus at the end of > the next rc1, and he may take it. I'll send a draft before that, just for you to review the actual patch. > If not, you'll want to split the patch > up and send to subsystems after ARRAY_END is in Linus's tree. I use this > tool to split a large single patch into per-subsystem patches: > https://github.com/kees/kernel-tools/blob/trunk/split-on-maintainer Okay. I can do both, anyway. Have a lovely night! Alex --=20 --fod4yrxti6hqvgsb Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEES7Jt9u9GbmlWADAi64mZXMKQwqkFAmlJ60gACgkQ64mZXMKQ wqkiMA/8DGujTyeC67FKUmw35SWj8WOq/Bpjhy2WiicfTsQcoLblao7BrO+2OPqR b6eE+86SJsaM7XcZ3+L8TxwK3X7OcADezT5WdnG7S61OmxjdwLQtWgoLPFNr92zj AJqU8uEQ8yIDdLv8NKMWt3TrWwgHXsxoTI+BXZPJFajkGjqjbX9d7Y/+2Zy5TUQ6 b7L45gkWMK8W6qMdKJI/X/WGQP/Vde8yyzKzLt8JUSpg7ZxjH4hILe+PbmGcPAjH ip9BPvaeBFhRAZoPGM+NgQna+kzG/IMAG0hdwEiOwzjWkhw7LdJlhs0zSgjFjOS5 By8fSBwmOU+ttynHHYloPM8HgjwMVOjnYm9FeH1i6AL5T4I6lo5eOlaz5WTGvXGq eh1VAGBZdSCz3IEag/WWjuHZXNkvShgmJ55lctJE+zGZpaaw+Hh8NKzDRj1Fjv5C sYmkjJRcRDbCGAP5QbmtAQAS1H0FtTd2SGIYzMfS1YQhP/+uBlyfe7ubFrQb6ks0 Hlhb+7NCwRiP3m2v++UBa2gWOIRaSHYqbsO6A9LH9tN+YNCKrwObqcdibVVRVy5e ZMBMDHLo4/YGyTDKdWd1gkfBwPqjQfABgzMgxJQ295V7yAsJuuhNVzLrJFeiZg9F c0N9Gt5E962MTk+DAZ5cI/zFpY7jwLYfmG9V2nftvaaF7w5Slj4= =AU3k -----END PGP SIGNATURE----- --fod4yrxti6hqvgsb--