package/dhcpcd: fix build with nds32

Fix build failure with dhcpcd due to SECCOMP_AUDIT_ARCH which is used
since version 9.3.0 and
a926ee6d8f

Fixes:
 - http://autobuild.buildroot.org/results/af8ba07ea0c12ab8cd24d528ef98db05521f3d36

Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
This commit is contained in:
Fabrice Fontaine 2021-01-29 22:36:08 +01:00 committed by Peter Korsgaard
parent ea238f53eb
commit 8713001aad
2 changed files with 45 additions and 0 deletions

View File

@ -0,0 +1,40 @@
From bc59536c202ba134422a42fe4dfdfe0643806c8f Mon Sep 17 00:00:00 2001
From: Fabrice Fontaine <fontaine.fabrice@gmail.com>
Date: Fri, 29 Jan 2021 22:21:00 +0100
Subject: [PATCH] src/privsep-linux.c: add support for nds32
Fix the following build failure:
privsep-linux.c:206:4: error: #error "Platform does not support seccomp filter yet"
# error "Platform does not support seccomp filter yet"
^~~~~
In file included from privsep-linux.c:36:
privsep-linux.c:213:38: error: 'SECCOMP_AUDIT_ARCH' undeclared here (not in a function); did you mean 'SECCOMP_ALLOW_ARG'?
BPF_JUMP(BPF_JMP + BPF_JEQ + BPF_K, SECCOMP_AUDIT_ARCH, 1, 0),
^~~~~~~~~~~~~~~~~~
Fixes:
- http://autobuild.buildroot.org/results/af8ba07ea0c12ab8cd24d528ef98db05521f3d36
Signed-off-by: Fabrice Fontaine <fontaine.fabrice@gmail.com>
[Upstream status: https://github.com/rsmarples/dhcpcd/pull/21]
---
src/privsep-linux.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/src/privsep-linux.c b/src/privsep-linux.c
index 2226659b..e81689bb 100644
--- a/src/privsep-linux.c
+++ b/src/privsep-linux.c
@@ -182,6 +182,8 @@ ps_root_sendnetlink(struct dhcpcd_ctx *ctx, int protocol, struct msghdr *msg)
# else
# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_MIPS
# endif
+#elif defined(__nds32__)
+# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_NDS32
#elif defined(__powerpc64__)
# define SECCOMP_AUDIT_ARCH AUDIT_ARCH_PPC64
#elif defined(__powerpc__)
--
2.29.2

View File

@ -16,6 +16,11 @@ DHCPCD_CONFIG_OPTS = \
--os=linux \
--privsepuser=dhcpcd
# AUDIT_ARCH_NDS32 is only available since kernel >= 5.2
ifeq ($(BR2_nds32):$(BR2_TOOLCHAIN_HEADERS_AT_LEAST_5_2),y:)
DHCPCD_CONFIG_OPTS += --disable-privsep
endif
ifeq ($(BR2_PACKAGE_HAS_UDEV),y)
DHCPCD_CONFIG_OPTS += --with-udev
DHCPCD_DEPENDENCIES += udev