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 B30E8C6FA8F for ; Tue, 29 Aug 2023 13:27:32 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 2445728001A; Tue, 29 Aug 2023 09:27:32 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 1F4D88E001A; Tue, 29 Aug 2023 09:27:32 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 0E4EF28001A; Tue, 29 Aug 2023 09:27:32 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0015.hostedemail.com [216.40.44.15]) by kanga.kvack.org (Postfix) with ESMTP id F3FF28E001A for ; Tue, 29 Aug 2023 09:27:31 -0400 (EDT) Received: from smtpin27.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay02.hostedemail.com (Postfix) with ESMTP id BAE76120152 for ; Tue, 29 Aug 2023 13:27:31 +0000 (UTC) X-FDA: 81177219102.27.912AB3F Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by imf21.hostedemail.com (Postfix) with ESMTP id F06D21C0008 for ; Tue, 29 Aug 2023 13:27:28 +0000 (UTC) Authentication-Results: imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Nt7Yno+p; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of alx@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alx@kernel.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693315649; a=rsa-sha256; cv=none; b=uhAaPUH3qX3c0UPThrK6zzyRl3MmUR/f8ElltlQjyiXmz8/X1qHoj0hAsc29WCSnwzpAqV qbiGXVjbdmKVu7xUWS5VoxQxOdWwCDLTBXkPz+NMZOSK5O8sCtK7uuHNmG9TLGbarV00gS /AcI62JFlSfWiKoZEJpXUma+n9LGNag= ARC-Authentication-Results: i=1; imf21.hostedemail.com; dkim=pass header.d=kernel.org header.s=k20201202 header.b=Nt7Yno+p; dmarc=pass (policy=none) header.from=kernel.org; spf=pass (imf21.hostedemail.com: domain of alx@kernel.org designates 139.178.84.217 as permitted sender) smtp.mailfrom=alx@kernel.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693315649; 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=0U+vuE7QNRzTKPjBQ9X/0geOvr7aXLSimCKGQ1feAwE=; b=ImkQng/X97eiVXWhQYBYFF3TzU0Qb5KVRFPW5w8M3NwCTkLcT04OAIHDx8JcG2Hepo4wRr V6moEI8SgWvAOcotzlrCPN+WgkP9i5DflwyQZTU8NdYKLWZR56AFgN4+OjrQaBzCxzly+R 1vWZVNULjEb7cVhE21QGKj41OoMKTSA= Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id 0931D642D2; Tue, 29 Aug 2023 13:27:28 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7677EC433C7; Tue, 29 Aug 2023 13:27:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1693315647; bh=GioyKyOY7evfDhS4nVryufckDJUZvux8oq2GzaDKBl4=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=Nt7Yno+p4dAIGuqxsRhAKP5lAVobslxVFyYVzvMypN/hQCCOzAiqIr38Ztrn3iAUS nk9iNi9efQ3sbulnerwfAHPu0qsdMOnFUqzc0/EZfNccl8f+eEU86pujpc6GD0uyLN 0LN/J4lP1vNNxankVRmeBfCGD9w0+2KGtBbELALgL8Yi8+MDgXlWII2zGbiYVOsT+p UtYYSDPTBfO6k2t78x+ZsaEKEb83GYjDOusr0OFRQu6yPwfuv5ocq8IBZDTJ6DSpLv xxiLGNXu7jOJ9yVlxx6IxeexfknSyBinMMRjgMGdCwVi+62lIlmjsR1jFIJjkNMrFw ZUjrFRq4FRbmg== Message-ID: Date: Tue, 29 Aug 2023 15:27:16 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.13.1 Subject: Re: 'struct dynamic': struct tag leak in UAPI headers Content-Language: en-US To: Matthew Wilcox Cc: David Howells , Eric Biederman , Kees Cook , linux-mm@kvack.org, Rolf Eike Beer , Arnd Bergmann , Thomas Gleixner , "Paul E. McKenney" , Dave Jones References: <926f8e5c-40bd-dae0-2492-f6e6dbd6c96e@kernel.org> From: Alejandro Colomar Organization: Linux In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------ZzE7IUGQsrQqPOaimfy04GUQ" X-Rspam-User: X-Rspamd-Server: rspam06 X-Rspamd-Queue-Id: F06D21C0008 X-Stat-Signature: ej3c1u81ji9cwqfz6rnr9zf4j36e8ooe X-HE-Tag: 1693315648-518398 X-HE-Meta: U2FsdGVkX18yqqClQ2CFXZkVaXueI4ck1FVBYxaU/cPVebSqNBAXGsK5eVt+ksAp0k+QKUoYbWSfd8xTYmAION84NqQQWrtciRuibR5tcE+uvc1nOhMPLUrxfEAYH0yXnCHezrpKt1R5FjJzKvxCBRvirKYJ9QKpoyxYqaSnrrxoH5ziuTJba/s9UivdMQZkXWCMSgm6lsoJq8BxA1zuCx5ldm/lph2haUvjp62HGUAHlWWv5zGb/6TXKoiytMH5XULSQ7ZMGJHIXks/LZcu5rOlJXGm+FVY08PxJl9/JLDn0I6a15b8A3Ph99ceAD67Bb79sr4gnPTKLmlsgF+HMJQOBvb0H7Re+BAcXp6H8ixD8CPzXekLPa0UtP9Y4FaKLbx39ZpR8eye7drBGy5vW+XAWMgjbhgWk6OPdztoF07Sa5Lm0rCa6b3hbxdoAr3Kx39icNX7DaD2rYlI37sesjd95O0wVGC7Gcsmgzv3urPaxfhLpJvzlOSbHEhJCi936eF5d1Jm45hrrNlZ4NKDVvWBnG5pWZ3sFcYGdolXYJvS+gXrroOyxFTDWV6w9/0nSWggzBC9JRWHNKmdql2bO9kq5LXlHlc76rX58AmbCvi5WBgR2sTV3uusMxraP961y+AtgQj6oFFFQQNYhRcM624+xr83cHX+H9hmtZBIPInhoP14Sh+mb56UP1YGcEzNGIRoN2Ar3idp6htUXcruBZjrB9SQ283ZOszPCsY8vSEeAsiWuMsg8VC0IkWRAI4+Qqk2CvsdRjs23Gr6PikaFVWcuBGku7U7WT0Rt2ynUfVBUSi8j51nJSIGmvXIfJnBJvN+3ohgMJurNBtgWkclb8U5DDCdvwZdqBDIVQrkt0F9d4XfRNqCTZGC6PfALZRMTDYSmg46l5I4yxm/SgUEfeQEBvSPV+oNw809Pm9+iOO+aqiYrHDJWSMVR5uSIVA5AcQ9QivZhTvqw8tAKSZ N8rDmrZ/ ZyeuMYNYZF9dx1fQVuRSFSd40wCvea3I3UmWIn7A389FXm8M45BpNuNeOD6jtc0OUqvhGIFLHsgRUFxk7WcsNfzGwW0u1HiP3lXSHNjagRIehS67I/QgaFInEkaI7Agw3pKy8n0dMLFNY6SLG77rGU7nj/B/8hEhkMnngXTthiTGBMCwCJLe+a/T0oQ6SfX0aCllaobMWrVWtgjsRMwlG6lESA6xRC/6Pksp0iCC8M0MaVYtPvJLp4n5taHdRfBPHPz7jf4Z535OXJovKARxElQGMjroOt5lBm6rfTTHOLScIKl2Xvha9ySzpTIvznjab74waV+ZfDNBb8eRahu5Tnvo3dM9zMDeo7LLKlCG7zeWB3X33AmTyVLGXIaBGxwMFJhNExblGn2068Kufr6Gz9PjQUYPWtSHna0H6Re1FhW8VQVBNRwjsnuyEjWRISbcYSrdegivLI/MFgkiu2QryYtg4GjqdK5CYzH7EY3TZbyfiwrax+7UUdKHxRsEVDWBQrsKNW1iMqqag+QJcTvwrf8op1JqoOmBsaHQqV19tZWYTilS3RQ+NThxeVcSLNd5OVGt9ixhO4NNWvgZtuQG3BUk3HT5biIGStfWW 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: This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------ZzE7IUGQsrQqPOaimfy04GUQ Content-Type: multipart/mixed; boundary="------------7SGHuRbYLuRhTKCpXVbKRycM"; protected-headers="v1" From: Alejandro Colomar To: Matthew Wilcox Cc: David Howells , Eric Biederman , Kees Cook , linux-mm@kvack.org, Rolf Eike Beer , Arnd Bergmann , Thomas Gleixner , "Paul E. McKenney" , Dave Jones Message-ID: Subject: Re: 'struct dynamic': struct tag leak in UAPI headers References: <926f8e5c-40bd-dae0-2492-f6e6dbd6c96e@kernel.org> In-Reply-To: --------------7SGHuRbYLuRhTKCpXVbKRycM Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Matthew, On 2023-08-29 14:24, Matthew Wilcox wrote: > On Tue, Aug 29, 2023 at 02:08:45PM +0200, Alejandro Colomar wrote: >> It seems we should blame an automated script :) >> >> $ git blame -- ./include/uapi/linux/elf.h | grep 'struct dynamic'; >> 23a7aea5faf65 (Rolf Eike Beer 2022-10-04 12:25:40 +0200 143) ty= pedef struct dynamic { >> >> $ git blame 23a7aea5faf65^ -- ./include/uapi/linux/elf.h | grep 'struc= t dynamic'; >> 607ca46e97a1b (David Howells 2012-10-13 10:46:48 +0100 143) ty= pedef struct dynamic{ >> >> $ git log -1 607ca46e97a1b >> commit 607ca46e97a1b6594b29647d98a32d545c24bdff >> Author: David Howells >> Date: Sat Oct 13 10:46:48 2012 +0100 >> >> UAPI: (Scripted) Disintegrate include/linux >=20 > Sure, but that didn't introduce it, it just moved it. >=20 > It was introduced before git, so trawling through linux-fullhistory ...= =2E diff --git a/include/linux/elf.h b/include/linux/elf.h -typedef struct dynamic{ -- diff --git a/include/uapi/linux/elf.h b/include/uapi/linux/elf.h +typedef struct dynamic{ Hmm, I thought that commit was the one that moved it from an internal hea= der to a UAPI one. I didn't know include/linux/elf.h was a public header lon= g ago. >=20 > Linux 1.1.54: >=20 > -struct dynamic{ > +typedef struct dynamic{ > int d_tag; > union{ > int d_val; > char * d_ptr; > } d_un; > -}; > +} Elf32_Dyn; >=20 > Before that, 0.99.13 added linux/elf.h and it included: >=20 > +struct dynamic{ > + int d_tag; > + union{ > + int d_val; > + char * d_ptr; > + } d_un; > +}; >=20 > So anybody who's included linux/elf.h since 1993 has had this definitio= n, > and maybe the risk of breaking something is greater than the desire to > allow new code to use 'struct dynamic'? Might be true. But since it's a compile-time failure, it's not going to cause silent bugs. If there was a real regression, it would be trivial t= o detect and fix, so maybe it's a risk that can be taken. But yeah, your concern may vary. :) Cheers, Alex --=20 GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5 --------------7SGHuRbYLuRhTKCpXVbKRycM-- --------------ZzE7IUGQsrQqPOaimfy04GUQ Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEE6jqH8KTroDDkXfJAnowa+77/2zIFAmTt8jQACgkQnowa+77/ 2zJLdA/7Bq3z72F5/WR7t7ciPl5/r+OcDtFMAxyMPW/p9VfPsqBoIJsdXaATeVCx N9iv2r1fdbYuofbX2vXhy+dvElkMv3N+Aiki+X5EhFxcl+77lsknTi3JSKMnUL40 9QgTZWdLXQVFRrwWTUWsXgPxc2qS3V4f0MWiCNk7aN+VOH2hFRGBroYCZ62DOrg5 rkjrrO7fWyS+zIk8A52Nflp+fwrS6aoR/KfXOu96U6qjJY/INQGkbJvUhAdRl/Jz GAznjPLVLtHsT25j+m9DdmvMYoT6GCQjTzZv7AfXktqw1Ois36/e6Vy1scloblB8 ML2l3y0thjBS4eLiNH8QlzkiGJ/yIoRIen2vsjo0AW96pKZfy6iQnZ1EQFz3/UzR xp2D7Qyz4Svv9r59861VUuR0mKhsxo1zuq3DBgNyLv4r2a/tvqwo2ZO2fCvHmTo9 wy7TSh1gRp7Xb54IqY1eNVm/eY8KiqCyW4rw2jj0EQ++1apIQ+A+30UA5NxIjoZp sxHQYYlhfNceVsfpad+k6WV1VYTJcI0dSbnGxXDWb24zlblZM8BMBHYz9i7AB2KH lXsHZfJxPvSMC7D/K9KuLQoltyoRLgnHeQUDIwovPyc360EFZW7gcDUR59AB17t2 50d5e8f3Bg0mbebLg+iSWWSFcb5BcmvdRC2tyt6hvXw54VfWFf0= =ItsJ -----END PGP SIGNATURE----- --------------ZzE7IUGQsrQqPOaimfy04GUQ--