From 928b12e045a390a769797f14cfdbbf2dde84435b Mon Sep 17 00:00:00 2001 From: zhushengle Date: Mon, 29 Aug 2022 11:39:28 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20linux=20musl=E5=86=85=E9=83=A8=E5=92=8C?= =?UTF-8?q?=E5=AF=B9=E5=A4=96=E6=8F=90=E4=BE=9B=E7=9A=84=E7=B3=BB=E7=BB=9F?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E4=B8=8D=E4=B8=80=E8=87=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit musl内部将SYS_setresgid重定义为SYS_setresgid32, 而对外的syscall.h里面SYS_setresgid 和 SYS_setresgid32分别表示不同的系统调用号, 使用系统调用号和接口导致行为不一致。 Close #I5OE8Q Signed-off-by: zhushengle Change-Id: I46c972433ef68ab16582662af37805e77fb17184 --- porting/linux/user/include/sys/syscall.h | 47 ++++++++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 porting/linux/user/include/sys/syscall.h diff --git a/porting/linux/user/include/sys/syscall.h b/porting/linux/user/include/sys/syscall.h new file mode 100644 index 00000000..f5e82294 --- /dev/null +++ b/porting/linux/user/include/sys/syscall.h @@ -0,0 +1,47 @@ +#ifndef _SYS_SYSCALL_H +#define _SYS_SYSCALL_H + +#include + +/* fixup legacy 16-bit junk */ +#ifdef SYS_getuid32 +#undef SYS_lchown +#undef SYS_getuid +#undef SYS_getgid +#undef SYS_geteuid +#undef SYS_getegid +#undef SYS_setreuid +#undef SYS_setregid +#undef SYS_getgroups +#undef SYS_setgroups +#undef SYS_fchown +#undef SYS_setresuid +#undef SYS_getresuid +#undef SYS_setresgid +#undef SYS_getresgid +#undef SYS_chown +#undef SYS_setuid +#undef SYS_setgid +#undef SYS_setfsuid +#undef SYS_setfsgid +#define SYS_lchown SYS_lchown32 +#define SYS_getuid SYS_getuid32 +#define SYS_getgid SYS_getgid32 +#define SYS_geteuid SYS_geteuid32 +#define SYS_getegid SYS_getegid32 +#define SYS_setreuid SYS_setreuid32 +#define SYS_setregid SYS_setregid32 +#define SYS_getgroups SYS_getgroups32 +#define SYS_setgroups SYS_setgroups32 +#define SYS_fchown SYS_fchown32 +#define SYS_setresuid SYS_setresuid32 +#define SYS_getresuid SYS_getresuid32 +#define SYS_setresgid SYS_setresgid32 +#define SYS_getresgid SYS_getresgid32 +#define SYS_chown SYS_chown32 +#define SYS_setuid SYS_setuid32 +#define SYS_setgid SYS_setgid32 +#define SYS_setfsuid SYS_setfsuid32 +#define SYS_setfsgid SYS_setfsgid32 +#endif +#endif -- GitLab