* [PATCH v3 1/2] arm64: ssbd: explicitly depend on <linux/prctl.h> [not found] <20190617084545.GA38959@anisse-station> @ 2019-06-17 13:22 ` Anisse Astier 2019-06-17 13:22 ` [PATCH v3 2/2] arm64/sve: <uapi/asm/ptrace.h> should not depend on <uapi/linux/prctl.h> Anisse Astier 0 siblings, 1 reply; 3+ messages in thread From: Anisse Astier @ 2019-06-17 13:22 UTC (permalink / raw) To: Will Deacon, Dave Martin, linux-arm-kernel Cc: Mark Rutland, Sasha Levin, Anisse Astier, Catalin Marinas, Rich Felker, linux-kernel, Kristina Martsenko, Dmitry V . Levin, Ricardo Salveti, Richard Henderson Fix ssbd.c which depends implicitly on asm/ptrace.h including linux/prctl.h (through for example linux/compat.h, then linux/time.h, linux/seqlock.h, linux/spinlock.h and linux/irqflags.h), and uses PR_SPEC* defines. This is an issue since we'll remove the include in the next commit. Fixes: 9cdc0108baa8 ("arm64: ssbd: Add prctl interface for per-thread mitigation") Cc: stable@vger.kernel.org Signed-off-by: Anisse Astier <aastier@freebox.fr> --- Contrary to what I said in the previous email, I can reproduce the build error on Linus' master when ARM64_SSBD is enabled. Changes since v2: - fix build when ARM64_SSBD is enabled with additionnal patch Changes since v1: - made a bit more explicit that we copied defined symbols, in commit and code. - Use Fixes: tag in commit message Thanks to Dave Martin and Will Deacon for the review, and Sasha Levin for the auto-build bot. --- arch/arm64/kernel/ssbd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/arch/arm64/kernel/ssbd.c b/arch/arm64/kernel/ssbd.c index 885f13e58708..52cfc6148355 100644 --- a/arch/arm64/kernel/ssbd.c +++ b/arch/arm64/kernel/ssbd.c @@ -5,6 +5,7 @@ #include <linux/compat.h> #include <linux/errno.h> +#include <linux/prctl.h> #include <linux/sched.h> #include <linux/sched/task_stack.h> #include <linux/thread_info.h> -- 2.19.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [PATCH v3 2/2] arm64/sve: <uapi/asm/ptrace.h> should not depend on <uapi/linux/prctl.h> 2019-06-17 13:22 ` [PATCH v3 1/2] arm64: ssbd: explicitly depend on <linux/prctl.h> Anisse Astier @ 2019-06-17 13:22 ` Anisse Astier 2019-06-18 13:50 ` Will Deacon 0 siblings, 1 reply; 3+ messages in thread From: Anisse Astier @ 2019-06-17 13:22 UTC (permalink / raw) To: Will Deacon, Dave Martin, linux-arm-kernel Cc: Mark Rutland, Sasha Levin, Anisse Astier, Catalin Marinas, Rich Felker, linux-kernel, Kristina Martsenko, Dmitry V . Levin, Ricardo Salveti, Richard Henderson Otherwise this will create userspace build issues for any program (strace, qemu) that includes both <sys/prctl.h> (with musl libc) and <linux/ptrace.h> (which then includes <asm/ptrace.h>), 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. Copying the defines is a bit imperfect here, but better than creating a whole other header for just two defines that would never change, as part of the kernel ABI. This patch depends on patch "arm64: ssbd: explicitly depend on <linux/prctl.h>" for kernel >= 4.18 Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support") Cc: stable@vger.kernel.org Signed-off-by: Anisse Astier <aastier@freebox.fr> --- 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 97c53203150b..e932284993d4 100644 --- a/arch/arm64/include/uapi/asm/ptrace.h +++ b/arch/arm64/include/uapi/asm/ptrace.h @@ -65,8 +65,6 @@ #ifndef __ASSEMBLY__ -#include <linux/prctl.h> - /* * 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 <linux/ptrace.h> + * These must be kept in sync with prctl interface in <linux/prctl.h> */ -#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 << 17) /* PR_SVE_VL_INHERIT */ >> 16) +#define SVE_PT_VL_ONEXEC ((1 << 18) /* PR_SVE_SET_VL_ONEXEC */ >> 16) /* -- 2.19.1 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [PATCH v3 2/2] arm64/sve: <uapi/asm/ptrace.h> should not depend on <uapi/linux/prctl.h> 2019-06-17 13:22 ` [PATCH v3 2/2] arm64/sve: <uapi/asm/ptrace.h> should not depend on <uapi/linux/prctl.h> Anisse Astier @ 2019-06-18 13:50 ` Will Deacon 0 siblings, 0 replies; 3+ messages in thread From: Will Deacon @ 2019-06-18 13:50 UTC (permalink / raw) To: Anisse Astier Cc: Mark Rutland, Sasha Levin, Catalin Marinas, Richard Henderson, linux-kernel, Kristina Martsenko, Dmitry V . Levin, Ricardo Salveti, Rich Felker, Dave Martin, linux-arm-kernel On Mon, Jun 17, 2019 at 03:22:22PM +0200, Anisse Astier wrote: > Otherwise this will create userspace build issues for any program > (strace, qemu) that includes both <sys/prctl.h> (with musl libc) and > <linux/ptrace.h> (which then includes <asm/ptrace.h>), 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. > > Copying the defines is a bit imperfect here, but better than creating a > whole other header for just two defines that would never change, as part > of the kernel ABI. > > This patch depends on patch "arm64: ssbd: explicitly depend on > <linux/prctl.h>" for kernel >= 4.18 > > Fixes: 43d4da2c45b2 ("arm64/sve: ptrace and ELF coredump support") > Cc: stable@vger.kernel.org > Signed-off-by: Anisse Astier <aastier@freebox.fr> > --- > arch/arm64/include/uapi/asm/ptrace.h | 8 +++----- > 1 file changed, 3 insertions(+), 5 deletions(-) I've pushed these two out to the arm64 fixes branch [1], with Dave's Ack on this one. Note that I reworked the commit messages a bit to explain better what's going on. Cheers, Will [1] https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git/log/?h=for-next/fixes _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2019-06-18 13:50 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- [not found] <20190617084545.GA38959@anisse-station> 2019-06-17 13:22 ` [PATCH v3 1/2] arm64: ssbd: explicitly depend on <linux/prctl.h> Anisse Astier 2019-06-17 13:22 ` [PATCH v3 2/2] arm64/sve: <uapi/asm/ptrace.h> should not depend on <uapi/linux/prctl.h> Anisse Astier 2019-06-18 13:50 ` Will Deacon
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).