diff options
author | Christoph Hellwig <hch@lst.de> | 2006-01-09 23:52:08 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-01-10 11:01:32 -0500 |
commit | 3a0f69d59ba41fbcad6a17b6e8aab02bf45e20ce (patch) | |
tree | 8ba042dda77490f574f2c46bd038fd99a7f977e4 /arch/ia64/ia32 | |
parent | f042e0f80b0a9f5bb57c36d60a2798de6ca943b2 (diff) |
[PATCH] common compat_sys_timer_create
The comment in compat.c is wrong, every architecture provides a
get_compat_sigevent() for the IPC compat code already.
This basically moves the x86_64 version to common code and removes all the
others.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Paul Mackerras <paulus@samba.org>
Cc: Arnd Bergmann <arnd@arndb.de>
Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Cc: Martin Schwidefsky <schwidefsky@de.ibm.com>
Cc: "David S. Miller" <davem@davemloft.net>
Acked-by: Andi Kleen <ak@muc.de>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'arch/ia64/ia32')
-rw-r--r-- | arch/ia64/ia32/ia32_entry.S | 2 | ||||
-rw-r--r-- | arch/ia64/ia32/sys_ia32.c | 28 |
2 files changed, 1 insertions, 29 deletions
diff --git a/arch/ia64/ia32/ia32_entry.S b/arch/ia64/ia32/ia32_entry.S index 494fad6bf37..95fe04400f6 100644 --- a/arch/ia64/ia32/ia32_entry.S +++ b/arch/ia64/ia32/ia32_entry.S | |||
@@ -469,7 +469,7 @@ ia32_syscall_table: | |||
469 | data8 sys32_epoll_wait | 469 | data8 sys32_epoll_wait |
470 | data8 sys_remap_file_pages | 470 | data8 sys_remap_file_pages |
471 | data8 sys_set_tid_address | 471 | data8 sys_set_tid_address |
472 | data8 sys32_timer_create | 472 | data8 compat_sys_timer_create |
473 | data8 compat_sys_timer_settime /* 260 */ | 473 | data8 compat_sys_timer_settime /* 260 */ |
474 | data8 compat_sys_timer_gettime | 474 | data8 compat_sys_timer_gettime |
475 | data8 sys_timer_getoverrun | 475 | data8 sys_timer_getoverrun |
diff --git a/arch/ia64/ia32/sys_ia32.c b/arch/ia64/ia32/sys_ia32.c index 9f8e8d55887..5ea38286d8d 100644 --- a/arch/ia64/ia32/sys_ia32.c +++ b/arch/ia64/ia32/sys_ia32.c | |||
@@ -2553,34 +2553,6 @@ sys32_get_thread_area (struct ia32_user_desc __user *u_info) | |||
2553 | return 0; | 2553 | return 0; |
2554 | } | 2554 | } |
2555 | 2555 | ||
2556 | asmlinkage long | ||
2557 | sys32_timer_create(u32 clock, struct compat_sigevent __user *se32, timer_t __user *timer_id) | ||
2558 | { | ||
2559 | struct sigevent se; | ||
2560 | mm_segment_t oldfs; | ||
2561 | timer_t t; | ||
2562 | long err; | ||
2563 | |||
2564 | if (se32 == NULL) | ||
2565 | return sys_timer_create(clock, NULL, timer_id); | ||
2566 | |||
2567 | if (get_compat_sigevent(&se, se32)) | ||
2568 | return -EFAULT; | ||
2569 | |||
2570 | if (!access_ok(VERIFY_WRITE,timer_id,sizeof(timer_t))) | ||
2571 | return -EFAULT; | ||
2572 | |||
2573 | oldfs = get_fs(); | ||
2574 | set_fs(KERNEL_DS); | ||
2575 | err = sys_timer_create(clock, (struct sigevent __user *) &se, (timer_t __user *) &t); | ||
2576 | set_fs(oldfs); | ||
2577 | |||
2578 | if (!err) | ||
2579 | err = __put_user (t, timer_id); | ||
2580 | |||
2581 | return err; | ||
2582 | } | ||
2583 | |||
2584 | long sys32_fadvise64_64(int fd, __u32 offset_low, __u32 offset_high, | 2556 | long sys32_fadvise64_64(int fd, __u32 offset_low, __u32 offset_high, |
2585 | __u32 len_low, __u32 len_high, int advice) | 2557 | __u32 len_low, __u32 len_high, int advice) |
2586 | { | 2558 | { |