]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Implement __NR_getxattr.
authorJulian Seward <jseward@acm.org>
Thu, 25 Jul 2002 01:41:01 +0000 (01:41 +0000)
committerJulian Seward <jseward@acm.org>
Thu, 25 Jul 2002 01:41:01 +0000 (01:41 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@530

vg_syscall_mem.c

index 6e91d33278da32ba215e64efea757a524fe375c2..580f6af3504c6e8b6b16ea64b12bfa4d445a6d4d 100644 (file)
@@ -416,6 +416,24 @@ void VG_(perform_assumed_nonblocking_syscall) ( ThreadId tid )
 #     endif
 
       /* !!!!!!!!!! New, untested syscalls !!!!!!!!!!!!!!!!!!!!! */
+
+#     if defined(__NR_getxattr)
+      case __NR_getxattr: /* syscall 229 */
+         /* ssize_t getxattr (const char *path, const char* name,
+                              void* value, size_t size); */
+         if (VG_(clo_trace_syscalls))
+            VG_(printf)("getxattr ( %p, %p, %p, %d )\n", 
+                        arg1,arg2,arg3, arg4);
+         must_be_readable_asciiz( tst, "getxattr(path)", arg1 );
+         must_be_readable_asciiz( tst, "getxattr(name)", arg2 );
+         must_be_writable( tst, "getxattr(value)", arg3, arg4 );
+         KERNEL_DO_SYSCALL(tid,res);
+         if (!VG_(is_kerror)(res) && res > 0 
+                                  && arg3 != (Addr)NULL) {
+            make_readable( arg3, res );
+         }
+         break;
+#     endif
       
 #     if defined(__NR_quotactl)
       case __NR_quotactl: /* syscall 131 */