Fix some bugs & typing problems.
This commit is contained in:
parent
1a86f1c724
commit
a396a097b7
@ -1,4 +1,4 @@
|
|||||||
$NetBSD: syscalls.master,v 1.11 1995/08/27 20:51:53 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.12 1995/09/07 21:49:02 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
@ -87,7 +87,7 @@
|
|||||||
43 STD { int linux_times(struct times *tms); }
|
43 STD { int linux_times(struct times *tms); }
|
||||||
44 UNIMPL linux_prof
|
44 UNIMPL linux_prof
|
||||||
45 STD { int linux_brk(char *nsize); }
|
45 STD { int linux_brk(char *nsize); }
|
||||||
46 NOARGS { int setgid(uid_t gid); }
|
46 NOARGS { int setgid(gid_t gid); }
|
||||||
47 NOARGS { gid_t getgid(void); }
|
47 NOARGS { gid_t getgid(void); }
|
||||||
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
||||||
49 NOARGS { uid_t geteuid(void); }
|
49 NOARGS { uid_t geteuid(void); }
|
||||||
@ -113,8 +113,8 @@
|
|||||||
struct linux_sigaction *osa); }
|
struct linux_sigaction *osa); }
|
||||||
68 STD { int linux_siggetmask(void); }
|
68 STD { int linux_siggetmask(void); }
|
||||||
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
||||||
70 NOARGS { int compat_43_setreuid(int ruid, int euid); }
|
70 STD { int linux_setreuid(int ruid, int euid); }
|
||||||
71 NOARGS { int compat_43_setregid(int rgid, int egid); }
|
71 STD { int linux_setregid(int rgid, int egid); }
|
||||||
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
||||||
int mask); }
|
int mask); }
|
||||||
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
||||||
@ -144,7 +144,7 @@
|
|||||||
92 STD { int linux_truncate(char *path, long length); }
|
92 STD { int linux_truncate(char *path, long length); }
|
||||||
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
||||||
94 NOARGS { int fchmod(int fd, int mode); }
|
94 NOARGS { int fchmod(int fd, int mode); }
|
||||||
95 NOARGS { int fchown(int fd, int uid, int gid); }
|
95 STD { int linux_fchown(int fd, int uid, int gid); }
|
||||||
96 NOARGS { int getpriority(int which, int who); }
|
96 NOARGS { int getpriority(int which, int who); }
|
||||||
97 NOARGS { int setpriority(int which, int who, int prio); }
|
97 NOARGS { int setpriority(int which, int who, int prio); }
|
||||||
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_break.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_break.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_file.c,v 1.9 1995/08/27 20:51:48 fvdl Exp $ */
|
/* $NetBSD: linux_file.c,v 1.10 1995/09/07 21:48:59 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -487,7 +487,7 @@ linux_lstat(p, uap, retval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following syscalls are only here because of the alternate path check.
|
* The following syscalls are mostly here because of the alternate path check.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
linux_access(p, uap, retval)
|
linux_access(p, uap, retval)
|
||||||
@ -521,7 +521,8 @@ linux_unlink(p, uap, retval)
|
|||||||
return unlink(p, uap, retval);
|
return unlink(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int linux_chdir(p, uap, retval)
|
int
|
||||||
|
linux_chdir(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_chdir_args /* {
|
struct linux_chdir_args /* {
|
||||||
syscallarg(char *) path;
|
syscallarg(char *) path;
|
||||||
@ -546,10 +547,19 @@ linux_mknod(p, uap, retval)
|
|||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
struct mkfifo_args bma;
|
||||||
|
|
||||||
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return mknod(p, uap, retval);
|
/*
|
||||||
|
* BSD handles FIFOs seperately
|
||||||
|
*/
|
||||||
|
if (SCARG(uap, mode) & S_IFIFO) {
|
||||||
|
SCARG(&bma, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bma, mode) = SCARG(uap, mode);
|
||||||
|
return mkfifo(p, uap, retval);
|
||||||
|
} else
|
||||||
|
return mknod(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -578,11 +588,39 @@ linux_chown(p, uap, retval)
|
|||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
|
struct chown_args bca;
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
|
||||||
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return chmod(p, uap, retval);
|
SCARG(&bca, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bca, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bca, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return chown(p, &bca, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_fchown(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_fchown_args /* {
|
||||||
|
syscallarg(int) fd;
|
||||||
|
syscallarg(int) uid;
|
||||||
|
syscallarg(int) gid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct fchown_args bfa;
|
||||||
|
|
||||||
|
SCARG(&bfa, fd) = SCARG(uap, fd);
|
||||||
|
SCARG(&bfa, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bfa, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return fchown(p, &bfa, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_llseek.c,v 1.9 1995/08/27 20:51:48 fvdl Exp $ */
|
/* $NetBSD: linux_llseek.c,v 1.10 1995/09/07 21:48:59 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -487,7 +487,7 @@ linux_lstat(p, uap, retval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following syscalls are only here because of the alternate path check.
|
* The following syscalls are mostly here because of the alternate path check.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
linux_access(p, uap, retval)
|
linux_access(p, uap, retval)
|
||||||
@ -521,7 +521,8 @@ linux_unlink(p, uap, retval)
|
|||||||
return unlink(p, uap, retval);
|
return unlink(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int linux_chdir(p, uap, retval)
|
int
|
||||||
|
linux_chdir(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_chdir_args /* {
|
struct linux_chdir_args /* {
|
||||||
syscallarg(char *) path;
|
syscallarg(char *) path;
|
||||||
@ -546,10 +547,19 @@ linux_mknod(p, uap, retval)
|
|||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
struct mkfifo_args bma;
|
||||||
|
|
||||||
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return mknod(p, uap, retval);
|
/*
|
||||||
|
* BSD handles FIFOs seperately
|
||||||
|
*/
|
||||||
|
if (SCARG(uap, mode) & S_IFIFO) {
|
||||||
|
SCARG(&bma, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bma, mode) = SCARG(uap, mode);
|
||||||
|
return mkfifo(p, uap, retval);
|
||||||
|
} else
|
||||||
|
return mknod(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -578,11 +588,39 @@ linux_chown(p, uap, retval)
|
|||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
|
struct chown_args bca;
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
|
||||||
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return chmod(p, uap, retval);
|
SCARG(&bca, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bca, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bca, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return chown(p, &bca, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_fchown(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_fchown_args /* {
|
||||||
|
syscallarg(int) fd;
|
||||||
|
syscallarg(int) uid;
|
||||||
|
syscallarg(int) gid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct fchown_args bfa;
|
||||||
|
|
||||||
|
SCARG(&bfa, fd) = SCARG(uap, fd);
|
||||||
|
SCARG(&bfa, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bfa, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return fchown(p, &bfa, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_misc.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_misc.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_misc_notalpha.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_misc_notalpha.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldmmap.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldmmap.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldolduname.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldolduname.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldselect.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldselect.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_olduname.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_olduname.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_pipe.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_pipe.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$NetBSD: syscalls.master,v 1.11 1995/08/27 20:51:53 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.12 1995/09/07 21:49:02 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
@ -87,7 +87,7 @@
|
|||||||
43 STD { int linux_times(struct times *tms); }
|
43 STD { int linux_times(struct times *tms); }
|
||||||
44 UNIMPL linux_prof
|
44 UNIMPL linux_prof
|
||||||
45 STD { int linux_brk(char *nsize); }
|
45 STD { int linux_brk(char *nsize); }
|
||||||
46 NOARGS { int setgid(uid_t gid); }
|
46 NOARGS { int setgid(gid_t gid); }
|
||||||
47 NOARGS { gid_t getgid(void); }
|
47 NOARGS { gid_t getgid(void); }
|
||||||
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
||||||
49 NOARGS { uid_t geteuid(void); }
|
49 NOARGS { uid_t geteuid(void); }
|
||||||
@ -113,8 +113,8 @@
|
|||||||
struct linux_sigaction *osa); }
|
struct linux_sigaction *osa); }
|
||||||
68 STD { int linux_siggetmask(void); }
|
68 STD { int linux_siggetmask(void); }
|
||||||
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
||||||
70 NOARGS { int compat_43_setreuid(int ruid, int euid); }
|
70 STD { int linux_setreuid(int ruid, int euid); }
|
||||||
71 NOARGS { int compat_43_setregid(int rgid, int egid); }
|
71 STD { int linux_setregid(int rgid, int egid); }
|
||||||
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
||||||
int mask); }
|
int mask); }
|
||||||
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
||||||
@ -144,7 +144,7 @@
|
|||||||
92 STD { int linux_truncate(char *path, long length); }
|
92 STD { int linux_truncate(char *path, long length); }
|
||||||
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
||||||
94 NOARGS { int fchmod(int fd, int mode); }
|
94 NOARGS { int fchmod(int fd, int mode); }
|
||||||
95 NOARGS { int fchown(int fd, int uid, int gid); }
|
95 STD { int linux_fchown(int fd, int uid, int gid); }
|
||||||
96 NOARGS { int getpriority(int which, int who); }
|
96 NOARGS { int getpriority(int which, int who); }
|
||||||
97 NOARGS { int setpriority(int which, int who, int prio); }
|
97 NOARGS { int setpriority(int which, int who, int prio); }
|
||||||
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_file.c,v 1.9 1995/08/27 20:51:48 fvdl Exp $ */
|
/* $NetBSD: linux_file.c,v 1.10 1995/09/07 21:48:59 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -487,7 +487,7 @@ linux_lstat(p, uap, retval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following syscalls are only here because of the alternate path check.
|
* The following syscalls are mostly here because of the alternate path check.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
linux_access(p, uap, retval)
|
linux_access(p, uap, retval)
|
||||||
@ -521,7 +521,8 @@ linux_unlink(p, uap, retval)
|
|||||||
return unlink(p, uap, retval);
|
return unlink(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int linux_chdir(p, uap, retval)
|
int
|
||||||
|
linux_chdir(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_chdir_args /* {
|
struct linux_chdir_args /* {
|
||||||
syscallarg(char *) path;
|
syscallarg(char *) path;
|
||||||
@ -546,10 +547,19 @@ linux_mknod(p, uap, retval)
|
|||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
struct mkfifo_args bma;
|
||||||
|
|
||||||
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return mknod(p, uap, retval);
|
/*
|
||||||
|
* BSD handles FIFOs seperately
|
||||||
|
*/
|
||||||
|
if (SCARG(uap, mode) & S_IFIFO) {
|
||||||
|
SCARG(&bma, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bma, mode) = SCARG(uap, mode);
|
||||||
|
return mkfifo(p, uap, retval);
|
||||||
|
} else
|
||||||
|
return mknod(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -578,11 +588,39 @@ linux_chown(p, uap, retval)
|
|||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
|
struct chown_args bca;
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
|
||||||
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return chmod(p, uap, retval);
|
SCARG(&bca, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bca, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bca, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return chown(p, &bca, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_fchown(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_fchown_args /* {
|
||||||
|
syscallarg(int) fd;
|
||||||
|
syscallarg(int) uid;
|
||||||
|
syscallarg(int) gid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct fchown_args bfa;
|
||||||
|
|
||||||
|
SCARG(&bfa, fd) = SCARG(uap, fd);
|
||||||
|
SCARG(&bfa, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bfa, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return fchown(p, &bfa, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_misc.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_misc.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_break.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_break.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_llseek.c,v 1.9 1995/08/27 20:51:48 fvdl Exp $ */
|
/* $NetBSD: linux_llseek.c,v 1.10 1995/09/07 21:48:59 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -487,7 +487,7 @@ linux_lstat(p, uap, retval)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* The following syscalls are only here because of the alternate path check.
|
* The following syscalls are mostly here because of the alternate path check.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
linux_access(p, uap, retval)
|
linux_access(p, uap, retval)
|
||||||
@ -521,7 +521,8 @@ linux_unlink(p, uap, retval)
|
|||||||
return unlink(p, uap, retval);
|
return unlink(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int linux_chdir(p, uap, retval)
|
int
|
||||||
|
linux_chdir(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_chdir_args /* {
|
struct linux_chdir_args /* {
|
||||||
syscallarg(char *) path;
|
syscallarg(char *) path;
|
||||||
@ -546,10 +547,19 @@ linux_mknod(p, uap, retval)
|
|||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
struct mkfifo_args bma;
|
||||||
|
|
||||||
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_CREAT(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return mknod(p, uap, retval);
|
/*
|
||||||
|
* BSD handles FIFOs seperately
|
||||||
|
*/
|
||||||
|
if (SCARG(uap, mode) & S_IFIFO) {
|
||||||
|
SCARG(&bma, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bma, mode) = SCARG(uap, mode);
|
||||||
|
return mkfifo(p, uap, retval);
|
||||||
|
} else
|
||||||
|
return mknod(p, uap, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
@ -578,11 +588,39 @@ linux_chown(p, uap, retval)
|
|||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
{
|
{
|
||||||
|
struct chown_args bca;
|
||||||
caddr_t sg = stackgap_init(p->p_emul);
|
caddr_t sg = stackgap_init(p->p_emul);
|
||||||
|
|
||||||
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
LINUX_CHECK_ALT_EXIST(p, &sg, SCARG(uap, path));
|
||||||
|
|
||||||
return chmod(p, uap, retval);
|
SCARG(&bca, path) = SCARG(uap, path);
|
||||||
|
SCARG(&bca, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bca, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return chown(p, &bca, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_fchown(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_fchown_args /* {
|
||||||
|
syscallarg(int) fd;
|
||||||
|
syscallarg(int) uid;
|
||||||
|
syscallarg(int) gid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct fchown_args bfa;
|
||||||
|
|
||||||
|
SCARG(&bfa, fd) = SCARG(uap, fd);
|
||||||
|
SCARG(&bfa, uid) = ((linux_uid_t)SCARG(uap, uid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, uid);
|
||||||
|
SCARG(&bfa, gid) = ((linux_gid_t)SCARG(uap, gid) == (linux_gid_t)-1) ?
|
||||||
|
(gid_t)-1 : SCARG(uap, gid);
|
||||||
|
|
||||||
|
return fchown(p, &bfa, retval);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_misc_notalpha.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_misc_notalpha.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldmmap.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldmmap.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldolduname.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldolduname.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_oldselect.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_oldselect.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_olduname.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_olduname.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
/* $NetBSD: linux_pipe.c,v 1.17 1995/08/23 20:17:28 fvdl Exp $ */
|
/* $NetBSD: linux_pipe.c,v 1.18 1995/09/07 21:49:01 fvdl Exp $ */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Copyright (c) 1995 Frank van der Linden
|
* Copyright (c) 1995 Frank van der Linden
|
||||||
@ -126,6 +126,8 @@ linux_waitpid(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -170,6 +172,8 @@ linux_wait4(p, uap, retval)
|
|||||||
if ((error = wait4(p, &w4a, retval)))
|
if ((error = wait4(p, &w4a, retval)))
|
||||||
return error;
|
return error;
|
||||||
|
|
||||||
|
p->p_siglist &= ~sigmask(SIGCHLD);
|
||||||
|
|
||||||
if (status != NULL) {
|
if (status != NULL) {
|
||||||
if ((error = copyin(status, &tstat, sizeof tstat)))
|
if ((error = copyin(status, &tstat, sizeof tstat)))
|
||||||
return error;
|
return error;
|
||||||
@ -1009,7 +1013,7 @@ linux_getpgid(p, uap, retval)
|
|||||||
int
|
int
|
||||||
linux_personality(p, uap, retval)
|
linux_personality(p, uap, retval)
|
||||||
struct proc *p;
|
struct proc *p;
|
||||||
struct linux_personality_args /* P
|
struct linux_personality_args /* {
|
||||||
syscallarg(int) per;
|
syscallarg(int) per;
|
||||||
} */ *uap;
|
} */ *uap;
|
||||||
register_t *retval;
|
register_t *retval;
|
||||||
@ -1019,3 +1023,44 @@ linux_personality(p, uap, retval)
|
|||||||
retval[0] = 0;
|
retval[0] = 0;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* The calls are here because of type conversions.
|
||||||
|
*/
|
||||||
|
int
|
||||||
|
linux_setreuid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setreuid_args /* {
|
||||||
|
syscallarg(int) ruid;
|
||||||
|
syscallarg(int) euid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setreuid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, ruid) = ((linux_uid_t)SCARG(uap, ruid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, ruid);
|
||||||
|
SCARG(&bsa, euid) = ((linux_uid_t)SCARG(uap, euid) == (linux_uid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, euid);
|
||||||
|
|
||||||
|
return compat_43_setreuid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
linux_setregid(p, uap, retval)
|
||||||
|
struct proc *p;
|
||||||
|
struct linux_setregid_args /* {
|
||||||
|
syscallarg(int) rgid;
|
||||||
|
syscallarg(int) egid;
|
||||||
|
} */ *uap;
|
||||||
|
register_t *retval;
|
||||||
|
{
|
||||||
|
struct compat_43_setregid_args bsa;
|
||||||
|
|
||||||
|
SCARG(&bsa, rgid) = ((linux_gid_t)SCARG(uap, rgid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, rgid);
|
||||||
|
SCARG(&bsa, egid) = ((linux_gid_t)SCARG(uap, egid) == (linux_gid_t)-1) ?
|
||||||
|
(uid_t)-1 : SCARG(uap, egid);
|
||||||
|
|
||||||
|
return compat_43_setregid(p, &bsa, retval);
|
||||||
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
$NetBSD: syscalls.master,v 1.11 1995/08/27 20:51:53 fvdl Exp $
|
$NetBSD: syscalls.master,v 1.12 1995/09/07 21:49:02 fvdl Exp $
|
||||||
|
|
||||||
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
; @(#)syscalls.master 8.1 (Berkeley) 7/19/93
|
||||||
|
|
||||||
@ -87,7 +87,7 @@
|
|||||||
43 STD { int linux_times(struct times *tms); }
|
43 STD { int linux_times(struct times *tms); }
|
||||||
44 UNIMPL linux_prof
|
44 UNIMPL linux_prof
|
||||||
45 STD { int linux_brk(char *nsize); }
|
45 STD { int linux_brk(char *nsize); }
|
||||||
46 NOARGS { int setgid(uid_t gid); }
|
46 NOARGS { int setgid(gid_t gid); }
|
||||||
47 NOARGS { gid_t getgid(void); }
|
47 NOARGS { gid_t getgid(void); }
|
||||||
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
48 STD { int linux_signal(int sig, linux_handler_t handler); }
|
||||||
49 NOARGS { uid_t geteuid(void); }
|
49 NOARGS { uid_t geteuid(void); }
|
||||||
@ -113,8 +113,8 @@
|
|||||||
struct linux_sigaction *osa); }
|
struct linux_sigaction *osa); }
|
||||||
68 STD { int linux_siggetmask(void); }
|
68 STD { int linux_siggetmask(void); }
|
||||||
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
69 STD { int linux_sigsetmask(linux_sigset_t mask); }
|
||||||
70 NOARGS { int compat_43_setreuid(int ruid, int euid); }
|
70 STD { int linux_setreuid(int ruid, int euid); }
|
||||||
71 NOARGS { int compat_43_setregid(int rgid, int egid); }
|
71 STD { int linux_setregid(int rgid, int egid); }
|
||||||
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
72 STD { int linux_sigsuspend(caddr_t restart, int oldmask, \
|
||||||
int mask); }
|
int mask); }
|
||||||
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
73 STD { int linux_sigpending(linux_sigset_t *mask); }
|
||||||
@ -144,7 +144,7 @@
|
|||||||
92 STD { int linux_truncate(char *path, long length); }
|
92 STD { int linux_truncate(char *path, long length); }
|
||||||
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
93 NOARGS { int compat_43_ftruncate(int fd, long length); }
|
||||||
94 NOARGS { int fchmod(int fd, int mode); }
|
94 NOARGS { int fchmod(int fd, int mode); }
|
||||||
95 NOARGS { int fchown(int fd, int uid, int gid); }
|
95 STD { int linux_fchown(int fd, int uid, int gid); }
|
||||||
96 NOARGS { int getpriority(int which, int who); }
|
96 NOARGS { int getpriority(int which, int who); }
|
||||||
97 NOARGS { int setpriority(int which, int who, int prio); }
|
97 NOARGS { int setpriority(int which, int who, int prio); }
|
||||||
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
98 NOARGS { int profil(caddr_t samples, u_int size, \
|
||||||
|
Loading…
x
Reference in New Issue
Block a user