Merge branch 'linus' into locking/core, to pick up fixes
Signed-off-by: Ingo Molnar <mingo@kernel.org>
This commit is contained in:
@@ -948,7 +948,24 @@ linux_syscall_trace:
|
||||
cmp %o0, 0
|
||||
bne 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
/* Syscall tracing can modify the registers. */
|
||||
ld [%sp + STACKFRAME_SZ + PT_G1], %g1
|
||||
sethi %hi(sys_call_table), %l7
|
||||
ld [%sp + STACKFRAME_SZ + PT_I0], %i0
|
||||
or %l7, %lo(sys_call_table), %l7
|
||||
ld [%sp + STACKFRAME_SZ + PT_I1], %i1
|
||||
ld [%sp + STACKFRAME_SZ + PT_I2], %i2
|
||||
ld [%sp + STACKFRAME_SZ + PT_I3], %i3
|
||||
ld [%sp + STACKFRAME_SZ + PT_I4], %i4
|
||||
ld [%sp + STACKFRAME_SZ + PT_I5], %i5
|
||||
cmp %g1, NR_syscalls
|
||||
bgeu 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
sll %g1, 2, %l4
|
||||
mov %i0, %o0
|
||||
ld [%l7 + %l4], %l7
|
||||
mov %i1, %o1
|
||||
mov %i2, %o2
|
||||
mov %i3, %o3
|
||||
|
@@ -338,8 +338,9 @@ ENTRY(sun4v_mach_set_watchdog)
|
||||
mov %o1, %o4
|
||||
mov HV_FAST_MACH_SET_WATCHDOG, %o5
|
||||
ta HV_FAST_TRAP
|
||||
brnz,a,pn %o4, 0f
|
||||
stx %o1, [%o4]
|
||||
retl
|
||||
0: retl
|
||||
nop
|
||||
ENDPROC(sun4v_mach_set_watchdog)
|
||||
|
||||
|
@@ -52,7 +52,7 @@ asmlinkage void sparc64_set_context(struct pt_regs *regs)
|
||||
unsigned char fenab;
|
||||
int err;
|
||||
|
||||
flush_user_windows();
|
||||
synchronize_user_stack();
|
||||
if (get_thread_wsaved() ||
|
||||
(((unsigned long)ucp) & (sizeof(unsigned long)-1)) ||
|
||||
(!__access_ok(ucp, sizeof(*ucp))))
|
||||
|
@@ -37,6 +37,7 @@ EXPORT_SYMBOL(sun4v_niagara_getperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara_setperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara2_getperf);
|
||||
EXPORT_SYMBOL(sun4v_niagara2_setperf);
|
||||
EXPORT_SYMBOL(sun4v_mach_set_watchdog);
|
||||
|
||||
/* from hweight.S */
|
||||
EXPORT_SYMBOL(__arch_hweight8);
|
||||
|
@@ -158,7 +158,25 @@ linux_syscall_trace32:
|
||||
add %sp, PTREGS_OFF, %o0
|
||||
brnz,pn %o0, 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
/* Syscall tracing can modify the registers. */
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1
|
||||
sethi %hi(sys_call_table32), %l7
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I0], %i0
|
||||
or %l7, %lo(sys_call_table32), %l7
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I1], %i1
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I2], %i2
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I3], %i3
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I4], %i4
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I5], %i5
|
||||
|
||||
cmp %g1, NR_syscalls
|
||||
bgeu,pn %xcc, 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
sll %g1, 2, %l4
|
||||
srl %i0, 0, %o0
|
||||
lduw [%l7 + %l4], %l7
|
||||
srl %i4, 0, %o4
|
||||
srl %i1, 0, %o1
|
||||
srl %i2, 0, %o2
|
||||
@@ -170,7 +188,25 @@ linux_syscall_trace:
|
||||
add %sp, PTREGS_OFF, %o0
|
||||
brnz,pn %o0, 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
/* Syscall tracing can modify the registers. */
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_G1], %g1
|
||||
sethi %hi(sys_call_table64), %l7
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I0], %i0
|
||||
or %l7, %lo(sys_call_table64), %l7
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I1], %i1
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I2], %i2
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I3], %i3
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I4], %i4
|
||||
ldx [%sp + PTREGS_OFF + PT_V9_I5], %i5
|
||||
|
||||
cmp %g1, NR_syscalls
|
||||
bgeu,pn %xcc, 3f
|
||||
mov -ENOSYS, %o0
|
||||
|
||||
sll %g1, 2, %l4
|
||||
mov %i0, %o0
|
||||
lduw [%l7 + %l4], %l7
|
||||
mov %i1, %o1
|
||||
mov %i2, %o2
|
||||
mov %i3, %o3
|
||||
|
@@ -88,4 +88,4 @@ sys_call_table:
|
||||
/*340*/ .long sys_ni_syscall, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
|
||||
/*345*/ .long sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
|
||||
/*350*/ .long sys_execveat, sys_membarrier, sys_userfaultfd, sys_bind, sys_listen
|
||||
/*355*/ .long sys_setsockopt, sys_mlock2
|
||||
/*355*/ .long sys_setsockopt, sys_mlock2, sys_copy_file_range
|
||||
|
@@ -89,7 +89,7 @@ sys_call_table32:
|
||||
/*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
|
||||
.word sys32_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
|
||||
/*350*/ .word sys32_execveat, sys_membarrier, sys_userfaultfd, sys_bind, sys_listen
|
||||
.word compat_sys_setsockopt, sys_mlock2
|
||||
.word compat_sys_setsockopt, sys_mlock2, sys_copy_file_range
|
||||
|
||||
#endif /* CONFIG_COMPAT */
|
||||
|
||||
@@ -170,4 +170,4 @@ sys_call_table:
|
||||
/*340*/ .word sys_kern_features, sys_kcmp, sys_finit_module, sys_sched_setattr, sys_sched_getattr
|
||||
.word sys_renameat2, sys_seccomp, sys_getrandom, sys_memfd_create, sys_bpf
|
||||
/*350*/ .word sys64_execveat, sys_membarrier, sys_userfaultfd, sys_bind, sys_listen
|
||||
.word sys_setsockopt, sys_mlock2
|
||||
.word sys_setsockopt, sys_mlock2, sys_copy_file_range
|
||||
|
Reference in New Issue
Block a user