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 D5798C83F12 for ; Tue, 29 Aug 2023 12:25:03 +0000 (UTC) Received: by kanga.kvack.org (Postfix) id 38ABE8E0029; Tue, 29 Aug 2023 08:25:03 -0400 (EDT) Received: by kanga.kvack.org (Postfix, from userid 40) id 3141C8E001A; Tue, 29 Aug 2023 08:25:03 -0400 (EDT) X-Delivered-To: int-list-linux-mm@kvack.org Received: by kanga.kvack.org (Postfix, from userid 63042) id 1DBDA8E0029; Tue, 29 Aug 2023 08:25:03 -0400 (EDT) X-Delivered-To: linux-mm@kvack.org Received: from relay.hostedemail.com (smtprelay0012.hostedemail.com [216.40.44.12]) by kanga.kvack.org (Postfix) with ESMTP id 0A9988E001A for ; Tue, 29 Aug 2023 08:25:03 -0400 (EDT) Received: from smtpin01.hostedemail.com (a10.router.float.18 [10.200.18.1]) by unirelay01.hostedemail.com (Postfix) with ESMTP id C53201C9ADD for ; Tue, 29 Aug 2023 12:25:02 +0000 (UTC) X-FDA: 81177061644.01.D442D10 Received: from casper.infradead.org (casper.infradead.org [90.155.50.34]) by imf22.hostedemail.com (Postfix) with ESMTP id 6DEB2C0009 for ; Tue, 29 Aug 2023 12:25:00 +0000 (UTC) Authentication-Results: imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Gvzw7GI5; dmarc=none; spf=none (imf22.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=hostedemail.com; s=arc-20220608; t=1693311901; 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=XwpmFOD22w50qV6fCfK3oUfY7Qs7YrwbI98lOM/mleM=; b=3lWWkR0/6GHuWyzNKsaCyh17rJ9RCNMs3L+UTGlMK48qDlLgllC5UtneYnKUWRmEOEBHkw KnDK1cnUF7Q2hHRnb+ZHYy30jsJORsnGH1GWYP+GpMe6UYKQL09CtCeJH4bWcLGUxFPIuI 2g3R0kEZ7dmUQmxczDcr/UkMsvt6BDs= ARC-Authentication-Results: i=1; imf22.hostedemail.com; dkim=pass header.d=infradead.org header.s=casper.20170209 header.b=Gvzw7GI5; dmarc=none; spf=none (imf22.hostedemail.com: domain of willy@infradead.org has no SPF policy when checking 90.155.50.34) smtp.mailfrom=willy@infradead.org ARC-Seal: i=1; s=arc-20220608; d=hostedemail.com; t=1693311901; a=rsa-sha256; cv=none; b=wH159DY8qnfQV9KZ5m0GSA6p59VIePH/si4hobeDZfFde/dFjT9KZhO1ltKJFoRknj5nXV fc25w72YpMPqJNcZrVtEyiqJtlqoSryFSB6LutjqmEsy16O0u8MGQVwVuvFXS0mNBVvlne uhf6sn5fWfszaMY5zIFrT6dY2kPmwPs= DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=XwpmFOD22w50qV6fCfK3oUfY7Qs7YrwbI98lOM/mleM=; b=Gvzw7GI5BgerqteLq4M4Z81ZM/ 5MqqefOzcCK+5pEIr+Ed6Ozs05IedF8wkvsw7Xe1Dv6C3nHJCpxF8nvoNoMLmkQ75D9BjzutK58tP NrBelXKL1eFcbjWLUXwi3cMb4vWwdhAnDT21sIv6ZqrT+WjrvHMzM4lO+pE1Qt+TZAvvL9PcFt3dh y/q0Sd7ao3EF/o/VDwh0XxZ5CJ0NipVUml6AZFosaOcshP2dboywX8sh8+NkDGw8GqgkTOWwJ5GE8 DXO1VxIZQ8v+7MIDT5606CY1Tra/tZsnBGtqJ6OJ7j2d1nTpdrt6Yq/LPglnG1NmKCtjcfAGn+jHF w/AHoUdA==; Received: from willy by casper.infradead.org with local (Exim 4.94.2 #2 (Red Hat Linux)) id 1qaxlq-006XGP-LB; Tue, 29 Aug 2023 12:24:34 +0000 Date: Tue, 29 Aug 2023 13:24:34 +0100 From: Matthew Wilcox To: Alejandro Colomar Cc: David Howells , Eric Biederman , Kees Cook , linux-mm@kvack.org, Rolf Eike Beer , Arnd Bergmann , Thomas Gleixner , "Paul E. McKenney" , Dave Jones Subject: Re: 'struct dynamic': struct tag leak in UAPI headers Message-ID: References: <926f8e5c-40bd-dae0-2492-f6e6dbd6c96e@kernel.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <926f8e5c-40bd-dae0-2492-f6e6dbd6c96e@kernel.org> X-Rspamd-Queue-Id: 6DEB2C0009 X-Rspam-User: X-Rspamd-Server: rspam02 X-Stat-Signature: nteff385r9jhsw1p33u81j9j7kwz4ab3 X-HE-Tag: 1693311900-923968 X-HE-Meta: U2FsdGVkX19pCXckK+KHe64XcNuuMdoxICThPLc6fG4lomJGqUOu1+Zp7jjw9IkYdig3lw759XiBOjcZfnQ6V/3baHKi7kEaUR+fiPiKKIMU551S67q/YeAgPN8uSqDs1vaRgd4gBf/2IWMg3r10Hs8AsXy6XtgsNwRcfkSn1lIFPe8puYUtBfXd9ugBnkgYJV5WjghlM28WUoiF4KGK8drpOOu0zFiHGq0a1DK5pmW/mUMuMNRHWjpOMAr/fjl64eqUC/R8/XEfpkepqNpw8M6cXEOJbZY7M+ELRonkBSTxlWTsqXy5pRGzAwpkjIG5yioYOdXjxnU2cBia6AowSVo9lp7FwzkfvrFgIyBU8npUwYk9vhfi7niK0U7xkg1bcBe0fL8NJUed2sekNQYLfTt7/rk/9DXL6ND2A7vPhDEyVPkPs7Rkm+zHwpQUR4cvaNuNMaJIdLcthV0INrecKyHx6DbHVlrsEMrBuPmppNt6ZEw1YsN+ARVDEekq4rDlxlC0cVqOZ8mYgwHXVmzIX7IoNybAoKPQTpCBYdSlmy1qfxZwy9vdZWfli4rQwir0Z60qw/nU43Odebn9pND+OpApT4h9+Be8LyEkeJHTkfXGKwdDoY1B+VmkZV9NFUYm4VOi+1SLuBIjMrHlllXjp1j+kJs0Xiaa7FEsyKhYoUDXHCrVAGAl3NDOwY4jbU8U+vqjq00lGaR3DIuVAW5gKBIWaEp/DHUgmhUAOWmEOZZiCj9R1zVAGEGqbMme5Pd/ZhNvDDLHAtbypqQikbJQpgEZ0jvBuGQZhhinDbrrFzhyDW73bN9QvMngWnSJ1doEY74Lq6yCjbF9TJyMPt4elMeRKSMIUDGo9kw/cOR5qAeXZurD9MDG/px8TuGkxVFhZ1rGm7PpWYbyl17SpZbq8vTCSJVySLtVDowUfIaH4FrsglMK7cADHVIQ7+BzvG3VuRiquJL/+N2YLQDw28O L43muOd2 z7aMC7emPSBxSMr9XP1eues61rJjsDsK0DUeGLEBQYvefNR821xg4PSRFYEKS8a2A+DcPOe2W5R4XbQRQwiZgAVQrn/MohzHmak5daLVaqLQ225v9yZWNqiB1oqbsQXV3mN5iY04lmB8Is0vVXY78rQW+SUM8IOqEqFcP 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: 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) typedef struct dynamic { > > $ git blame 23a7aea5faf65^ -- ./include/uapi/linux/elf.h | grep 'struct dynamic'; > 607ca46e97a1b (David Howells 2012-10-13 10:46:48 +0100 143) typedef 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 Sure, but that didn't introduce it, it just moved it. It was introduced before git, so trawling through linux-fullhistory .... Linux 1.1.54: -struct dynamic{ +typedef struct dynamic{ int d_tag; union{ int d_val; char * d_ptr; } d_un; -}; +} Elf32_Dyn; Before that, 0.99.13 added linux/elf.h and it included: +struct dynamic{ + int d_tag; + union{ + int d_val; + char * d_ptr; + } d_un; +}; So anybody who's included linux/elf.h since 1993 has had this definition, and maybe the risk of breaking something is greater than the desire to allow new code to use 'struct dynamic'?