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 X-Spam-Level: X-Spam-Status: No, score=-13.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_MUTT autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 27165C31E44 for ; Fri, 14 Jun 2019 11:22:56 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id D89FA208CA for ; Fri, 14 Jun 2019 11:22:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="WswRavlM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D89FA208CA Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=freebox.fr Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender: Content-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=QJR8kPfHi1uB0LQ/a42WBGANHke/SgS9UTO1Wn7lLSY=; b=WswRavlM4ip8rz Hxxcv+FjCugYMFl4lgf+D2PW7Ji+bllpwLGk/bhRC1MjRlYwdrjFOmh0QtUuuSnPTBtYhpCqaroAL e5BJudNxyQ71q1DIVSfbpDJBB4zzkB/Rwks7wgKwnmMrq2Agm3lprFRRBxhkKeyFv7690jAtYVk5X Gv1tXR3Hi1zuV+0QFhstETqiFlGmbxCQPzDbddwgs/SI8wU2huMHazAiUgfTwAW5r4ddCmGj0MG3D hH7Rt7n4MzLSiLtJflC5znuEbwQSPIvvaJ58dNLPVskGnAff9HH/h145OnKYliNzShYhXyOKoqpsR WO8ySIPl6cBV8cGrBuTQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92 #3 (Red Hat Linux)) id 1hbkIH-0005tC-7u; Fri, 14 Jun 2019 11:22:53 +0000 Received: from smtp3-g21.free.fr ([212.27.42.3]) by bombadil.infradead.org with esmtps (Exim 4.92 #3 (Red Hat Linux)) id 1hbkID-0005sX-RR for linux-arm-kernel@lists.infradead.org; Fri, 14 Jun 2019 11:22:51 +0000 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 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-Disposition: inline In-Reply-To: <20190613171432.GA2790@e103592.cambridge.arm.com> User-Agent: Mutt/1.10.1 (2018-07-13) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20190614_042250_184651_229226A0 X-CRM114-Status: GOOD ( 22.38 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Catalin Marinas , Richard Henderson , linux-kernel@vger.kernel.org, Will Deacon , "Dmitry V . Levin" , Ricardo Salveti , Kristina Martsenko , Rich Felker , linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.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 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel