From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from kanga.kvack.org (kanga.kvack.org [205.233.56.17]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5CED7C4828E for ; Thu, 1 Feb 2024 22:09:13 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id C17BE6B0072; Thu, 1 Feb 2024 17:09:12 -0500 (EST) Received: by kanga.kvack.org (Postfix, from userid 40) id BC8B86B0074; Thu, 1 Feb 2024 17:09:12 -0500 (EST) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id AB6E66B0075; Thu, 1 Feb 2024 17:09:12 -0500 (EST) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0014.hostedemail.com [216.40.44.14]) by kanga.kvack.org (Postfix) with ESMTP id 995906B0072 for ; Thu, 1 Feb 2024 17:09:12 -0500 (EST) Received: from smtpin24.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay07.hostedemail.com (Postfix) with ESMTP id 3FBD8160EF0 for ; Thu, 1 Feb 2024 22:09:12 +0000 (UTC) X-FDA: 81744626544.24.D5F087C Received: from gandalf.ozlabs.org (gandalf.ozlabs.org [150.107.74.76]) by imf23.hostedemail.com (Postfix) with ESMTP id B2695140015 for ; Thu, 1 Feb 2024 22:09:09 +0000 (UTC) Authentication-Results: imf23.hostedemail.com; dkim=pass header.d=canb.auug.org.au header.s=201702 header.b=pV8i93ih; spf=pass (imf23.hostedemail.com: domain of sfr@canb.auug.org.au designates 150.107.74.76 as permitted sender) smtp.mailfrom=sfr@canb.auug.org.au; dmarc=pass (policy=none) header.from=canb.auug.org.au ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1706825350; h=from:from:sender:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:cc:mime-version:mime-version: content-type:content-type:content-transfer-encoding: in-reply-to:in-reply-to:references:references:dkim-signature; bh=vL7SJZQiX7iBH2yVQNL2VeEYjvGEbCOoRew0Z3DhEek=; b=ft00NpXUab88YVmU3/fM9S59eR/iYhc5/6L381uAKoR+CIy1+l+M0oTQIJwxjj85OTeNpk uMXDFTKDt72lBJ92ReiAG+QdDhTuibr1092N4bHrGgGhhxov8bu8hprYlIV8UT7vb8EcWL ssNaTp9uHBFxLu39G+FL7QLS+tTayRg= ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1706825350; a=rsa-sha256; cv=none; b=bcusQxP7OdjKlKUOhgc3RzrgMKtk1CVTKpF7vI7gozu98HVKGhE725J9eut2Upo8tzzISt /x53oRnhccshW74rCqHgkXdsygQOGQYxL8LwzQFupcUuFs4puHHINRwp8KdkyyXMTyNuzm YxlLX3bFgFFL7zqFnDRPF1KZI1Va7bs= ARC-Authentication-Results: i=1; imf23.hostedemail.com; dkim=pass header.d=canb.auug.org.au header.s=201702 header.b=pV8i93ih; spf=pass (imf23.hostedemail.com: domain of sfr@canb.auug.org.au designates 150.107.74.76 as permitted sender) smtp.mailfrom=sfr@canb.auug.org.au; dmarc=pass (policy=none) header.from=canb.auug.org.au DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=canb.auug.org.au; s=201702; t=1706825346; bh=vL7SJZQiX7iBH2yVQNL2VeEYjvGEbCOoRew0Z3DhEek=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=pV8i93ihpBQWX/Jum97yQQApGrpd9muWbWh8gsRBKxPjOU8wbJEurgEQmCNAq6dly 5gsQW24igc680rGzBzMJAACXdSmnWO3JSBW2muSyo9rmKPL4tN1Gu79/OTFiYP8BAd 5OgNVBYpIrf+86i0kikm1mI6wSfIHV4YM16BzMCIoMf2V6ttz1R/u2noCQiXJx0C0b O/pmdpEi101tEWzsVCLpMVUPl6Jlo0Xpmpfkg2yN/TP7aJ78K2ysqU5xpN6AVYVi4z JF8eLmG/Uo2b2cuN0SydjhyGlPzHheSxPBD4V8EGhpjnhRjx29C3OkWB0OkMk1xMDI HrWFsbsEtuWfA== Received: from authenticated.ozlabs.org (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mail.ozlabs.org (Postfix) with ESMTPSA id 4TQtNJ6PYTz4wcP; Fri, 2 Feb 2024 09:09:04 +1100 (AEDT) Date: Fri, 2 Feb 2024 09:09:03 +1100 From: Stephen Rothwell To: Marco Elver Cc: Andrew Morton , Andrey Konovalov , Alexander Potapenko , Dmitry Vyukov , Vlastimil Babka , linux-kernel@vger.kernel.org, linux-mm@kvack.org, kasan-dev@googlegroups.com Subject: Re: [PATCH -mm v2] stackdepot: fix -Wstringop-overflow warning Message-ID: <20240202090903.6ba062ac@canb.auug.org.au> In-Reply-To: <20240201090434.1762340-1-elver@google.com> References: <20240201090434.1762340-1-elver@google.com> MIME-Version: 1.0 Content-Type: multipart/signed; boundary="Sig_/E5HTHIzNlHNnd_U1O+bvlVs"; protocol="application/pgp-signature"; micalg=pgp-sha256 X-Rspamd-Queue-Id: B2695140015 X-Rspam-User: X-Stat-Signature: yoga6zfq7ouktzpns7qyrprbs1odyuob X-Rspamd-Server: rspam03 X-HE-Tag: 1706825349-261540 X-HE-Meta: U2FsdGVkX19QtWQxeYxr5WbKRcopq0s1UVwMiwCfdchG/X4hrqWFnmYSMAFzYYeNofzQBop0Scv5+3GFM7oZgxejMyWlmE7YZ8pcnhq5HXUv+f2EWcfvvyw0LFMLnhJKC82flH2zzAHAs+xThVz0h23Y1e3UgV61tzIZvp9WyHvjQOYXCADrnP4N3uEL3IDovJ63AugTTlM0q8LwUXQCdTYFob83cpt5yrXTvfjX7RCqAgCz6Rl4SDoZyylWvfyH4I1yTOmPCxngukgmd6yYAkkhNBcvpmvr44+9sInnfesgClCYdCBhJ7Edm3nsn4XQyGs2DWS6s6KueEtucBp+T0W8YHmWCxAJ4kgCA49QOL34cZgZTsX0nACx/TrDvFDo6woPK9fs4SuheMb0rXXA0tF6P70ZEZ6gWcBn3TX4I7i6Y0NbEVv33U8x++fxxl5fawGPCDANWBAsHAwMs40leIxK9rT0PTJR+uXMgxa7ecgHfx7dzpiONHuoIfKvIBBu7Pjukzf50+6o/ncVC0h6tVkWB5lQlmpiTpiJwLB8qqZiZ0KsL7dSp9oE8227BlRfd7MVbZ8mT16GEbHP+d988NSMWoXGMrodkwOIDpWGvJVJLcL8vGWHo2Id5glIaTDvHIUoU2SEO1/M9nt0ib4X7rBBpsAf7Pg3QX6uXFWhlgcRy82n5gxKrVzSX92mGiIKVKwkTafRZCuWeD95OLkhwSuJ9YZureF+j6Q472thGEARrElnmTZEjlgNAgMy2X42aLV2OcLsFA3jaHfrkPDA7MXp+k8MKfmOuhsDKqQM7EDTe3nwoTVMxjziqWgUZucP2kQ9MO2+Wq5M9UuAUugev3enNTroM6+15XPGXgDd5Fv+aJ9mnkmxW/Kj/hU+y/UjkuqR/S2/n86ZaCMi60YEvPYDNxyXg7WNd7MRIdMQui2gvgkEqjmHkcmlhmYzezZkOPTFmx321GD8WFSRau4 kkK6B3gT f4cjAU1lQ1N4AYFh3xNg8CNCWxqmZ4lhgnNkd8LzIp5seOS4DODd/ZNQYA4RXcLWmRCIdiBf9BVKCxTmfD2A8NxyRk16He/Fsxbv5OJw3XCctU0WjRVMbiL71TcvbEoRCS7ioATnXMMsxWEO2FpCrEvlcv/yQjgxEhhI30xgFi69oFVZJiybwkFWuzBDXcf8fKr+NutdyAZu/RylnZiA0+OKCN/KzL8jJnUExAwQfSZnUP0k8LOZpDUIjMs6mGs/5SrwqwZb5bzYE3Bl9C7w+tZPPtuto3rkejEl1KnBQ/X5JK5nc+EPYoQW3HMkDvxs1DwKv8g851L4D+y/a1O9p6Fze19vu9vkZJhSUV111qD/0R/YzzDUJadZiJhcJtaVkLw39PgUxMEEvU5qRPrVuI/cDJYTJ5PG9K9IbjbQDPnDGOZ0= X-Bogosity: Ham, tests=bogofilter, spamicity=0.000000, version=1.2.4 Sender: owner-linux-mm@kvack.org Precedence: bulk X-Loop: owner-majordomo@kvack.org List-ID: List-Subscribe: List-Unsubscribe: --Sig_/E5HTHIzNlHNnd_U1O+bvlVs Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: quoted-printable Hi all, On Thu, 1 Feb 2024 10:04:30 +0100 Marco Elver wrote: > > Since 113a61863ecb ("Makefile: Enable -Wstringop-overflow globally") > string overflow checking is enabled by default. Within stackdepot, the > compiler (GCC 13.2.0) assumes that a multiplication overflow may be > possible and flex_array_size() can return SIZE_MAX (4294967295 on > 32-bit), resulting in this warning: >=20 > In function 'depot_alloc_stack', > inlined from 'stack_depot_save_flags' at lib/stackdepot.c:688:4: > arch/x86/include/asm/string_32.h:150:25: error: '__builtin_memcpy' speci= fied bound 4294967295 exceeds maximum object size 2147483647 [-Werror=3Dstr= ingop-overflow=3D] > 150 | #define memcpy(t, f, n) __builtin_memcpy(t, f, n) > | ^~~~~~~~~~~~~~~~~~~~~~~~~ > lib/stackdepot.c:459:9: note: in expansion of macro 'memcpy' > 459 | memcpy(stack->entries, entries, flex_array_size(stack, e= ntries, nr_entries)); > | ^~~~~~ > cc1: all warnings being treated as errors >=20 > This is due to depot_alloc_stack() accepting an 'int nr_entries' which > could be negative without deeper analysis of callers. >=20 > The call to depot_alloc_stack() from stack_depot_save_flags(), however, > only passes in its nr_entries which is unsigned int. Fix the warning by > switching depot_alloc_stack()'s nr_entries to also be unsigned. >=20 > Link: https://lore.kernel.org/all/20240201135747.18eca98e@canb.auug.org.a= u/ > Fixes: d869d3fb362c ("stackdepot: use variable size records for non-evict= able entries") > Reported-by: Stephen Rothwell > Signed-off-by: Marco Elver > --- > v2: > * Just switch 'nr_entries' to unsigned int which is already the case > elsewhere. > --- > lib/stackdepot.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) >=20 > diff --git a/lib/stackdepot.c b/lib/stackdepot.c > index 8f3b2c84ec2d..4a7055a63d9f 100644 > --- a/lib/stackdepot.c > +++ b/lib/stackdepot.c > @@ -420,7 +420,7 @@ static inline size_t depot_stack_record_size(struct s= tack_record *s, unsigned in > =20 > /* Allocates a new stack in a stack depot pool. */ > static struct stack_record * > -depot_alloc_stack(unsigned long *entries, int nr_entries, u32 hash, depo= t_flags_t flags, void **prealloc) > +depot_alloc_stack(unsigned long *entries, unsigned int nr_entries, u32 h= ash, depot_flags_t flags, void **prealloc) > { > struct stack_record *stack =3D NULL; > size_t record_size; > --=20 > 2.43.0.429.g432eaa2c6b-goog >=20 I have applied this patch to the merge of the mm tree today. --=20 Cheers, Stephen Rothwell --Sig_/E5HTHIzNlHNnd_U1O+bvlVs Content-Type: application/pgp-signature Content-Description: OpenPGP digital signature -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEENIC96giZ81tWdLgKAVBC80lX0GwFAmW8Fn8ACgkQAVBC80lX 0GwEdQf/QnOi4Qm8+1/IkO10QkmuLja/E9BrYs9hA8MrzNS5sUIvOr1HmQEvEP7Y CdpwEuMEITu9EgLXtwF9LqrddOg3WxHEsMpzwr4XSwJQk+zzyJV9OUMY0LV+OZw2 AT7P083oFYYMhfwvoTHTGMri7LQbB44JMqV+O4814bQCo63YCmDVxvZBc5xEiJT7 qdGhqra4nJpdURCQIpDEBFz49x/NQHsIAeUuqW1mGt963xX7BjfPd/8h7gZFM+PX rT0n8Nq1YALzqOXO+Q6sG06W2JURy7Pa0Asnc5TQITfD/zL1dV33YF0ljTOD1J8x qFy9tuJidBXQc4bTX6K7QRA5Mx5TxQ== =zrpL -----END PGP SIGNATURE----- --Sig_/E5HTHIzNlHNnd_U1O+bvlVs--