diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-21 10:01:36 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-05-21 10:01:36 -0700 |
commit | 4b85df0419d1fb135d9d845876e8c7ee1393f83c (patch) | |
tree | 9630646aa3bca16e9266d79121b479f747d3677c /arch/s390/kernel | |
parent | 6044ab324ce4c180bce17aa9be00157c611d7d48 (diff) | |
parent | be2864b5ee46e0d5ed626de6cbfeb9abbd9c2e6f (diff) | |
download | kernel_samsung_aries-4b85df0419d1fb135d9d845876e8c7ee1393f83c.zip kernel_samsung_aries-4b85df0419d1fb135d9d845876e8c7ee1393f83c.tar.gz kernel_samsung_aries-4b85df0419d1fb135d9d845876e8c7ee1393f83c.tar.bz2 |
Merge branch 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6
* 'for-linus' of git://git390.osdl.marist.edu/pub/scm/linux-2.6:
[S390] More verbose show_mem() like other architectures.
[S390] Make use of kretprobe_assert.
[S390] Wire up signald, timerfd and eventfd syscalls.
[S390] Wire up sys_utimensat.
[S390] cio: Update documentation.
Diffstat (limited to 'arch/s390/kernel')
-rw-r--r-- | arch/s390/kernel/compat_wrapper.S | 28 | ||||
-rw-r--r-- | arch/s390/kernel/kprobes.c | 2 | ||||
-rw-r--r-- | arch/s390/kernel/syscalls.S | 5 |
3 files changed, 34 insertions, 1 deletions
diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index 32a69a1..acc4154 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S @@ -1682,3 +1682,31 @@ compat_sys_utimes_wrapper: llgtr %r2,%r2 # char * llgtr %r3,%r3 # struct compat_timeval * jg compat_sys_utimes + + .globl compat_sys_utimensat_wrapper +compat_sys_utimensat_wrapper: + llgfr %r2,%r2 # unsigned int + llgtr %r3,%r3 # char * + llgtr %r4,%r4 # struct compat_timespec * + lgfr %r5,%r5 # int + jg compat_sys_utimensat + + .globl compat_sys_signalfd_wrapper +compat_sys_signalfd_wrapper: + lgfr %r2,%r2 # int + llgtr %r3,%r3 # compat_sigset_t * + llgfr %r4,%r4 # compat_size_t + jg compat_sys_signalfd + + .globl compat_sys_timerfd_wrapper +compat_sys_timerfd_wrapper: + lgfr %r2,%r2 # int + lgfr %r3,%r3 # int + lgfr %r4,%r4 # int + llgtr %r5,%r5 # struct compat_itimerspec * + jg compat_sys_timerfd + + .globl sys_eventfd_wrapper +sys_eventfd_wrapper: + llgfr %r2,%r2 # unsigned int + jg sys_eventfd diff --git a/arch/s390/kernel/kprobes.c b/arch/s390/kernel/kprobes.c index e39333a..358d2bb 100644 --- a/arch/s390/kernel/kprobes.c +++ b/arch/s390/kernel/kprobes.c @@ -413,7 +413,7 @@ static int __kprobes trampoline_probe_handler(struct kprobe *p, break; } } - BUG_ON(!orig_ret_address || (orig_ret_address == trampoline_address)); + kretprobe_assert(ri, orig_ret_address, trampoline_address); regs->psw.addr = orig_ret_address | PSW_ADDR_AMODE; reset_current_kprobe(); diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index cd8d321..738feb4 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S @@ -322,3 +322,8 @@ NI_SYSCALL /* 310 sys_move_pages */ SYSCALL(sys_getcpu,sys_getcpu,sys_getcpu_wrapper) SYSCALL(sys_epoll_pwait,sys_epoll_pwait,compat_sys_epoll_pwait_wrapper) SYSCALL(sys_utimes,sys_utimes,compat_sys_utimes_wrapper) +NI_SYSCALL /* 314 sys_fallocate */ +SYSCALL(sys_utimensat,sys_utimensat,compat_sys_utimensat_wrapper) /* 315 */ +SYSCALL(sys_signalfd,sys_signalfd,compat_sys_signalfd_wrapper) +SYSCALL(sys_timerfd,sys_timerfd,compat_sys_timerfd_wrapper) +SYSCALL(sys_eventfd,sys_eventfd,sys_eventfd_wrapper) |