From 65aa038fa01e57ac8135e2da51c80571e889323f Mon Sep 17 00:00:00 2001 From: Kai Kang Date: Mon, 27 Apr 2020 14:04:16 +0800 Subject: pseudo: add macro guard for seccomp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit It fails to compile pseudo-native on centos 7: | ports/linux/pseudo_wrappers.c: In function ‘prctl’: | ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function) | if (cmd == SECCOMP_SET_MODE_FILTER) { | ^ Add macro guard for the definition to avoid the failure. (From OE-Core rev: 9fff03afb8e67b360042e80fda8213a67472b9ec) Signed-off-by: Kai Kang Signed-off-by: Richard Purdie Signed-off-by: Steve Sakoman Signed-off-by: Richard Purdie --- meta/recipes-devtools/pseudo/files/seccomp.patch | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/meta/recipes-devtools/pseudo/files/seccomp.patch b/meta/recipes-devtools/pseudo/files/seccomp.patch index be42eaf353..283f997941 100644 --- a/meta/recipes-devtools/pseudo/files/seccomp.patch +++ b/meta/recipes-devtools/pseudo/files/seccomp.patch @@ -7,6 +7,17 @@ Upstream-Status: Pending RP 2020/4/3 Signed-off-by: Richard Purdie +It fails to compile pseudo-native on centos 7: + +| ports/linux/pseudo_wrappers.c: In function ‘prctl’: +| ports/linux/pseudo_wrappers.c:129:14: error: ‘SECCOMP_SET_MODE_FILTER’ undeclared (first use in this function) +| if (cmd == SECCOMP_SET_MODE_FILTER) { +| ^ + +Add macro guard for seccomp to avoid the failure. + +Signed-off-by: Kai Kang + Index: git/ports/linux/pseudo_wrappers.c =================================================================== --- git.orig/ports/linux/pseudo_wrappers.c @@ -40,7 +51,7 @@ Index: git/ports/linux/pseudo_wrappers.c /* gcc magic to attempt to just pass these args to syscall. we have to * guess about the number of args; the docs discuss calling conventions * up to 7, so let's try that? -@@ -92,3 +108,42 @@ static long wrap_syscall(long nr, va_lis +@@ -92,3 +108,44 @@ static long wrap_syscall(long nr, va_lis (void) ap; return -1; } @@ -56,6 +67,7 @@ Index: git/ports/linux/pseudo_wrappers.c + return rc; + } + ++#ifdef SECCOMP_SET_MODE_FILTER + /* pseudo and seccomp are incompatible as pseudo uses different syscalls + * so pretend to enable seccomp but really do nothing */ + if (option == PR_SET_SECCOMP) { @@ -67,6 +79,7 @@ Index: git/ports/linux/pseudo_wrappers.c + return 0; + } + } ++#endif + + /* gcc magic to attempt to just pass these args to prctl. we have to + * guess about the number of args; the docs discuss calling conventions -- cgit v1.2.3-54-g00ecf