Index: sys/compat/freebsd32/freebsd32_misc.c =================================================================== --- sys/compat/freebsd32/freebsd32_misc.c +++ sys/compat/freebsd32/freebsd32_misc.c @@ -2593,25 +2593,13 @@ return (sys_cpuset_setaffinity(td, &ap)); } -int -freebsd32_nmount(struct thread *td, - struct freebsd32_nmount_args /* { - struct iovec *iovp; - unsigned int iovcnt; - int flags; - } */ *uap) +static int +freebsd32_kern_nmount(struct thread *td, struct iovec32 *iovp, + unsigned int iovcnt, int flags) { struct uio *auio; - uint64_t flags; int error; - /* - * Mount flags are now 64-bits. On 32-bit archtectures only - * 32-bits are passed in, but from here on everything handles - * 64-bit flags correctly. - */ - flags = uap->flags; - AUDIT_ARG_FFLAGS(flags); /* @@ -2627,10 +2615,10 @@ * check that we have an even number of iovec's * and that we have at least two options. */ - if ((uap->iovcnt & 1) || (uap->iovcnt < 4)) + if ((iovcnt & 1) || (iovcnt < 4)) return (EINVAL); - error = freebsd32_copyinuio(uap->iovp, uap->iovcnt, &auio); + error = freebsd32_copyinuio(iovp, iovcnt, &auio); if (error) return (error); error = vfs_donmount(td, flags, auio); @@ -2639,6 +2627,35 @@ return error; } +int +freebsd32_nmount(struct thread *td, + struct freebsd32_nmount_args /* { + struct iovec32 *iovp; + unsigned int iovcnt; + uint64_t flags; + } */ *uap) +{ + + return (freebsd32_kern_nmount(td, uap->iovp, uap->iovcnt, uap->flags)); +} + +int +freebsd32_onmount(struct thread *td, + struct freebsd32_onmount_args /* { + struct iovec32 *iovp; + unsigned int iovcnt; + int flags; + } */ *uap) +{ + + /* + * Mount flags are now 64-bits. On 32-bit archtectures only + * 32-bits are passed in, but from here on everything handles + * 64-bit flags correctly. + */ + return (freebsd32_kern_nmount(td, uap->iovp, uap->iovcnt, uap->flags)); +} + #if 0 int freebsd32_xxx(struct thread *td, struct freebsd32_xxx_args *uap) Index: sys/compat/freebsd32/freebsd32_proto.h =================================================================== --- sys/compat/freebsd32/freebsd32_proto.h +++ sys/compat/freebsd32/freebsd32_proto.h @@ -328,7 +328,7 @@ char nevents_l_[PADL_(int)]; int nevents; char nevents_r_[PADR_(int)]; char timeout_l_[PADL_(const struct timespec32 *)]; const struct timespec32 * timeout; char timeout_r_[PADR_(const struct timespec32 *)]; }; -struct freebsd32_nmount_args { +struct freebsd32_onmount_args { char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)]; char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; @@ -703,6 +703,11 @@ char times_l_[PADL_(struct timespec *)]; struct timespec * times; char times_r_[PADR_(struct timespec *)]; char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)]; }; +struct freebsd32_nmount_args { + char iovp_l_[PADL_(struct iovec32 *)]; struct iovec32 * iovp; char iovp_r_[PADR_(struct iovec32 *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(uint64_t)]; uint64_t flags; char flags_r_[PADR_(uint64_t)]; +}; #if !defined(PAD64_REQUIRED) && (defined(__powerpc__) || defined(__mips__)) #define PAD64_REQUIRED #endif @@ -765,7 +770,7 @@ int freebsd32_sigwaitinfo(struct thread *, struct freebsd32_sigwaitinfo_args *); int freebsd32_aio_waitcomplete(struct thread *, struct freebsd32_aio_waitcomplete_args *); int freebsd32_kevent(struct thread *, struct freebsd32_kevent_args *); -int freebsd32_nmount(struct thread *, struct freebsd32_nmount_args *); +int freebsd32_onmount(struct thread *, struct freebsd32_onmount_args *); int freebsd32_sendfile(struct thread *, struct freebsd32_sendfile_args *); int freebsd32_ksem_init(struct thread *, struct freebsd32_ksem_init_args *); int freebsd32_ksem_open(struct thread *, struct freebsd32_ksem_open_args *); @@ -837,6 +842,7 @@ int freebsd32_ppoll(struct thread *, struct freebsd32_ppoll_args *); int freebsd32_futimens(struct thread *, struct freebsd32_futimens_args *); int freebsd32_utimensat(struct thread *, struct freebsd32_utimensat_args *); +int freebsd32_nmount(struct thread *, struct freebsd32_nmount_args *); #ifdef COMPAT_43 @@ -1194,7 +1200,7 @@ #define FREEBSD32_SYS_AUE_freebsd32_sigwaitinfo AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_aio_waitcomplete AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_kevent AUE_NULL -#define FREEBSD32_SYS_AUE_freebsd32_nmount AUE_NMOUNT +#define FREEBSD32_SYS_AUE_freebsd32_onmount AUE_NMOUNT #define FREEBSD32_SYS_AUE_freebsd32_sendfile AUE_SENDFILE #define FREEBSD32_SYS_AUE_freebsd32_ksem_init AUE_NULL #define FREEBSD32_SYS_AUE_freebsd32_ksem_open AUE_NULL @@ -1254,6 +1260,7 @@ #define FREEBSD32_SYS_AUE_freebsd32_ppoll AUE_POLL #define FREEBSD32_SYS_AUE_freebsd32_futimens AUE_FUTIMES #define FREEBSD32_SYS_AUE_freebsd32_utimensat AUE_FUTIMESAT +#define FREEBSD32_SYS_AUE_freebsd32_nmount AUE_NMOUNT #undef PAD_ #undef PADL_ Index: sys/compat/freebsd32/freebsd32_syscall.h =================================================================== --- sys/compat/freebsd32/freebsd32_syscall.h +++ sys/compat/freebsd32/freebsd32_syscall.h @@ -305,7 +305,7 @@ #define FREEBSD32_SYS_extattr_delete_fd 373 #define FREEBSD32_SYS___setugid 374 #define FREEBSD32_SYS_eaccess 376 -#define FREEBSD32_SYS_freebsd32_nmount 378 +#define FREEBSD32_SYS_freebsd32_onmount 378 #define FREEBSD32_SYS_kenv 390 #define FREEBSD32_SYS_lchflags 391 #define FREEBSD32_SYS_uuidgen 392 @@ -455,4 +455,5 @@ #define FREEBSD32_SYS_freebsd32_ppoll 545 #define FREEBSD32_SYS_freebsd32_futimens 546 #define FREEBSD32_SYS_freebsd32_utimensat 547 -#define FREEBSD32_SYS_MAXSYSCALL 548 +#define FREEBSD32_SYS_freebsd32_nmount 548 +#define FREEBSD32_SYS_MAXSYSCALL 549 Index: sys/compat/freebsd32/freebsd32_syscalls.c =================================================================== --- sys/compat/freebsd32/freebsd32_syscalls.c +++ sys/compat/freebsd32/freebsd32_syscalls.c @@ -388,7 +388,7 @@ "#375", /* 375 = nfsclnt */ "eaccess", /* 376 = eaccess */ "#377", /* 377 = afs_syscall */ - "freebsd32_nmount", /* 378 = freebsd32_nmount */ + "freebsd32_onmount", /* 378 = freebsd32_onmount */ "#379", /* 379 = kse_exit */ "#380", /* 380 = kse_wakeup */ "#381", /* 381 = kse_create */ @@ -581,4 +581,5 @@ "freebsd32_ppoll", /* 545 = freebsd32_ppoll */ "freebsd32_futimens", /* 546 = freebsd32_futimens */ "freebsd32_utimensat", /* 547 = freebsd32_utimensat */ + "freebsd32_nmount", /* 548 = freebsd32_nmount */ }; Index: sys/compat/freebsd32/freebsd32_sysent.c =================================================================== --- sys/compat/freebsd32/freebsd32_sysent.c +++ sys/compat/freebsd32/freebsd32_sysent.c @@ -425,7 +425,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 375 = nfsclnt */ { AS(eaccess_args), (sy_call_t *)sys_eaccess, AUE_EACCESS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 376 = eaccess */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 377 = afs_syscall */ - { AS(freebsd32_nmount_args), (sy_call_t *)freebsd32_nmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 378 = freebsd32_nmount */ + { AS(freebsd32_onmount_args), (sy_call_t *)freebsd32_onmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 378 = freebsd32_onmount */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 379 = kse_exit */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 380 = kse_wakeup */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 381 = kse_create */ @@ -618,4 +618,5 @@ { AS(freebsd32_ppoll_args), (sy_call_t *)freebsd32_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = freebsd32_ppoll */ { AS(freebsd32_futimens_args), (sy_call_t *)freebsd32_futimens, AUE_FUTIMES, NULL, 0, 0, 0, SY_THR_STATIC }, /* 546 = freebsd32_futimens */ { AS(freebsd32_utimensat_args), (sy_call_t *)freebsd32_utimensat, AUE_FUTIMESAT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 547 = freebsd32_utimensat */ + { AS(freebsd32_nmount_args), (sy_call_t *)freebsd32_nmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 548 = freebsd32_nmount */ }; Index: sys/compat/freebsd32/freebsd32_systrace_args.c =================================================================== --- sys/compat/freebsd32/freebsd32_systrace_args.c +++ sys/compat/freebsd32/freebsd32_systrace_args.c @@ -1944,9 +1944,9 @@ *n_args = 2; break; } - /* freebsd32_nmount */ + /* freebsd32_onmount */ case 378: { - struct freebsd32_nmount_args *p = params; + struct freebsd32_onmount_args *p = params; uarg[0] = (intptr_t) p->iovp; /* struct iovec32 * */ uarg[1] = p->iovcnt; /* unsigned int */ iarg[2] = p->flags; /* int */ @@ -3327,6 +3327,15 @@ *n_args = 4; break; } + /* freebsd32_nmount */ + case 548: { + struct freebsd32_nmount_args *p = params; + uarg[0] = (intptr_t) p->iovp; /* struct iovec32 * */ + uarg[1] = p->iovcnt; /* unsigned int */ + uarg[2] = p->flags; /* uint64_t */ + *n_args = 3; + break; + } default: *n_args = 0; break; @@ -6438,7 +6447,7 @@ break; }; break; - /* freebsd32_nmount */ + /* freebsd32_onmount */ case 378: switch(ndx) { case 0: @@ -8923,6 +8932,22 @@ break; }; break; + /* freebsd32_nmount */ + case 548: + switch(ndx) { + case 0: + p = "struct iovec32 *"; + break; + case 1: + p = "unsigned int"; + break; + case 2: + p = "uint64_t"; + break; + default: + break; + }; + break; default: break; }; @@ -10057,7 +10082,7 @@ if (ndx == 0 || ndx == 1) p = "int"; break; - /* freebsd32_nmount */ + /* freebsd32_onmount */ case 378: if (ndx == 0 || ndx == 1) p = "int"; @@ -10811,6 +10836,11 @@ if (ndx == 0 || ndx == 1) p = "int"; break; + /* freebsd32_nmount */ + case 548: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; Index: sys/compat/freebsd32/syscalls.master =================================================================== --- sys/compat/freebsd32/syscalls.master +++ sys/compat/freebsd32/syscalls.master @@ -686,7 +686,7 @@ 375 AUE_NULL UNIMPL nfsclnt 376 AUE_EACCESS NOPROTO { int eaccess(char *path, int amode); } 377 AUE_NULL UNIMPL afs_syscall -378 AUE_NMOUNT STD { int freebsd32_nmount(struct iovec32 *iovp, \ +378 AUE_NMOUNT STD { int freebsd32_onmount(struct iovec32 *iovp, \ unsigned int iovcnt, int flags); } 379 AUE_NULL UNIMPL kse_exit 380 AUE_NULL UNIMPL kse_wakeup @@ -1074,3 +1074,5 @@ 547 AUE_FUTIMESAT STD { int freebsd32_utimensat(int fd, \ char *path, \ struct timespec *times, int flag); } +548 AUE_NMOUNT STD { int freebsd32_nmount(struct iovec32 *iovp, \ + unsigned int iovcnt, uint64_t flags); } Index: sys/kern/init_sysent.c =================================================================== --- sys/kern/init_sysent.c +++ sys/kern/init_sysent.c @@ -418,7 +418,7 @@ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 375 = nfsclnt */ { AS(eaccess_args), (sy_call_t *)sys_eaccess, AUE_EACCESS, NULL, 0, 0, 0, SY_THR_STATIC }, /* 376 = eaccess */ { AS(afs3_syscall_args), (sy_call_t *)lkmressys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 377 = afs3_syscall */ - { AS(nmount_args), (sy_call_t *)sys_nmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 378 = nmount */ + { AS(onmount_args), (sy_call_t *)sys_onmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 378 = onmount */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 379 = kse_exit */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 380 = kse_wakeup */ { 0, (sy_call_t *)nosys, AUE_NULL, NULL, 0, 0, 0, SY_THR_ABSENT }, /* 381 = kse_create */ @@ -588,4 +588,5 @@ { AS(ppoll_args), (sy_call_t *)sys_ppoll, AUE_POLL, NULL, 0, 0, 0, SY_THR_STATIC }, /* 545 = ppoll */ { AS(futimens_args), (sy_call_t *)sys_futimens, AUE_FUTIMES, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 546 = futimens */ { AS(utimensat_args), (sy_call_t *)sys_utimensat, AUE_FUTIMESAT, NULL, 0, 0, SYF_CAPENABLED, SY_THR_STATIC }, /* 547 = utimensat */ + { AS(nmount_args), (sy_call_t *)sys_nmount, AUE_NMOUNT, NULL, 0, 0, 0, SY_THR_STATIC }, /* 548 = nmount */ }; Index: sys/kern/syscalls.c =================================================================== --- sys/kern/syscalls.c +++ sys/kern/syscalls.c @@ -385,7 +385,7 @@ "#375", /* 375 = nfsclnt */ "eaccess", /* 376 = eaccess */ "afs3_syscall", /* 377 = afs3_syscall */ - "nmount", /* 378 = nmount */ + "onmount", /* 378 = onmount */ "#379", /* 379 = kse_exit */ "#380", /* 380 = kse_wakeup */ "#381", /* 381 = kse_create */ @@ -555,4 +555,5 @@ "ppoll", /* 545 = ppoll */ "futimens", /* 546 = futimens */ "utimensat", /* 547 = utimensat */ + "nmount", /* 548 = nmount */ }; Index: sys/kern/syscalls.master =================================================================== --- sys/kern/syscalls.master +++ sys/kern/syscalls.master @@ -677,7 +677,7 @@ 377 AUE_NULL NOSTD|NOTSTATIC { int afs3_syscall(long syscall, \ long parm1, long parm2, long parm3, \ long parm4, long parm5, long parm6); } -378 AUE_NMOUNT STD { int nmount(struct iovec *iovp, \ +378 AUE_NMOUNT STD { int onmount(struct iovec *iovp, \ unsigned int iovcnt, int flags); } 379 AUE_NULL UNIMPL kse_exit 380 AUE_NULL UNIMPL kse_wakeup @@ -988,5 +988,7 @@ 547 AUE_FUTIMESAT STD { int utimensat(int fd, \ char *path, \ struct timespec *times, int flag); } +548 AUE_NMOUNT STD { int nmount(struct iovec *iovp, \ + unsigned int iovcnt, uint64_t flags); } ; Please copy any additions and changes to the following compatability tables: ; sys/compat/freebsd32/syscalls.master Index: sys/kern/systrace_args.c =================================================================== --- sys/kern/systrace_args.c +++ sys/kern/systrace_args.c @@ -2002,9 +2002,9 @@ *n_args = 7; break; } - /* nmount */ + /* onmount */ case 378: { - struct nmount_args *p = params; + struct onmount_args *p = params; uarg[0] = (intptr_t) p->iovp; /* struct iovec * */ uarg[1] = p->iovcnt; /* unsigned int */ iarg[2] = p->flags; /* int */ @@ -3337,6 +3337,15 @@ *n_args = 4; break; } + /* nmount */ + case 548: { + struct nmount_args *p = params; + uarg[0] = (intptr_t) p->iovp; /* struct iovec * */ + uarg[1] = p->iovcnt; /* unsigned int */ + uarg[2] = p->flags; /* uint64_t */ + *n_args = 3; + break; + } default: *n_args = 0; break; @@ -6551,7 +6560,7 @@ break; }; break; - /* nmount */ + /* onmount */ case 378: switch(ndx) { case 0: @@ -8883,6 +8892,22 @@ break; }; break; + /* nmount */ + case 548: + switch(ndx) { + case 0: + p = "struct iovec *"; + break; + case 1: + p = "unsigned int"; + break; + case 2: + p = "uint64_t"; + break; + default: + break; + }; + break; default: break; }; @@ -10049,7 +10074,7 @@ if (ndx == 0 || ndx == 1) p = "int"; break; - /* nmount */ + /* onmount */ case 378: if (ndx == 0 || ndx == 1) p = "int"; @@ -10806,6 +10831,11 @@ if (ndx == 0 || ndx == 1) p = "int"; break; + /* nmount */ + case 548: + if (ndx == 0 || ndx == 1) + p = "int"; + break; default: break; }; Index: sys/kern/vfs_mount.c =================================================================== --- sys/kern/vfs_mount.c +++ sys/kern/vfs_mount.c @@ -363,30 +363,16 @@ /* * Mount a filesystem. */ -int -sys_nmount(td, uap) - struct thread *td; - struct nmount_args /* { - struct iovec *iovp; - unsigned int iovcnt; - int flags; - } */ *uap; +static int +kern_nmount(struct thread *td, struct iovec *iovp, unsigned int iovcnt, + uint64_t flags) { struct uio *auio; int error; - u_int iovcnt; - uint64_t flags; - - /* - * Mount flags are now 64-bits. On 32-bit archtectures only - * 32-bits are passed in, but from here on everything handles - * 64-bit flags correctly. - */ - flags = uap->flags; AUDIT_ARG_FFLAGS(flags); CTR4(KTR_VFS, "%s: iovp %p with iovcnt %d and flags %d", __func__, - uap->iovp, uap->iovcnt, flags); + iovp, iovcnt, flags); /* * Filter out MNT_ROOTFS. We do not want clients of nmount() in @@ -397,18 +383,17 @@ */ flags &= ~MNT_ROOTFS; - iovcnt = uap->iovcnt; /* * Check that we have an even number of iovec's * and that we have at least two options. */ if ((iovcnt & 1) || (iovcnt < 4)) { CTR2(KTR_VFS, "%s: failed for invalid iovcnt %d", __func__, - uap->iovcnt); + iovcnt); return (EINVAL); } - error = copyinuio(uap->iovp, iovcnt, &auio); + error = copyinuio(iovp, iovcnt, &auio); if (error) { CTR2(KTR_VFS, "%s: failed for invalid uio op with %d errno", __func__, error); @@ -420,6 +405,37 @@ return (error); } +int +sys_nmount(td, uap) + struct thread *td; + struct nmount_args /* { + struct iovec *iovp; + unsigned int iovcnt; + uint64_t flags; + } */ *uap; +{ + + return (kern_nmount(td, uap->iovp, uap->iovcnt, uap->flags)); +} + +int +sys_onmount(td, uap) + struct thread *td; + struct onmount_args /* { + struct iovec *iovp; + unsigned int iovcnt; + int flags; + } */ *uap; +{ + + /* + * Mount flags are now 64-bits. On 32-bit archtectures only + * 32-bits are passed in, but from here on everything handles + * 64-bit flags correctly. + */ + return (kern_nmount(td, uap->iovp, uap->iovcnt, uap->flags)); +} + /* * --------------------------------------------------------------------- * Various utility functions Index: sys/sys/syscall.h =================================================================== --- sys/sys/syscall.h +++ sys/sys/syscall.h @@ -312,7 +312,7 @@ #define SYS___setugid 374 #define SYS_eaccess 376 #define SYS_afs3_syscall 377 -#define SYS_nmount 378 +#define SYS_onmount 378 #define SYS___mac_get_proc 384 #define SYS___mac_set_proc 385 #define SYS___mac_get_fd 386 @@ -465,4 +465,5 @@ #define SYS_ppoll 545 #define SYS_futimens 546 #define SYS_utimensat 547 -#define SYS_MAXSYSCALL 548 +#define SYS_nmount 548 +#define SYS_MAXSYSCALL 549 Index: sys/sys/syscall.mk =================================================================== --- sys/sys/syscall.mk +++ sys/sys/syscall.mk @@ -261,7 +261,7 @@ __setugid.o \ eaccess.o \ afs3_syscall.o \ - nmount.o \ + onmount.o \ __mac_get_proc.o \ __mac_set_proc.o \ __mac_get_fd.o \ @@ -412,4 +412,5 @@ procctl.o \ ppoll.o \ futimens.o \ - utimensat.o + utimensat.o \ + nmount.o Index: sys/sys/sysproto.h =================================================================== --- sys/sys/sysproto.h +++ sys/sys/sysproto.h @@ -1061,7 +1061,7 @@ char parm5_l_[PADL_(long)]; long parm5; char parm5_r_[PADR_(long)]; char parm6_l_[PADL_(long)]; long parm6; char parm6_r_[PADR_(long)]; }; -struct nmount_args { +struct onmount_args { char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; char flags_l_[PADL_(int)]; int flags; char flags_r_[PADR_(int)]; @@ -1790,6 +1790,11 @@ char times_l_[PADL_(struct timespec *)]; struct timespec * times; char times_r_[PADR_(struct timespec *)]; char flag_l_[PADL_(int)]; int flag; char flag_r_[PADR_(int)]; }; +struct nmount_args { + char iovp_l_[PADL_(struct iovec *)]; struct iovec * iovp; char iovp_r_[PADR_(struct iovec *)]; + char iovcnt_l_[PADL_(unsigned int)]; unsigned int iovcnt; char iovcnt_r_[PADR_(unsigned int)]; + char flags_l_[PADL_(uint64_t)]; uint64_t flags; char flags_r_[PADR_(uint64_t)]; +}; int nosys(struct thread *, struct nosys_args *); void sys_sys_exit(struct thread *, struct sys_exit_args *); int sys_fork(struct thread *, struct fork_args *); @@ -2026,7 +2031,7 @@ int sys___setugid(struct thread *, struct __setugid_args *); int sys_eaccess(struct thread *, struct eaccess_args *); int sys_afs3_syscall(struct thread *, struct afs3_syscall_args *); -int sys_nmount(struct thread *, struct nmount_args *); +int sys_onmount(struct thread *, struct onmount_args *); int sys___mac_get_proc(struct thread *, struct __mac_get_proc_args *); int sys___mac_set_proc(struct thread *, struct __mac_set_proc_args *); int sys___mac_get_fd(struct thread *, struct __mac_get_fd_args *); @@ -2178,6 +2183,7 @@ int sys_ppoll(struct thread *, struct ppoll_args *); int sys_futimens(struct thread *, struct futimens_args *); int sys_utimensat(struct thread *, struct utimensat_args *); +int sys_nmount(struct thread *, struct nmount_args *); #ifdef COMPAT_43 @@ -2779,7 +2785,7 @@ #define SYS_AUE___setugid AUE_NULL #define SYS_AUE_eaccess AUE_EACCESS #define SYS_AUE_afs3_syscall AUE_NULL -#define SYS_AUE_nmount AUE_NMOUNT +#define SYS_AUE_onmount AUE_NMOUNT #define SYS_AUE___mac_get_proc AUE_NULL #define SYS_AUE___mac_set_proc AUE_NULL #define SYS_AUE___mac_get_fd AUE_NULL @@ -2931,6 +2937,7 @@ #define SYS_AUE_ppoll AUE_POLL #define SYS_AUE_futimens AUE_FUTIMES #define SYS_AUE_utimensat AUE_FUTIMESAT +#define SYS_AUE_nmount AUE_NMOUNT #undef PAD_ #undef PADL_