Merge branch 'linus' into perf/core
Merge reason: pick up perf fixes Signed-off-by: Ingo Molnar <mingo@elte.hu>
This commit is contained in:
@@ -633,8 +633,10 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
|
||||
if(IS_ERR(filename))
|
||||
goto out;
|
||||
error = do_execve(filename,
|
||||
(char __user * __user *)regs->u_regs[base + UREG_I1],
|
||||
(char __user * __user *)regs->u_regs[base + UREG_I2],
|
||||
(const char __user *const __user *)
|
||||
regs->u_regs[base + UREG_I1],
|
||||
(const char __user *const __user *)
|
||||
regs->u_regs[base + UREG_I2],
|
||||
regs);
|
||||
putname(filename);
|
||||
out:
|
||||
|
@@ -739,9 +739,9 @@ asmlinkage int sparc_execve(struct pt_regs *regs)
|
||||
if (IS_ERR(filename))
|
||||
goto out;
|
||||
error = do_execve(filename,
|
||||
(char __user * __user *)
|
||||
(const char __user *const __user *)
|
||||
regs->u_regs[base + UREG_I1],
|
||||
(char __user * __user *)
|
||||
(const char __user *const __user *)
|
||||
regs->u_regs[base + UREG_I2], regs);
|
||||
putname(filename);
|
||||
if (!error) {
|
||||
|
@@ -330,6 +330,15 @@ do_sys_accept4: /* sys_accept4(int, struct sockaddr *, int *, int) */
|
||||
nop
|
||||
nop
|
||||
|
||||
.globl sys32_fanotify_mark
|
||||
sys32_fanotify_mark:
|
||||
sethi %hi(sys_fanotify_mark), %g1
|
||||
sllx %o2, 32, %o2
|
||||
or %o2, %o3, %o2
|
||||
mov %o4, %o3
|
||||
jmpl %g1 + %lo(sys_fanotify_mark), %g0
|
||||
mov %o5, %o4
|
||||
|
||||
.section __ex_table,"a"
|
||||
.align 4
|
||||
.word 1b, __retl_efault, 2b, __retl_efault
|
||||
|
@@ -282,7 +282,9 @@ out:
|
||||
* Do a system call from kernel instead of calling sys_execve so we
|
||||
* end up with proper pt_regs.
|
||||
*/
|
||||
int kernel_execve(const char *filename, char *const argv[], char *const envp[])
|
||||
int kernel_execve(const char *filename,
|
||||
const char *const argv[],
|
||||
const char *const envp[])
|
||||
{
|
||||
long __res;
|
||||
register long __g1 __asm__ ("g1") = __NR_execve;
|
||||
|
@@ -758,7 +758,9 @@ SYSCALL_DEFINE5(rt_sigaction, int, sig, const struct sigaction __user *, act,
|
||||
* Do a system call from kernel instead of calling sys_execve so we
|
||||
* end up with proper pt_regs.
|
||||
*/
|
||||
int kernel_execve(const char *filename, char *const argv[], char *const envp[])
|
||||
int kernel_execve(const char *filename,
|
||||
const char *const argv[],
|
||||
const char *const envp[])
|
||||
{
|
||||
long __res;
|
||||
register long __g1 __asm__ ("g1") = __NR_execve;
|
||||
|
@@ -82,5 +82,6 @@ sys_call_table:
|
||||
/*310*/ .long sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
|
||||
/*315*/ .long sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
|
||||
/*320*/ .long sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
|
||||
/*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg
|
||||
/*325*/ .long sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
|
||||
/*330*/ .long sys_fanotify_mark, sys_prlimit64
|
||||
|
||||
|
@@ -83,7 +83,8 @@ sys_call_table32:
|
||||
/*310*/ .word compat_sys_utimensat, compat_sys_signalfd, sys_timerfd_create, sys_eventfd, compat_sys_fallocate
|
||||
.word compat_sys_timerfd_settime, compat_sys_timerfd_gettime, compat_sys_signalfd4, sys_eventfd2, sys_epoll_create1
|
||||
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, compat_sys_preadv
|
||||
.word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg
|
||||
.word compat_sys_pwritev, compat_sys_rt_tgsigqueueinfo, sys_perf_event_open, compat_sys_recvmmsg, sys_fanotify_init
|
||||
/*330*/ .word sys32_fanotify_mark, sys_prlimit64
|
||||
|
||||
#endif /* CONFIG_COMPAT */
|
||||
|
||||
@@ -158,4 +159,5 @@ sys_call_table:
|
||||
/*310*/ .word sys_utimensat, sys_signalfd, sys_timerfd_create, sys_eventfd, sys_fallocate
|
||||
.word sys_timerfd_settime, sys_timerfd_gettime, sys_signalfd4, sys_eventfd2, sys_epoll_create1
|
||||
/*320*/ .word sys_dup3, sys_pipe2, sys_inotify_init1, sys_accept4, sys_preadv
|
||||
.word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg
|
||||
.word sys_pwritev, sys_rt_tgsigqueueinfo, sys_perf_event_open, sys_recvmmsg, sys_fanotify_init
|
||||
/*330*/ .word sys_fanotify_mark, sys_prlimit64
|
||||
|
Fai riferimento in un nuovo problema
Block a user