* [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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).