diff options
-rw-r--r-- | sys/compat/freebsd32/freebsd32_misc.c | 17 | ||||
-rw-r--r-- | sys/compat/freebsd32/syscalls.master | 17 | ||||
-rw-r--r-- | sys/kern/syscalls.master | 2 |
3 files changed, 16 insertions, 20 deletions
diff --git a/sys/compat/freebsd32/freebsd32_misc.c b/sys/compat/freebsd32/freebsd32_misc.c index 0080a45a7fcc..3c2cdec819b0 100644 --- a/sys/compat/freebsd32/freebsd32_misc.c +++ b/sys/compat/freebsd32/freebsd32_misc.c @@ -463,25 +463,14 @@ freebsd32_fexecve(struct thread *td, struct freebsd32_fexecve_args *uap) return (error); } -#if defined(COMPAT_FREEBSD11) -int -freebsd11_freebsd32_mknod(struct thread *td, - struct freebsd11_freebsd32_mknod_args *uap) -{ - - return (kern_mknodat(td, AT_FDCWD, uap->path, UIO_USERSPACE, uap->mode, - uap->dev)); -} int -freebsd11_freebsd32_mknodat(struct thread *td, - struct freebsd11_freebsd32_mknodat_args *uap) +freebsd32_mknodat(struct thread *td, struct freebsd32_mknodat_args *uap) { - return (kern_mknodat(td, uap->fd, uap->path, UIO_USERSPACE, uap->mode, - uap->dev)); + return (kern_mknodat(td, uap->fd, uap->path, UIO_USERSPACE, + uap->mode, PAIR32TO64(dev_t, uap->dev))); } -#endif /* COMPAT_FREEBSD11 */ int freebsd32_mprotect(struct thread *td, struct freebsd32_mprotect_args *uap) diff --git a/sys/compat/freebsd32/syscalls.master b/sys/compat/freebsd32/syscalls.master index 3fc446964d95..c7d53ff7675d 100644 --- a/sys/compat/freebsd32/syscalls.master +++ b/sys/compat/freebsd32/syscalls.master @@ -84,8 +84,8 @@ 11 AUE_NULL OBSOL execv 12 AUE_CHDIR NOPROTO { int chdir(const char *path); } 13 AUE_FCHDIR NOPROTO { int fchdir(int fd); } -14 AUE_MKNOD COMPAT11 { int freebsd32_mknod(const char *path, \ - int mode, int dev); } +14 AUE_MKNOD COMPAT11|NOPROTO { int mknod(const char *path, \ + int mode, uint32_t dev); } 15 AUE_CHMOD NOPROTO { int chmod(const char *path, mode_t mode); } 16 AUE_CHOWN NOPROTO { int chown(const char *path, int uid, int gid); } 17 AUE_NULL NOPROTO { void *break(char *nsize); } @@ -958,7 +958,7 @@ mode_t mode); } 497 AUE_MKFIFOAT NOPROTO { int mkfifoat(int fd, const char *path, \ mode_t mode); } -498 AUE_MKNODAT COMPAT11 { int freebsd32_mknodat(int fd, \ +498 AUE_MKNODAT COMPAT11|NOPROTO { int mknodat(int fd, \ const char *path, mode_t mode, \ uint32_t dev); } 499 AUE_OPENAT_RWTC NOPROTO { int openat(int fd, const char *path, \ @@ -1113,8 +1113,15 @@ long bufsize, int mode); } 558 AUE_FHSTATFS NOPROTO { int fhstatfs(const struct fhandle *u_fhp, \ struct statfs32 *buf); } -559 AUE_MKNODAT NOPROTO { int mknodat(int fd, const char *path, \ - mode_t mode, dev_t dev); } +#ifdef PAD64_REQUIRED +559 AUE_MKNODAT STD { int freebsd32_mknodat(int fd, \ + const char *path, mode_t mode, \ + int pad, uint32_t dev1, uint32_t dev2); } +#else +559 AUE_MKNODAT STD { int freebsd32_mknodat(int fd, \ + const char *path, mode_t mode, \ + uint32_t dev1, uint32_t dev2); } +#endif 560 AUE_KEVENT STD { int freebsd32_kevent(int fd, \ const struct kevent32 *changelist, \ int nchanges, \ diff --git a/sys/kern/syscalls.master b/sys/kern/syscalls.master index 3756bf5c797c..384f297dac27 100644 --- a/sys/kern/syscalls.master +++ b/sys/kern/syscalls.master @@ -163,7 +163,7 @@ int mknod( _In_z_ const char *path, int mode, - int dev + uint32_t dev ); } 15 AUE_CHMOD STD { |