On Tue, 2009-11-17 at 14:55 +0100, Heiko Carstens wrote: > Yes, also some places should have used lgfr instead of llgfr for proper sign > extension. But please, just drop the s390 bits from your patch. > Its easier and less painful for us to do it ourselves instead of reviewing > and fixing these things. (No offence intended!). dropped and won't show up in -next tomorrow. This what I thought it should be and would love to read if you say it's right.... diff --git a/arch/s390/include/asm/unistd.h b/arch/s390/include/asm/unistd.h index cb5232d..8962161 100644 --- a/arch/s390/include/asm/unistd.h +++ b/arch/s390/include/asm/unistd.h @@ -269,7 +269,9 @@ #define __NR_pwritev 329 #define __NR_rt_tgsigqueueinfo 330 #define __NR_perf_event_open 331 -#define NR_syscalls 332 +#define __NR_fanotify_init 332 +#define __NR_fanotify_mark 333 +#define NR_syscalls 334 /* * There are some system calls that are not present on 64 bit, some diff --git a/arch/s390/kernel/compat_wrapper.S b/arch/s390/kernel/compat_wrapper.S index cbd9901..c81723d 100644 --- a/arch/s390/kernel/compat_wrapper.S +++ b/arch/s390/kernel/compat_wrapper.S @@ -1855,3 +1855,20 @@ sys32_execve_wrapper: llgtr %r3,%r3 # compat_uptr_t * llgtr %r4,%r4 # compat_uptr_t * jg sys32_execve # branch to system call + + .globl sys_fanotify_init_wrapper +sys_fanotify_init_wrapper: + llgfr %r2,%r2 # unsigned int + llgfr %r3,%r3 # unsigned int + llgfr %r4,%r4 # unsigned int + jg sys_fanotify_init # branch to system call + + .globl sys32_fanotify_mark_wrapper +sys32_fanotify_mark_wrapper: + lgfr %r2,%r2 # int + llgfr %r3,%r3 # unsigned int + lgfr %r4,%r4 # int + llgtr %r5,%r5 # char * + sllg %r6,%r6,32 # get high word of 64bit mask + l %r6,164(%r15) # get low word of 64bit mask + jg sys_fanotify_mark diff --git a/arch/s390/kernel/syscalls.S b/arch/s390/kernel/syscalls.S index 30eca07..cc781f1 100644 --- a/arch/s390/kernel/syscalls.S +++ b/arch/s390/kernel/syscalls.S @@ -340,3 +340,5 @@ SYSCALL(sys_preadv,sys_preadv,compat_sys_preadv_wrapper) SYSCALL(sys_pwritev,sys_pwritev,compat_sys_pwritev_wrapper) SYSCALL(sys_rt_tgsigqueueinfo,sys_rt_tgsigqueueinfo,compat_sys_rt_tgsigqueueinfo_wrapper) /* 330 */ SYSCALL(sys_perf_event_open,sys_perf_event_open,sys_perf_event_open_wrapper) +SYSCALL(sys_fanotify_init,sys_fanotify_init,sys_fanotify_init_wrapper) +SYSCALL(sys_fanotify_mark,sys_fanotify_mark,sys32_fanotify_mark_wrapper) -- To unsubscribe from this list: send the line "unsubscribe linux-s390" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html