projects
/
powerpc.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/voyager-2.6
[powerpc.git]
/
arch
/
sparc64
/
kernel
/
sys_sunos32.c
diff --git
a/arch/sparc64/kernel/sys_sunos32.c
b/arch/sparc64/kernel/sys_sunos32.c
index
4446f66
..
8f7a06e
100644
(file)
--- a/
arch/sparc64/kernel/sys_sunos32.c
+++ b/
arch/sparc64/kernel/sys_sunos32.c
@@
-824,10
+824,17
@@
asmlinkage int sunos_wait4(compat_pid_t pid, compat_uint_t __user *stat_addr, in
return ret;
}
return ret;
}
-extern int kill_pg(int, int, int);
asmlinkage int sunos_killpg(int pgrp, int sig)
{
asmlinkage int sunos_killpg(int pgrp, int sig)
{
- return kill_pg(pgrp, sig, 0);
+ int ret;
+
+ rcu_read_lock();
+ ret = -EINVAL;
+ if (pgrp > 0)
+ ret = kill_pgrp(find_pid(pgrp), sig, 0);
+ rcu_read_unlock();
+
+ return ret;
}
asmlinkage int sunos_audit(void)
}
asmlinkage int sunos_audit(void)
@@
-864,7
+871,7
@@
asmlinkage s32 sunos_sysconf (int name)
ret = ARG_MAX;
break;
case _SC_CHILD_MAX:
ret = ARG_MAX;
break;
case _SC_CHILD_MAX:
- ret =
-1; /* no limit */
+ ret =
current->signal->rlim[RLIMIT_NPROC].rlim_cur;
break;
case _SC_CLK_TCK:
ret = HZ;
break;
case _SC_CLK_TCK:
ret = HZ;
@@
-873,7
+880,7
@@
asmlinkage s32 sunos_sysconf (int name)
ret = NGROUPS_MAX;
break;
case _SC_OPEN_MAX:
ret = NGROUPS_MAX;
break;
case _SC_OPEN_MAX:
- ret =
OPEN_MAX
;
+ ret =
current->signal->rlim[RLIMIT_NOFILE].rlim_cur
;
break;
case _SC_JOB_CONTROL:
ret = 1; /* yes, we do support job control */
break;
case _SC_JOB_CONTROL:
ret = 1; /* yes, we do support job control */
@@
-1055,7
+1062,7
@@
asmlinkage int sunos_msgsys(int op, u32 arg1, u32 arg2, u32 arg3, u32 arg4)
break;
case 2:
rval = -EFAULT;
break;
case 2:
rval = -EFAULT;
- kmbuf =
(struct msgbuf *)
kmalloc(sizeof(struct msgbuf) + arg3,
+ kmbuf = kmalloc(sizeof(struct msgbuf) + arg3,
GFP_KERNEL);
if (!kmbuf)
break;
GFP_KERNEL);
if (!kmbuf)
break;
@@
-1078,7
+1085,7
@@
asmlinkage int sunos_msgsys(int op, u32 arg1, u32 arg2, u32 arg3, u32 arg4)
break;
case 3:
rval = -EFAULT;
break;
case 3:
rval = -EFAULT;
- kmbuf =
(struct msgbuf *)
kmalloc(sizeof(struct msgbuf) + arg3,
+ kmbuf = kmalloc(sizeof(struct msgbuf) + arg3,
GFP_KERNEL);
if (!kmbuf || sunos_msgbuf_get((struct msgbuf32 __user *)(unsigned long)arg2,
kmbuf, arg3))
GFP_KERNEL);
if (!kmbuf || sunos_msgbuf_get((struct msgbuf32 __user *)(unsigned long)arg2,
kmbuf, arg3))