Received: by 2002:a25:ab43:0:0:0:0:0 with SMTP id u61csp844155ybi; Fri, 14 Jun 2019 04:23:51 -0700 (PDT) X-Google-Smtp-Source: APXvYqylDg39D+rVBS2+09IYaChy1CwZSGYGo+xPFw0DVzw6mvPWLcoMHNbWOm+moysuCU5MwUZf X-Received: by 2002:a17:90a:2488:: with SMTP id i8mr10412798pje.123.1560511431133; Fri, 14 Jun 2019 04:23:51 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1560511431; cv=none; d=google.com; s=arc-20160816; b=WC97fAL1VTxkT1832uT3QR1wDoLnnAgk1YsMzw6GF+lMCcQA77bFEyCyNaFXrYzDri HwokMRCw4gBtARB4EyhrrZLHj8Q4JGySDdVY6XMcQZNqqXEJ/aY8TgztlyCTnInkWnDY 15zrRzKcLUJQLnv1V8AudTpsXZ6T3UTK0N056S+9XC4yKY4jdUhr3p9dU7doBvGBpzCV JsL12j992A5n9Xm5UOG/sDuoylkLXx9isf1FoNYdE1qZIg3TxSLLMnMhKqyVeKmCvbik SMsZpofBGAfsOv8sPUCSFHKXctOnoGXCfJLovnAsyjgXCxgXCFA7deRSJsSTCDLYxM7n PRsQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date; bh=vZaLEHx3tY2JhHoUfPVCJ/i7GO9Kkub91U72hhTw8xs=; b=uN9S3nn3i251CwggejclZWm8YMtsq/BEYFhzfW5fp5wJvEf75u7nfvBDAF6wvAa8xs 6a9dXkYFlGnyQwXfLpD0uJDLCN2ZNECK55Dk0Fwh0uYiMbLu7IzD91/BfNL4McwDFpSv tS3mv4aERD9stPpEQ/lpvRUUbOKp224Ut+msn4jh+PWVKWrM3e80jClw1U16q7p2/kVp Babo2pYTxZ/UB2ei5WSd/jUMx+49QeAF0I5EY9P2UAd7nJAYdDpvT7c4ObhXs6bXagk0 x9PQlAXwFFUxuVOMsCDHx7sOUzC0P4Q3zY6aXhqiECpvtW4GLdhadC1r5NiqxrZsgfzm +8FQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id l23si2329886pgb.333.2019.06.14.04.23.33; Fri, 14 Jun 2019 04:23:51 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727326AbfFNLWt (ORCPT + 99 others); Fri, 14 Jun 2019 07:22:49 -0400 Received: from smtp3-g21.free.fr ([212.27.42.3]:2408 "EHLO smtp3-g21.free.fr" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727119AbfFNLWt (ORCPT ); Fri, 14 Jun 2019 07:22:49 -0400 Received: from anisse-station (unknown [213.36.7.13]) by smtp3-g21.free.fr (Postfix) with ESMTPS id 517A013F84C; Fri, 14 Jun 2019 13:22:23 +0200 (CEST) Date: Fri, 14 Jun 2019 13:22:22 +0200 From: Anisse Astier To: Dave Martin , Will Deacon Cc: Catalin Marinas , Will Deacon , linux-arm-kernel@lists.infradead.org, Mark Rutland , Richard Henderson , Rich Felker , linux-kernel@vger.kernel.org, Kristina Martsenko , "Dmitry V . Levin" , Ricardo Salveti Subject: Re: [PATCH] arm64/sve: should not depend on Message-ID: <20190614112222.GA47082@anisse-station> References: <20190613163801.21949-1-aastier@freebox.fr> <20190613171432.GA2790@e103592.cambridge.arm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20190613171432.GA2790@e103592.cambridge.arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Hi Dave, Thanks for taking the time to review this patch, On Thu, Jun 13, 2019 at 06:14:44PM +0100, Dave Martin wrote: > On Thu, Jun 13, 2019 at 06:38:01PM +0200, Anisse Astier wrote: > > Otherwise this will create userspace build issues for any program > > (strace, qemu) that includes both (with musl libc) and > > (which then includes ), like this: > > > > error: redefinition of 'struct prctl_mm_map' > > struct prctl_mm_map { > > > > See https://github.com/foundriesio/meta-lmp/commit/6d4a106e191b5d79c41b9ac78fd321316d3013c0 > > for a public example of people working around this issue. > > > > This fixes an UAPI regression introduced in commit 43d4da2c45b2 > > ("arm64/sve: ptrace and ELF coredump support"). > > > > Cc: stable@vger.kernel.org > > Consider adding a Fixes: tag. Will do in v2. > > > Signed-off-by: Anisse Astier > > --- > > arch/arm64/include/uapi/asm/ptrace.h | 8 +++----- > > 1 file changed, 3 insertions(+), 5 deletions(-) > > > > diff --git a/arch/arm64/include/uapi/asm/ptrace.h b/arch/arm64/include/uapi/asm/ptrace.h > > index d78623acb649..03b6d6f029fc 100644 > > --- a/arch/arm64/include/uapi/asm/ptrace.h > > +++ b/arch/arm64/include/uapi/asm/ptrace.h > > @@ -65,8 +65,6 @@ > > > > #ifndef __ASSEMBLY__ > > > > -#include > > - > > /* > > * User structures for general purpose, floating point and debug registers. > > */ > > @@ -113,10 +111,10 @@ struct user_sve_header { > > > > /* > > * Common SVE_PT_* flags: > > - * These must be kept in sync with prctl interface in > > + * These must be kept in sync with prctl interface in > > Ack > > > */ > > -#define SVE_PT_VL_INHERIT (PR_SVE_VL_INHERIT >> 16) > > -#define SVE_PT_VL_ONEXEC (PR_SVE_SET_VL_ONEXEC >> 16) > > +#define SVE_PT_VL_INHERIT (1 << 1) /* PR_SVE_VL_INHERIT */ > > +#define SVE_PT_VL_ONEXEC (1 << 2) /* PR_SVE_SET_VL_ONEXEC */ > > Makes sense, but... > > Since sve_context.h was already introduced to solve a closely related > problem, I wonder whether we can provide shadow definitions there, > similarly to way the arm64/include/uapi/asm/ptrace.h definitions are > derived. Although it's a slight abuse of that header, I think that > would be my preferred approach. Yes I saw this, and I considered doing something similar. But, those defines are in uapi/linux/prctl.h, which does not include any asm/*.h header. This would have then required adding a full infrastructure for asm/prctl.h (that could then include sve_context.h for example), which does not exist yet, instead of copying these two values. Since this is part of the kernel-userspace ABI, I don't see this values changing anytime soon, which is why I thought copying them shouldn't be a big issue. A simple solution would be to to include sve_context.h or a third header, maybe linux/prctl_arm64_sve.h (with only these two/five defines), in linux/prctl.h, and reuse it in uapi/asm/ptrace.h; but this would break the self-contained nature of linux/prctl.h. > > Otherwise, at least make the required relationship between ptrace.h and > prctl.h constants a bit more obvious, say, > > #define SVE_PT_VL_INHERIT ((1 << 17) /* PR_SVE_SET_VL_INHERIT */ >> 16) This one is much simpler and closer to what I had in mind with this patch. Will, what do you think of this second approach Dave proposed ? Regards, Anisse