From: Nicholas Nethercote Date: Tue, 30 Aug 2005 01:53:54 +0000 (+0000) Subject: Move *xattr from "generic" to "linux". Darwin has them, but with an extra X-Git-Tag: svn/VALGRIND_3_1_0~492 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=40eb28bec10031d03df3ed706949a786ad9683d0;p=thirdparty%2Fvalgrind.git Move *xattr from "generic" to "linux". Darwin has them, but with an extra parameter. git-svn-id: svn://svn.valgrind.org/valgrind/trunk@4575 --- diff --git a/coregrind/m_syswrap/priv_syswrap-generic.h b/coregrind/m_syswrap/priv_syswrap-generic.h index c4f11e2c52..091719e845 100644 --- a/coregrind/m_syswrap/priv_syswrap-generic.h +++ b/coregrind/m_syswrap/priv_syswrap-generic.h @@ -209,18 +209,6 @@ DECL_TEMPLATE(generic, sys_lchown); // * (L?) DECL_TEMPLATE(generic, sys_mincore); // * L? DECL_TEMPLATE(generic, sys_getdents64); // * (SVr4,SVID?) DECL_TEMPLATE(generic, sys_fcntl64); // * P? -DECL_TEMPLATE(generic, sys_setxattr); // * L? -DECL_TEMPLATE(generic, sys_lsetxattr); // * L? -DECL_TEMPLATE(generic, sys_fsetxattr); // * L? -DECL_TEMPLATE(generic, sys_getxattr); // * L? -DECL_TEMPLATE(generic, sys_lgetxattr); // * L? -DECL_TEMPLATE(generic, sys_fgetxattr); // * L? -DECL_TEMPLATE(generic, sys_listxattr); // * L? -DECL_TEMPLATE(generic, sys_llistxattr); // * L? -DECL_TEMPLATE(generic, sys_flistxattr); // * L? -DECL_TEMPLATE(generic, sys_removexattr); // * L? -DECL_TEMPLATE(generic, sys_lremovexattr); // * L? -DECL_TEMPLATE(generic, sys_fremovexattr); // * L? DECL_TEMPLATE(generic, sys_sched_setaffinity); // * L? DECL_TEMPLATE(generic, sys_sched_getaffinity); // * L? DECL_TEMPLATE(generic, sys_lookup_dcookie); // (*/32/64) L diff --git a/coregrind/m_syswrap/priv_syswrap-linux.h b/coregrind/m_syswrap/priv_syswrap-linux.h index dc8ee3c533..331f5247ea 100644 --- a/coregrind/m_syswrap/priv_syswrap-linux.h +++ b/coregrind/m_syswrap/priv_syswrap-linux.h @@ -136,6 +136,19 @@ DECL_TEMPLATE(linux, sys_chown16); DECL_TEMPLATE(linux, sys_fchown16); //DECL_TEMPLATE(linux, sys_lchown16); // not yet encountered +// Are these POSIX? In Darwin they have an extra parameter 'position'. +DECL_TEMPLATE(linux, sys_setxattr); +DECL_TEMPLATE(linux, sys_lsetxattr); +DECL_TEMPLATE(linux, sys_fsetxattr); +DECL_TEMPLATE(linux, sys_getxattr); +DECL_TEMPLATE(linux, sys_lgetxattr); +DECL_TEMPLATE(linux, sys_fgetxattr); +DECL_TEMPLATE(linux, sys_listxattr); +DECL_TEMPLATE(linux, sys_llistxattr); +DECL_TEMPLATE(linux, sys_flistxattr); +DECL_TEMPLATE(linux, sys_removexattr); +DECL_TEMPLATE(linux, sys_lremovexattr); +DECL_TEMPLATE(linux, sys_fremovexattr); #endif // __PRIV_SYSWRAP_LINUX_H /*--------------------------------------------------------------------*/ diff --git a/coregrind/m_syswrap/syswrap-amd64-linux.c b/coregrind/m_syswrap/syswrap-amd64-linux.c index 10fb9a6fe4..576f767a7e 100644 --- a/coregrind/m_syswrap/syswrap-amd64-linux.c +++ b/coregrind/m_syswrap/syswrap-amd64-linux.c @@ -1401,20 +1401,20 @@ const SyscallTableEntry ML_(syscall_table)[] = { // (__NR_security, sys_ni_syscall), // 185 LINX_(__NR_gettid, sys_gettid), // 186 // (__NR_readahead, sys_readahead), // 187 - // (__NR_setxattr, sys_setxattr), // 188 - // (__NR_lsetxattr, sys_lsetxattr), // 189 - - // (__NR_fsetxattr, sys_fsetxattr), // 190 - GENXY(__NR_getxattr, sys_getxattr), // 191 - // (__NR_lgetxattr, sys_lgetxattr), // 192 - // (__NR_fgetxattr, sys_fgetxattr), // 193 - // (__NR_listxattr, sys_listxattr), // 194 - - // (__NR_llistxattr, sys_llistxattr), // 195 - // (__NR_flistxattr, sys_flistxattr), // 196 - // (__NR_removexattr, sys_removexattr), // 197 - // (__NR_lremovexattr, sys_lremovexattr), // 198 - // (__NR_fremovexattr, sys_fremovexattr), // 199 + //LINX_(__NR_setxattr, sys_setxattr), // 188 + //LINX_(__NR_lsetxattr, sys_lsetxattr), // 189 + + //LINX_(__NR_fsetxattr, sys_fsetxattr), // 190 + LINXY(__NR_getxattr, sys_getxattr), // 191 + //LINXY(__NR_lgetxattr, sys_lgetxattr), // 192 + //LINXY(__NR_fgetxattr, sys_fgetxattr), // 193 + //LINXY(__NR_listxattr, sys_listxattr), // 194 + + //LINXY(__NR_llistxattr, sys_llistxattr), // 195 + //LINXY(__NR_flistxattr, sys_flistxattr), // 196 + //LINX_(__NR_removexattr, sys_removexattr), // 197 + //LINX_(__NR_lremovexattr, sys_lremovexattr), // 198 + //LINX_(__NR_fremovexattr, sys_fremovexattr), // 199 // (__NR_tkill, sys_tkill), // 200 GENXY(__NR_time, sys_time), /*was sys_time64*/ // 201 diff --git a/coregrind/m_syswrap/syswrap-generic.c b/coregrind/m_syswrap/syswrap-generic.c index ab9476d955..8c5cb3e8c8 100644 --- a/coregrind/m_syswrap/syswrap-generic.c +++ b/coregrind/m_syswrap/syswrap-generic.c @@ -1724,165 +1724,6 @@ PRE(sys_iopl) PRE_REG_READ1(long, "iopl", unsigned long, level); } -PRE(sys_setxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_setxattr ( %p, %p, %p, %llu, %d )", - ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); - PRE_REG_READ5(long, "setxattr", - char *, path, char *, name, - void *, value, vki_size_t, size, int, flags); - PRE_MEM_RASCIIZ( "setxattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "setxattr(name)", ARG2 ); - PRE_MEM_READ( "setxattr(value)", ARG3, ARG4 ); -} - -PRE(sys_lsetxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_lsetxattr ( %p, %p, %p, %llu, %d )", - ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); - PRE_REG_READ5(long, "lsetxattr", - char *, path, char *, name, - void *, value, vki_size_t, size, int, flags); - PRE_MEM_RASCIIZ( "lsetxattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "lsetxattr(name)", ARG2 ); - PRE_MEM_READ( "lsetxattr(value)", ARG3, ARG4 ); -} - -PRE(sys_fsetxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_fsetxattr ( %d, %p, %p, %llu, %d )", - ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); - PRE_REG_READ5(long, "fsetxattr", - int, fd, char *, name, void *, value, - vki_size_t, size, int, flags); - PRE_MEM_RASCIIZ( "fsetxattr(name)", ARG2 ); - PRE_MEM_READ( "fsetxattr(value)", ARG3, ARG4 ); -} - -PRE(sys_getxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_getxattr ( %p, %p, %p, %llu )", ARG1,ARG2,ARG3, (ULong)ARG4); - PRE_REG_READ4(ssize_t, "getxattr", - char *, path, char *, name, void *, value, vki_size_t, size); - PRE_MEM_RASCIIZ( "getxattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "getxattr(name)", ARG2 ); - PRE_MEM_WRITE( "getxattr(value)", ARG3, ARG4 ); -} -POST(sys_getxattr) -{ - vg_assert(SUCCESS); - if (RES > 0 && ARG3 != (Addr)NULL) { - POST_MEM_WRITE( ARG3, RES ); - } -} - -PRE(sys_lgetxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_lgetxattr ( %p, %p, %p, %llu )", ARG1,ARG2,ARG3, (ULong)ARG4); - PRE_REG_READ4(ssize_t, "lgetxattr", - char *, path, char *, name, void *, value, vki_size_t, size); - PRE_MEM_RASCIIZ( "lgetxattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "lgetxattr(name)", ARG2 ); - PRE_MEM_WRITE( "lgetxattr(value)", ARG3, ARG4 ); -} -POST(sys_lgetxattr) -{ - vg_assert(SUCCESS); - if (RES > 0 && ARG3 != (Addr)NULL) { - POST_MEM_WRITE( ARG3, RES ); - } -} - -PRE(sys_fgetxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_fgetxattr ( %d, %p, %p, %llu )", ARG1, ARG2, ARG3, (ULong)ARG4); - PRE_REG_READ4(ssize_t, "fgetxattr", - int, fd, char *, name, void *, value, vki_size_t, size); - PRE_MEM_RASCIIZ( "fgetxattr(name)", ARG2 ); - PRE_MEM_WRITE( "fgetxattr(value)", ARG3, ARG4 ); -} -POST(sys_fgetxattr) -{ - if (RES > 0 && ARG3 != (Addr)NULL) - POST_MEM_WRITE( ARG3, RES ); -} - -PRE(sys_listxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_listxattr ( %p, %p, %llu )", ARG1, ARG2, (ULong)ARG3); - PRE_REG_READ3(ssize_t, "listxattr", - char *, path, char *, list, vki_size_t, size); - PRE_MEM_RASCIIZ( "listxattr(path)", ARG1 ); - PRE_MEM_WRITE( "listxattr(list)", ARG2, ARG3 ); -} -POST(sys_listxattr) -{ - if (RES > 0 && ARG2 != (Addr)NULL) - POST_MEM_WRITE( ARG2, RES ); -} - -PRE(sys_llistxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_llistxattr ( %p, %p, %llu )", ARG1, ARG2, (ULong)ARG3); - PRE_REG_READ3(ssize_t, "llistxattr", - char *, path, char *, list, vki_size_t, size); - PRE_MEM_RASCIIZ( "llistxattr(path)", ARG1 ); - PRE_MEM_WRITE( "llistxattr(list)", ARG2, ARG3 ); -} -POST(sys_llistxattr) -{ - if (RES > 0 && ARG2 != (Addr)NULL) - POST_MEM_WRITE( ARG2, RES ); -} - -PRE(sys_flistxattr) -{ - *flags |= SfMayBlock; - PRINT("sys_flistxattr ( %d, %p, %llu )", ARG1, ARG2, (ULong)ARG3); - PRE_REG_READ3(ssize_t, "flistxattr", - int, fd, char *, list, vki_size_t, size); - PRE_MEM_WRITE( "flistxattr(list)", ARG2, ARG3 ); -} -POST(sys_flistxattr) -{ - if (RES > 0 && ARG2 != (Addr)NULL) - POST_MEM_WRITE( ARG2, RES ); -} - -PRE(sys_removexattr) -{ - *flags |= SfMayBlock; - PRINT("sys_removexattr ( %p, %p )", ARG1, ARG2); - PRE_REG_READ2(long, "removexattr", char *, path, char *, name); - PRE_MEM_RASCIIZ( "removexattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "removexattr(name)", ARG2 ); -} - -PRE(sys_lremovexattr) -{ - *flags |= SfMayBlock; - PRINT("sys_lremovexattr ( %p, %p )", ARG1, ARG2); - PRE_REG_READ2(long, "lremovexattr", char *, path, char *, name); - PRE_MEM_RASCIIZ( "lremovexattr(path)", ARG1 ); - PRE_MEM_RASCIIZ( "lremovexattr(name)", ARG2 ); -} - -PRE(sys_fremovexattr) -{ - *flags |= SfMayBlock; - PRINT("sys_fremovexattr ( %d, %p )", ARG1, ARG2); - PRE_REG_READ2(long, "fremovexattr", int, fd, char *, name); - PRE_MEM_RASCIIZ( "fremovexattr(name)", ARG2 ); -} - PRE(sys_quotactl) { PRINT("sys_quotactl (0x%x, %p, 0x%x, 0x%x )", ARG1,ARG2,ARG3, ARG4); diff --git a/coregrind/m_syswrap/syswrap-linux.c b/coregrind/m_syswrap/syswrap-linux.c index 74282739c6..cc0c681c4e 100644 --- a/coregrind/m_syswrap/syswrap-linux.c +++ b/coregrind/m_syswrap/syswrap-linux.c @@ -1241,6 +1241,165 @@ PRE(sys_fchown16) unsigned int, fd, vki_old_uid_t, owner, vki_old_gid_t, group); } +PRE(sys_setxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_setxattr ( %p, %p, %p, %llu, %d )", + ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); + PRE_REG_READ5(long, "setxattr", + char *, path, char *, name, + void *, value, vki_size_t, size, int, flags); + PRE_MEM_RASCIIZ( "setxattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "setxattr(name)", ARG2 ); + PRE_MEM_READ( "setxattr(value)", ARG3, ARG4 ); +} + +PRE(sys_lsetxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_lsetxattr ( %p, %p, %p, %llu, %d )", + ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); + PRE_REG_READ5(long, "lsetxattr", + char *, path, char *, name, + void *, value, vki_size_t, size, int, flags); + PRE_MEM_RASCIIZ( "lsetxattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "lsetxattr(name)", ARG2 ); + PRE_MEM_READ( "lsetxattr(value)", ARG3, ARG4 ); +} + +PRE(sys_fsetxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_fsetxattr ( %d, %p, %p, %llu, %d )", + ARG1, ARG2, ARG3, (ULong)ARG4, ARG5); + PRE_REG_READ5(long, "fsetxattr", + int, fd, char *, name, void *, value, + vki_size_t, size, int, flags); + PRE_MEM_RASCIIZ( "fsetxattr(name)", ARG2 ); + PRE_MEM_READ( "fsetxattr(value)", ARG3, ARG4 ); +} + +PRE(sys_getxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_getxattr ( %p, %p, %p, %llu )", ARG1,ARG2,ARG3, (ULong)ARG4); + PRE_REG_READ4(ssize_t, "getxattr", + char *, path, char *, name, void *, value, vki_size_t, size); + PRE_MEM_RASCIIZ( "getxattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "getxattr(name)", ARG2 ); + PRE_MEM_WRITE( "getxattr(value)", ARG3, ARG4 ); +} +POST(sys_getxattr) +{ + vg_assert(SUCCESS); + if (RES > 0 && ARG3 != (Addr)NULL) { + POST_MEM_WRITE( ARG3, RES ); + } +} + +PRE(sys_lgetxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_lgetxattr ( %p, %p, %p, %llu )", ARG1,ARG2,ARG3, (ULong)ARG4); + PRE_REG_READ4(ssize_t, "lgetxattr", + char *, path, char *, name, void *, value, vki_size_t, size); + PRE_MEM_RASCIIZ( "lgetxattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "lgetxattr(name)", ARG2 ); + PRE_MEM_WRITE( "lgetxattr(value)", ARG3, ARG4 ); +} +POST(sys_lgetxattr) +{ + vg_assert(SUCCESS); + if (RES > 0 && ARG3 != (Addr)NULL) { + POST_MEM_WRITE( ARG3, RES ); + } +} + +PRE(sys_fgetxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_fgetxattr ( %d, %p, %p, %llu )", ARG1, ARG2, ARG3, (ULong)ARG4); + PRE_REG_READ4(ssize_t, "fgetxattr", + int, fd, char *, name, void *, value, vki_size_t, size); + PRE_MEM_RASCIIZ( "fgetxattr(name)", ARG2 ); + PRE_MEM_WRITE( "fgetxattr(value)", ARG3, ARG4 ); +} +POST(sys_fgetxattr) +{ + if (RES > 0 && ARG3 != (Addr)NULL) + POST_MEM_WRITE( ARG3, RES ); +} + +PRE(sys_listxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_listxattr ( %p, %p, %llu )", ARG1, ARG2, (ULong)ARG3); + PRE_REG_READ3(ssize_t, "listxattr", + char *, path, char *, list, vki_size_t, size); + PRE_MEM_RASCIIZ( "listxattr(path)", ARG1 ); + PRE_MEM_WRITE( "listxattr(list)", ARG2, ARG3 ); +} +POST(sys_listxattr) +{ + if (RES > 0 && ARG2 != (Addr)NULL) + POST_MEM_WRITE( ARG2, RES ); +} + +PRE(sys_llistxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_llistxattr ( %p, %p, %llu )", ARG1, ARG2, (ULong)ARG3); + PRE_REG_READ3(ssize_t, "llistxattr", + char *, path, char *, list, vki_size_t, size); + PRE_MEM_RASCIIZ( "llistxattr(path)", ARG1 ); + PRE_MEM_WRITE( "llistxattr(list)", ARG2, ARG3 ); +} +POST(sys_llistxattr) +{ + if (RES > 0 && ARG2 != (Addr)NULL) + POST_MEM_WRITE( ARG2, RES ); +} + +PRE(sys_flistxattr) +{ + *flags |= SfMayBlock; + PRINT("sys_flistxattr ( %d, %p, %llu )", ARG1, ARG2, (ULong)ARG3); + PRE_REG_READ3(ssize_t, "flistxattr", + int, fd, char *, list, vki_size_t, size); + PRE_MEM_WRITE( "flistxattr(list)", ARG2, ARG3 ); +} +POST(sys_flistxattr) +{ + if (RES > 0 && ARG2 != (Addr)NULL) + POST_MEM_WRITE( ARG2, RES ); +} + +PRE(sys_removexattr) +{ + *flags |= SfMayBlock; + PRINT("sys_removexattr ( %p, %p )", ARG1, ARG2); + PRE_REG_READ2(long, "removexattr", char *, path, char *, name); + PRE_MEM_RASCIIZ( "removexattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "removexattr(name)", ARG2 ); +} + +PRE(sys_lremovexattr) +{ + *flags |= SfMayBlock; + PRINT("sys_lremovexattr ( %p, %p )", ARG1, ARG2); + PRE_REG_READ2(long, "lremovexattr", char *, path, char *, name); + PRE_MEM_RASCIIZ( "lremovexattr(path)", ARG1 ); + PRE_MEM_RASCIIZ( "lremovexattr(name)", ARG2 ); +} + +PRE(sys_fremovexattr) +{ + *flags |= SfMayBlock; + PRINT("sys_fremovexattr ( %d, %p )", ARG1, ARG2); + PRE_REG_READ2(long, "fremovexattr", int, fd, char *, name); + PRE_MEM_RASCIIZ( "fremovexattr(name)", ARG2 ); +} + #undef PRE #undef POST diff --git a/coregrind/m_syswrap/syswrap-ppc32-linux.c b/coregrind/m_syswrap/syswrap-ppc32-linux.c index 6de55f4b15..db299f28d6 100644 --- a/coregrind/m_syswrap/syswrap-ppc32-linux.c +++ b/coregrind/m_syswrap/syswrap-ppc32-linux.c @@ -2213,18 +2213,18 @@ const SyscallTableEntry ML_(syscall_table)[] = { //.. GENXY(__NR_mincore, sys_mincore), // 206 LINX_(__NR_gettid, sys_gettid), // 207 //.. LINX_(__NR_tkill, sys_tkill), // 208 */Linux -//.. GENX_(__NR_setxattr, sys_setxattr), // 209 -//.. GENX_(__NR_lsetxattr, sys_lsetxattr), // 210 -//.. GENX_(__NR_fsetxattr, sys_fsetxattr), // 211 +//.. LINX_(__NR_setxattr, sys_setxattr), // 209 +//.. LINX_(__NR_lsetxattr, sys_lsetxattr), // 210 +//.. LINX_(__NR_fsetxattr, sys_fsetxattr), // 211 GENXY(__NR_getxattr, sys_getxattr), // 212 -//.. GENXY(__NR_lgetxattr, sys_lgetxattr), // 213 -//.. GENXY(__NR_fgetxattr, sys_fgetxattr), // 214 -//.. GENXY(__NR_listxattr, sys_listxattr), // 215 -//.. GENXY(__NR_llistxattr, sys_llistxattr), // 216 -//.. GENXY(__NR_flistxattr, sys_flistxattr), // 217 -//.. GENX_(__NR_removexattr, sys_removexattr), // 218 -//.. GENX_(__NR_lremovexattr, sys_lremovexattr), // 219 -//.. GENX_(__NR_fremovexattr, sys_fremovexattr), // 220 +//.. LINXY(__NR_lgetxattr, sys_lgetxattr), // 213 +//.. LINXY(__NR_fgetxattr, sys_fgetxattr), // 214 +//.. LINXY(__NR_listxattr, sys_listxattr), // 215 +//.. LINXY(__NR_llistxattr, sys_llistxattr), // 216 +//.. LINXY(__NR_flistxattr, sys_flistxattr), // 217 +//.. LINX_(__NR_removexattr, sys_removexattr), // 218 +//.. LINX_(__NR_lremovexattr, sys_lremovexattr), // 219 +//.. LINX_(__NR_fremovexattr, sys_fremovexattr), // 220 LINXY(__NR_futex, sys_futex), // 221 //.. GENX_(__NR_sched_setaffinity, sys_sched_setaffinity), // 222 diff --git a/coregrind/m_syswrap/syswrap-x86-linux.c b/coregrind/m_syswrap/syswrap-x86-linux.c index 347e47add6..1e28c122ef 100644 --- a/coregrind/m_syswrap/syswrap-x86-linux.c +++ b/coregrind/m_syswrap/syswrap-x86-linux.c @@ -2214,20 +2214,20 @@ const SyscallTableEntry ML_(syscall_table)[] = { LINX_(__NR_gettid, sys_gettid), // 224 //zz // (__NR_readahead, sys_readahead), // 225 */(Linux?) - GENX_(__NR_setxattr, sys_setxattr), // 226 - GENX_(__NR_lsetxattr, sys_lsetxattr), // 227 - GENX_(__NR_fsetxattr, sys_fsetxattr), // 228 - GENXY(__NR_getxattr, sys_getxattr), // 229 - - GENXY(__NR_lgetxattr, sys_lgetxattr), // 230 - GENXY(__NR_fgetxattr, sys_fgetxattr), // 231 - GENXY(__NR_listxattr, sys_listxattr), // 232 - GENXY(__NR_llistxattr, sys_llistxattr), // 233 - GENXY(__NR_flistxattr, sys_flistxattr), // 234 - - GENX_(__NR_removexattr, sys_removexattr), // 235 - GENX_(__NR_lremovexattr, sys_lremovexattr), // 236 - GENX_(__NR_fremovexattr, sys_fremovexattr), // 237 + LINX_(__NR_setxattr, sys_setxattr), // 226 + LINX_(__NR_lsetxattr, sys_lsetxattr), // 227 + LINX_(__NR_fsetxattr, sys_fsetxattr), // 228 + LINXY(__NR_getxattr, sys_getxattr), // 229 + + LINXY(__NR_lgetxattr, sys_lgetxattr), // 230 + LINXY(__NR_fgetxattr, sys_fgetxattr), // 231 + LINXY(__NR_listxattr, sys_listxattr), // 232 + LINXY(__NR_llistxattr, sys_llistxattr), // 233 + LINXY(__NR_flistxattr, sys_flistxattr), // 234 + + LINX_(__NR_removexattr, sys_removexattr), // 235 + LINX_(__NR_lremovexattr, sys_lremovexattr), // 236 + LINX_(__NR_fremovexattr, sys_fremovexattr), // 237 //zz LINX_(__NR_tkill, sys_tkill), // 238 */Linux LINXY(__NR_sendfile64, sys_sendfile64), // 239