* [PULL 00/11] Bsd user syscall 2022q2b patches
@ 2022-07-02 13:56 Warner Losh
2022-07-02 13:56 ` [PULL 01/11] bsd-user: Implement mount, umount and nmount Warner Losh
` (11 more replies)
0 siblings, 12 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh
The following changes since commit d495e432c04a6394126c35cf96517749708b410f:
Merge tag 'pull-aspeed-20220630' of https://github.com/legoater/qemu into staging (2022-06-30 22:04:12 +0530)
are available in the Git repository at:
ssh://git@github.com/qemu-bsd-user/qemu-bsd-user.git tags/bsd-user-syscall-2022q2b-pull-request
for you to fetch changes up to 3f1b0235f68ff74ebfd98b17626e4254c4345fa8:
bsd-user: Remove stray 'inline' from do_bsd_close (2022-07-02 07:52:48 -0600)
----------------------------------------------------------------
bsd-user: More file-related system calls
A second round of mostly BSD-independent filesystem calls: mount, unmount,
nmount, symlink, symlinkat, readlink, readlinkat, chmod, fchmod, lchmod,
fchmodat, freebsd11_mknod, freebsd11_monodat, mknodat, chown, fchown, lchown,
fchownat, chflags, lchflags, fchflags, chroot, flock, mkfifo, mkfifoat,
pathconf, lpathconf, fpathconf, undelete.
These are all non-reentrant system calls, so these wrappers are pretty simple
and no safe_* versions need to be created.
----------------------------------------------------------------
Warner Losh (11):
bsd-user: Implement mount, umount and nmount
bsd-user: Implement symlink, symlinkat, readlink and readlinkat
bsd-user: implement chmod, fchmod, lchmod and fchmodat
bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat
bsd-user: Implement chown, fchown, lchown and fchownat
bsd-user: Implement chflags, lchflags and fchflags
bsd-user: Implement chroot and flock
bsd-user: Implement mkfifo and mkfifoat
bsd-user: Implement pathconf, lpathconf and fpathconf
bsd-user: Implement undelete
bsd-user: Remove stray 'inline' from do_bsd_close
bsd-user/bsd-file.h | 392 +++++++++++++++++++++++++++++++++-
bsd-user/freebsd/os-syscall.c | 118 ++++++++++
2 files changed, 509 insertions(+), 1 deletion(-)
--
2.33.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PULL 01/11] bsd-user: Implement mount, umount and nmount
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
@ 2022-07-02 13:56 ` Warner Losh
2022-07-02 13:56 ` [PULL 02/11] bsd-user: Implement symlink, symlinkat, readlink and readlinkat Warner Losh
` (10 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:56 UTC (permalink / raw)
To: qemu-devel
Cc: Kyle Evans, Warner Losh, Stacey Son, Jung-uk Kim,
Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Jung-uk Kim <jkim@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 52 +++++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 13 +++++++++
2 files changed, 65 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index b2dca586129..a0f03102639 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -549,4 +549,56 @@ static abi_long do_bsd_sync(void)
return 0;
}
+/* mount(2) */
+static abi_long do_bsd_mount(abi_long arg1, abi_long arg2, abi_long arg3,
+ abi_long arg4)
+{
+ abi_long ret;
+ void *p1, *p2;
+
+ LOCK_PATH2(p1, arg1, p2, arg2);
+ /*
+ * XXX arg4 should be locked, but it isn't clear how to do that since it may
+ * be not be a NULL-terminated string.
+ */
+ if (arg4 == 0) {
+ ret = get_errno(mount(p1, p2, arg3, NULL)); /* XXX path(p2)? */
+ } else {
+ ret = get_errno(mount(p1, p2, arg3, g2h_untagged(arg4))); /* XXX path(p2)? */
+ }
+ UNLOCK_PATH2(p1, arg1, p2, arg2);
+
+ return ret;
+}
+
+/* unmount(2) */
+static abi_long do_bsd_unmount(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(unmount(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* nmount(2) */
+static abi_long do_bsd_nmount(abi_long arg1, abi_long count,
+ abi_long flags)
+{
+ abi_long ret;
+ struct iovec *vec = lock_iovec(VERIFY_READ, arg1, count, 1);
+
+ if (vec != NULL) {
+ ret = get_errno(nmount(vec, count, flags));
+ unlock_iovec(vec, arg1, count, 0);
+ } else {
+ return -TARGET_EFAULT;
+ }
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index 2623caf8007..bd4dfa6ddc7 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -33,6 +33,7 @@
#include "qemu/path.h"
#include <sys/syscall.h>
#include <sys/param.h>
+#include <sys/mount.h>
#include <sys/sysctl.h>
#include <utime.h>
@@ -373,6 +374,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_sync();
break;
+ case TARGET_FREEBSD_NR_mount: /* mount(2) */
+ ret = do_bsd_mount(arg1, arg2, arg3, arg4);
+ break;
+
+ case TARGET_FREEBSD_NR_unmount: /* unmount(2) */
+ ret = do_bsd_unmount(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_nmount: /* nmount(2) */
+ ret = do_bsd_nmount(arg1, arg2, arg3);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 02/11] bsd-user: Implement symlink, symlinkat, readlink and readlinkat
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
2022-07-02 13:56 ` [PULL 01/11] bsd-user: Implement mount, umount and nmount Warner Losh
@ 2022-07-02 13:56 ` Warner Losh
2022-07-02 13:56 ` [PULL 03/11] bsd-user: implement chmod, fchmod, lchmod and fchmodat Warner Losh
` (9 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:56 UTC (permalink / raw)
To: qemu-devel
Cc: Kyle Evans, Warner Losh, Stacey Son, Jung-uk Kim,
Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Jung-uk Kim <jkim@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 74 +++++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 16 ++++++++
2 files changed, 90 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index a0f03102639..635ac8d0e62 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -601,4 +601,78 @@ static abi_long do_bsd_nmount(abi_long arg1, abi_long count,
return ret;
}
+/* symlink(2) */
+static abi_long do_bsd_symlink(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p1, *p2;
+
+ LOCK_PATH2(p1, arg1, p2, arg2);
+ ret = get_errno(symlink(p1, p2)); /* XXX path(p1), path(p2) */
+ UNLOCK_PATH2(p1, arg1, p2, arg2);
+
+ return ret;
+}
+
+/* symlinkat(2) */
+static abi_long do_bsd_symlinkat(abi_long arg1, abi_long arg2,
+ abi_long arg3)
+{
+ abi_long ret;
+ void *p1, *p2;
+
+ LOCK_PATH2(p1, arg1, p2, arg3);
+ ret = get_errno(symlinkat(p1, arg2, p2)); /* XXX path(p1), path(p2) */
+ UNLOCK_PATH2(p1, arg1, p2, arg3);
+
+ return ret;
+}
+
+/* readlink(2) */
+static abi_long do_bsd_readlink(CPUArchState *env, abi_long arg1,
+ abi_long arg2, abi_long arg3)
+{
+ abi_long ret;
+ void *p1, *p2;
+
+ LOCK_PATH(p1, arg1);
+ p2 = lock_user(VERIFY_WRITE, arg2, arg3, 0);
+ if (p2 == NULL) {
+ UNLOCK_PATH(p1, arg1);
+ return -TARGET_EFAULT;
+ }
+ if (strcmp(p1, "/proc/curproc/file") == 0) {
+ CPUState *cpu = env_cpu(env);
+ TaskState *ts = (TaskState *)cpu->opaque;
+ strncpy(p2, ts->bprm->fullpath, arg3);
+ ret = MIN((abi_long)strlen(ts->bprm->fullpath), arg3);
+ } else {
+ ret = get_errno(readlink(path(p1), p2, arg3));
+ }
+ unlock_user(p2, arg2, ret);
+ UNLOCK_PATH(p1, arg1);
+
+ return ret;
+}
+
+/* readlinkat(2) */
+static abi_long do_bsd_readlinkat(abi_long arg1, abi_long arg2,
+ abi_long arg3, abi_long arg4)
+{
+ abi_long ret;
+ void *p1, *p2;
+
+ LOCK_PATH(p1, arg2);
+ p2 = lock_user(VERIFY_WRITE, arg3, arg4, 0);
+ if (p2 == NULL) {
+ UNLOCK_PATH(p1, arg2);
+ return -TARGET_EFAULT;
+ }
+ ret = get_errno(readlinkat(arg1, p1, p2, arg4));
+ unlock_user(p2, arg3, ret);
+ UNLOCK_PATH(p1, arg2);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index bd4dfa6ddc7..80ec9dd4954 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -386,6 +386,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_nmount(arg1, arg2, arg3);
break;
+ case TARGET_FREEBSD_NR_symlink: /* symlink(2) */
+ ret = do_bsd_symlink(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_symlinkat: /* symlinkat(2) */
+ ret = do_bsd_symlinkat(arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_readlink: /* readlink(2) */
+ ret = do_bsd_readlink(cpu_env, arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_readlinkat: /* readlinkat(2) */
+ ret = do_bsd_readlinkat(arg1, arg2, arg3, arg4);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 03/11] bsd-user: implement chmod, fchmod, lchmod and fchmodat
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
2022-07-02 13:56 ` [PULL 01/11] bsd-user: Implement mount, umount and nmount Warner Losh
2022-07-02 13:56 ` [PULL 02/11] bsd-user: Implement symlink, symlinkat, readlink and readlinkat Warner Losh
@ 2022-07-02 13:56 ` Warner Losh
2022-07-02 13:56 ` [PULL 04/11] bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat Warner Losh
` (8 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:56 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 46 +++++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 16 ++++++++++++
2 files changed, 62 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 635ac8d0e62..1af79866fc6 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -675,4 +675,50 @@ static abi_long do_bsd_readlinkat(abi_long arg1, abi_long arg2,
return ret;
}
+/* chmod(2) */
+static abi_long do_bsd_chmod(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(chmod(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fchmod(2) */
+static abi_long do_bsd_fchmod(abi_long arg1, abi_long arg2)
+{
+ return get_errno(fchmod(arg1, arg2));
+}
+
+/* lchmod(2) */
+static abi_long do_bsd_lchmod(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(lchmod(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fchmodat(2) */
+static abi_long do_bsd_fchmodat(abi_long arg1, abi_long arg2,
+ abi_long arg3, abi_long arg4)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg2);
+ ret = get_errno(fchmodat(arg1, p, arg3, arg4));
+ UNLOCK_PATH(p, arg2);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index 80ec9dd4954..b33d548a4b6 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -402,6 +402,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_readlinkat(arg1, arg2, arg3, arg4);
break;
+ case TARGET_FREEBSD_NR_chmod: /* chmod(2) */
+ ret = do_bsd_chmod(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_fchmod: /* fchmod(2) */
+ ret = do_bsd_fchmod(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_lchmod: /* lchmod(2) */
+ ret = do_bsd_lchmod(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_fchmodat: /* fchmodat(2) */
+ ret = do_bsd_fchmodat(arg1, arg2, arg3, arg4);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 04/11] bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (2 preceding siblings ...)
2022-07-02 13:56 ` [PULL 03/11] bsd-user: implement chmod, fchmod, lchmod and fchmodat Warner Losh
@ 2022-07-02 13:56 ` Warner Losh
2022-07-02 13:57 ` [PULL 05/11] bsd-user: Implement chown, fchown, lchown and fchownat Warner Losh
` (7 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:56 UTC (permalink / raw)
To: qemu-devel
Cc: Kyle Evans, Warner Losh, Stacey Son, Michal Meloun,
Richard Henderson
These implement both the old-pre INO64 mknod variations, as well as the
now current INO64 variant. Make direct syscall calls for these older
syscalls to avloid too many dependencies.
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Michal Meloun <mmel@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 47 +++++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 13 ++++++++++
2 files changed, 60 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 1af79866fc6..b05d3cbb717 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -721,4 +721,51 @@ static abi_long do_bsd_fchmodat(abi_long arg1, abi_long arg2,
return ret;
}
+/* pre-ino64 mknod(2) */
+static abi_long do_bsd_freebsd11_mknod(abi_long arg1, abi_long arg2, abi_long arg3)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(syscall(SYS_freebsd11_mknod, p, arg2, arg3));
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* pre-ino64 mknodat(2) */
+static abi_long do_bsd_freebsd11_mknodat(abi_long arg1, abi_long arg2,
+ abi_long arg3, abi_long arg4)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg2);
+ ret = get_errno(syscall(SYS_freebsd11_mknodat, arg1, p, arg3, arg4));
+ UNLOCK_PATH(p, arg2);
+
+ return ret;
+}
+
+/* post-ino64 mknodat(2) */
+static abi_long do_bsd_mknodat(void *cpu_env, abi_long arg1,
+ abi_long arg2, abi_long arg3, abi_long arg4, abi_long arg5,
+ abi_long arg6)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg2);
+ /* 32-bit arch's use two 32 registers for 64 bit return value */
+ if (regpairs_aligned(cpu_env) != 0) {
+ ret = get_errno(mknodat(arg1, p, arg3, target_arg64(arg5, arg6)));
+ } else {
+ ret = get_errno(mknodat(arg1, p, arg3, target_arg64(arg4, arg5)));
+ }
+ UNLOCK_PATH(p, arg2);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index b33d548a4b6..d3125f340f7 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -32,6 +32,7 @@
#include "qemu/cutils.h"
#include "qemu/path.h"
#include <sys/syscall.h>
+#include <sys/cdefs.h>
#include <sys/param.h>
#include <sys/mount.h>
#include <sys/sysctl.h>
@@ -418,6 +419,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_fchmodat(arg1, arg2, arg3, arg4);
break;
+ case TARGET_FREEBSD_NR_freebsd11_mknod: /* mknod(2) */
+ ret = do_bsd_freebsd11_mknod(arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_freebsd11_mknodat: /* mknodat(2) */
+ ret = do_bsd_freebsd11_mknodat(arg1, arg2, arg3, arg4);
+ break;
+
+ case TARGET_FREEBSD_NR_mknodat: /* mknodat(2) */
+ ret = do_bsd_mknodat(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 05/11] bsd-user: Implement chown, fchown, lchown and fchownat
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (3 preceding siblings ...)
2022-07-02 13:56 ` [PULL 04/11] bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 06/11] bsd-user: Implement chflags, lchflags and fchflags Warner Losh
` (6 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 48 +++++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 16 ++++++++++++
2 files changed, 64 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index b05d3cbb717..ac171c409ca 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -768,4 +768,52 @@ static abi_long do_bsd_mknodat(void *cpu_env, abi_long arg1,
return ret;
}
+/* chown(2) */
+static abi_long do_bsd_chown(abi_long arg1, abi_long arg2, abi_long arg3)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(chown(p, arg2, arg3)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fchown(2) */
+static abi_long do_bsd_fchown(abi_long arg1, abi_long arg2,
+ abi_long arg3)
+{
+ return get_errno(fchown(arg1, arg2, arg3));
+}
+
+/* lchown(2) */
+static abi_long do_bsd_lchown(abi_long arg1, abi_long arg2,
+ abi_long arg3)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(lchown(p, arg2, arg3)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fchownat(2) */
+static abi_long do_bsd_fchownat(abi_long arg1, abi_long arg2,
+ abi_long arg3, abi_long arg4, abi_long arg5)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg2);
+ ret = get_errno(fchownat(arg1, p, arg3, arg4, arg5)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg2);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index d3125f340f7..8090666b0d9 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -431,6 +431,22 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_mknodat(cpu_env, arg1, arg2, arg3, arg4, arg5, arg6);
break;
+ case TARGET_FREEBSD_NR_chown: /* chown(2) */
+ ret = do_bsd_chown(arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_fchown: /* fchown(2) */
+ ret = do_bsd_fchown(arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_lchown: /* lchown(2) */
+ ret = do_bsd_lchown(arg1, arg2, arg3);
+ break;
+
+ case TARGET_FREEBSD_NR_fchownat: /* fchownat(2) */
+ ret = do_bsd_fchownat(arg1, arg2, arg3, arg4, arg5);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 06/11] bsd-user: Implement chflags, lchflags and fchflags
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (4 preceding siblings ...)
2022-07-02 13:57 ` [PULL 05/11] bsd-user: Implement chown, fchown, lchown and fchownat Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 07/11] bsd-user: Implement chroot and flock Warner Losh
` (5 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 32 ++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 12 ++++++++++++
2 files changed, 44 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index ac171c409ca..a1c80428d98 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -816,4 +816,36 @@ static abi_long do_bsd_fchownat(abi_long arg1, abi_long arg2,
return ret;
}
+/* chflags(2) */
+static abi_long do_bsd_chflags(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(chflags(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* lchflags(2) */
+static abi_long do_bsd_lchflags(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(lchflags(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fchflags(2) */
+static abi_long do_bsd_fchflags(abi_long arg1, abi_long arg2)
+{
+ return get_errno(fchflags(arg1, arg2));
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index 8090666b0d9..06bc76a326b 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -447,6 +447,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_fchownat(arg1, arg2, arg3, arg4, arg5);
break;
+ case TARGET_FREEBSD_NR_chflags: /* chflags(2) */
+ ret = do_bsd_chflags(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_lchflags: /* lchflags(2) */
+ ret = do_bsd_lchflags(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_fchflags: /* fchflags(2) */
+ ret = do_bsd_fchflags(arg1, arg2);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 07/11] bsd-user: Implement chroot and flock
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (5 preceding siblings ...)
2022-07-02 13:57 ` [PULL 06/11] bsd-user: Implement chflags, lchflags and fchflags Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 08/11] bsd-user: Implement mkfifo and mkfifoat Warner Losh
` (4 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 19 +++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 8 ++++++++
2 files changed, 27 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index a1c80428d98..c24054fed11 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -848,4 +848,23 @@ static abi_long do_bsd_fchflags(abi_long arg1, abi_long arg2)
return get_errno(fchflags(arg1, arg2));
}
+/* chroot(2) */
+static abi_long do_bsd_chroot(abi_long arg1)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(chroot(p)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* flock(2) */
+static abi_long do_bsd_flock(abi_long arg1, abi_long arg2)
+{
+ return get_errno(flock(arg1, arg2));
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index 06bc76a326b..d252fb40737 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -459,6 +459,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_fchflags(arg1, arg2);
break;
+ case TARGET_FREEBSD_NR_chroot: /* chroot(2) */
+ ret = do_bsd_chroot(arg1);
+ break;
+
+ case TARGET_FREEBSD_NR_flock: /* flock(2) */
+ ret = do_bsd_flock(arg1, arg2);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 08/11] bsd-user: Implement mkfifo and mkfifoat
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (6 preceding siblings ...)
2022-07-02 13:57 ` [PULL 07/11] bsd-user: Implement chroot and flock Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 09/11] bsd-user: Implement pathconf, lpathconf and fpathconf Warner Losh
` (3 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 27 +++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 8 ++++++++
2 files changed, 35 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index c24054fed11..4b2f6dcc1dc 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -867,4 +867,31 @@ static abi_long do_bsd_flock(abi_long arg1, abi_long arg2)
return get_errno(flock(arg1, arg2));
}
+/* mkfifo(2) */
+static abi_long do_bsd_mkfifo(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(mkfifo(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* mkfifoat(2) */
+static abi_long do_bsd_mkfifoat(abi_long arg1, abi_long arg2,
+ abi_long arg3)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg2);
+ ret = get_errno(mkfifoat(arg1, p, arg3));
+ UNLOCK_PATH(p, arg2);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index d252fb40737..be225195fbd 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -467,6 +467,14 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_flock(arg1, arg2);
break;
+ case TARGET_FREEBSD_NR_mkfifo: /* mkfifo(2) */
+ ret = do_bsd_mkfifo(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_mkfifoat: /* mkfifoat(2) */
+ ret = do_bsd_mkfifoat(arg1, arg2, arg3);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 09/11] bsd-user: Implement pathconf, lpathconf and fpathconf
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (7 preceding siblings ...)
2022-07-02 13:57 ` [PULL 08/11] bsd-user: Implement mkfifo and mkfifoat Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 10/11] bsd-user: Implement undelete Warner Losh
` (2 subsequent siblings)
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 32 ++++++++++++++++++++++++++++++++
bsd-user/freebsd/os-syscall.c | 12 ++++++++++++
2 files changed, 44 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 4b2f6dcc1dc..065f576dfe8 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -894,4 +894,36 @@ static abi_long do_bsd_mkfifoat(abi_long arg1, abi_long arg2,
return ret;
}
+/* pathconf(2) */
+static abi_long do_bsd_pathconf(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(pathconf(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* lpathconf(2) */
+static abi_long do_bsd_lpathconf(abi_long arg1, abi_long arg2)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(lpathconf(p, arg2)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
+/* fpathconf(2) */
+static abi_long do_bsd_fpathconf(abi_long arg1, abi_long arg2)
+{
+ return get_errno(fpathconf(arg1, arg2));
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index be225195fbd..7de4c40bb16 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -475,6 +475,18 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_mkfifoat(arg1, arg2, arg3);
break;
+ case TARGET_FREEBSD_NR_pathconf: /* pathconf(2) */
+ ret = do_bsd_pathconf(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_lpathconf: /* lpathconf(2) */
+ ret = do_bsd_lpathconf(arg1, arg2);
+ break;
+
+ case TARGET_FREEBSD_NR_fpathconf: /* fpathconf(2) */
+ ret = do_bsd_fpathconf(arg1, arg2);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 10/11] bsd-user: Implement undelete
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (8 preceding siblings ...)
2022-07-02 13:57 ` [PULL 09/11] bsd-user: Implement pathconf, lpathconf and fpathconf Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-02 13:57 ` [PULL 11/11] bsd-user: Remove stray 'inline' from do_bsd_close Warner Losh
2022-07-03 0:58 ` [PULL 00/11] Bsd user syscall 2022q2b patches Richard Henderson
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Stacey Son, Richard Henderson
Signed-off-by: Stacey Son <sson@FreeBSD.org>
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 13 +++++++++++++
bsd-user/freebsd/os-syscall.c | 4 ++++
2 files changed, 17 insertions(+)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 065f576dfe8..108a5061850 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -926,4 +926,17 @@ static abi_long do_bsd_fpathconf(abi_long arg1, abi_long arg2)
return get_errno(fpathconf(arg1, arg2));
}
+/* undelete(2) */
+static abi_long do_bsd_undelete(abi_long arg1)
+{
+ abi_long ret;
+ void *p;
+
+ LOCK_PATH(p, arg1);
+ ret = get_errno(undelete(p)); /* XXX path(p)? */
+ UNLOCK_PATH(p, arg1);
+
+ return ret;
+}
+
#endif /* BSD_FILE_H */
diff --git a/bsd-user/freebsd/os-syscall.c b/bsd-user/freebsd/os-syscall.c
index 7de4c40bb16..57996cad8ae 100644
--- a/bsd-user/freebsd/os-syscall.c
+++ b/bsd-user/freebsd/os-syscall.c
@@ -487,6 +487,10 @@ static abi_long freebsd_syscall(void *cpu_env, int num, abi_long arg1,
ret = do_bsd_fpathconf(arg1, arg2);
break;
+ case TARGET_FREEBSD_NR_undelete: /* undelete(2) */
+ ret = do_bsd_undelete(arg1);
+ break;
+
default:
qemu_log_mask(LOG_UNIMP, "Unsupported syscall: %d\n", num);
ret = -TARGET_ENOSYS;
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PULL 11/11] bsd-user: Remove stray 'inline' from do_bsd_close
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (9 preceding siblings ...)
2022-07-02 13:57 ` [PULL 10/11] bsd-user: Implement undelete Warner Losh
@ 2022-07-02 13:57 ` Warner Losh
2022-07-03 0:58 ` [PULL 00/11] Bsd user syscall 2022q2b patches Richard Henderson
11 siblings, 0 replies; 13+ messages in thread
From: Warner Losh @ 2022-07-02 13:57 UTC (permalink / raw)
To: qemu-devel; +Cc: Kyle Evans, Warner Losh, Richard Henderson
In the last series, I inadvertantly didn't remove this inline, but did
all the others. Remove it for consistency.
Signed-off-by: Warner Losh <imp@bsdimp.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
---
bsd-user/bsd-file.h | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/bsd-user/bsd-file.h b/bsd-user/bsd-file.h
index 108a5061850..588e0c50d45 100644
--- a/bsd-user/bsd-file.h
+++ b/bsd-user/bsd-file.h
@@ -252,7 +252,7 @@ static abi_long do_bsd_openat(abi_long arg1, abi_long arg2,
}
/* close(2) */
-static inline abi_long do_bsd_close(abi_long arg1)
+static abi_long do_bsd_close(abi_long arg1)
{
return get_errno(close(arg1));
}
--
2.33.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PULL 00/11] Bsd user syscall 2022q2b patches
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
` (10 preceding siblings ...)
2022-07-02 13:57 ` [PULL 11/11] bsd-user: Remove stray 'inline' from do_bsd_close Warner Losh
@ 2022-07-03 0:58 ` Richard Henderson
11 siblings, 0 replies; 13+ messages in thread
From: Richard Henderson @ 2022-07-03 0:58 UTC (permalink / raw)
To: Warner Losh, qemu-devel; +Cc: Kyle Evans
On 7/2/22 19:26, Warner Losh wrote:
> The following changes since commit d495e432c04a6394126c35cf96517749708b410f:
>
> Merge tag 'pull-aspeed-20220630' of https://github.com/legoater/qemu into staging (2022-06-30 22:04:12 +0530)
>
> are available in the Git repository at:
>
> ssh://git@github.com/qemu-bsd-user/qemu-bsd-user.git tags/bsd-user-syscall-2022q2b-pull-request
>
> for you to fetch changes up to 3f1b0235f68ff74ebfd98b17626e4254c4345fa8:
>
> bsd-user: Remove stray 'inline' from do_bsd_close (2022-07-02 07:52:48 -0600)
>
> ----------------------------------------------------------------
> bsd-user: More file-related system calls
>
> A second round of mostly BSD-independent filesystem calls: mount, unmount,
> nmount, symlink, symlinkat, readlink, readlinkat, chmod, fchmod, lchmod,
> fchmodat, freebsd11_mknod, freebsd11_monodat, mknodat, chown, fchown, lchown,
> fchownat, chflags, lchflags, fchflags, chroot, flock, mkfifo, mkfifoat,
> pathconf, lpathconf, fpathconf, undelete.
>
> These are all non-reentrant system calls, so these wrappers are pretty simple
> and no safe_* versions need to be created.
Applied, thanks. Please update https://wiki.qemu.org/ChangeLog/7.1 as appropriate.
r~
>
> ----------------------------------------------------------------
>
> Warner Losh (11):
> bsd-user: Implement mount, umount and nmount
> bsd-user: Implement symlink, symlinkat, readlink and readlinkat
> bsd-user: implement chmod, fchmod, lchmod and fchmodat
> bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat
> bsd-user: Implement chown, fchown, lchown and fchownat
> bsd-user: Implement chflags, lchflags and fchflags
> bsd-user: Implement chroot and flock
> bsd-user: Implement mkfifo and mkfifoat
> bsd-user: Implement pathconf, lpathconf and fpathconf
> bsd-user: Implement undelete
> bsd-user: Remove stray 'inline' from do_bsd_close
>
> bsd-user/bsd-file.h | 392 +++++++++++++++++++++++++++++++++-
> bsd-user/freebsd/os-syscall.c | 118 ++++++++++
> 2 files changed, 509 insertions(+), 1 deletion(-)
>
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2022-07-03 0:59 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-07-02 13:56 [PULL 00/11] Bsd user syscall 2022q2b patches Warner Losh
2022-07-02 13:56 ` [PULL 01/11] bsd-user: Implement mount, umount and nmount Warner Losh
2022-07-02 13:56 ` [PULL 02/11] bsd-user: Implement symlink, symlinkat, readlink and readlinkat Warner Losh
2022-07-02 13:56 ` [PULL 03/11] bsd-user: implement chmod, fchmod, lchmod and fchmodat Warner Losh
2022-07-02 13:56 ` [PULL 04/11] bsd-user: Implement freebsd11_mknod, freebsd11_mknodat and mknodat Warner Losh
2022-07-02 13:57 ` [PULL 05/11] bsd-user: Implement chown, fchown, lchown and fchownat Warner Losh
2022-07-02 13:57 ` [PULL 06/11] bsd-user: Implement chflags, lchflags and fchflags Warner Losh
2022-07-02 13:57 ` [PULL 07/11] bsd-user: Implement chroot and flock Warner Losh
2022-07-02 13:57 ` [PULL 08/11] bsd-user: Implement mkfifo and mkfifoat Warner Losh
2022-07-02 13:57 ` [PULL 09/11] bsd-user: Implement pathconf, lpathconf and fpathconf Warner Losh
2022-07-02 13:57 ` [PULL 10/11] bsd-user: Implement undelete Warner Losh
2022-07-02 13:57 ` [PULL 11/11] bsd-user: Remove stray 'inline' from do_bsd_close Warner Losh
2022-07-03 0:58 ` [PULL 00/11] Bsd user syscall 2022q2b patches Richard Henderson
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.