qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 03/11] bsd-user: Implement revoke, access, eaccess and facces


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH 03/11] bsd-user: Implement revoke, access, eaccess and faccessat
Date: Tue, 14 Jun 2022 01:07:35 +0200
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:91.0) Gecko/20100101 Thunderbird/91.10.0

On 12/6/22 22:48, Warner Losh wrote:
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
---
  bsd-user/bsd-file.h           | 53 +++++++++++++++++++++++++++++++++++
  bsd-user/freebsd/os-syscall.c | 16 +++++++++++
  2 files changed, 69 insertions(+)

diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 3e0f160e312..37b3efccd2c 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -262,4 +262,57 @@ static abi_long do_bsd_closefrom(abi_long arg1)
      return get_errno(0);
  }
+/* revoke(2) */
+static abi_long do_bsd_revoke(abi_long arg1)
+{
+    abi_long ret;
+    void *p;
+
+    LOCK_PATH(p, arg1);
+    ret = get_errno(revoke(p)); /* XXX path(p)? */
+    UNLOCK_PATH(p, arg1);
+
+    return ret;
+}

Out of curiosity, what is the problem with path(p) here?

+/* faccessat(2) */
+static abi_long do_bsd_faccessat(abi_long arg1, abi_long arg2,
+        abi_long arg3, abi_long arg4)
+{
+    abi_long ret;
+    void *p;
+
+    LOCK_PATH(p, arg2);
+    ret = get_errno(faccessat(arg1, p, arg3, arg4)); /* XXX path(p)? */
+    UNLOCK_PATH(p, arg2);
+
+    return ret;
+}



reply via email to

[Prev in Thread] Current Thread [Next in Thread]