diff options
| author | Stephen Rothwell <sfr@canb.auug.org.au> | 2005-03-09 16:40:42 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2005-03-09 16:40:42 -0800 |
| commit | 9918041c1b450d2bd4ad8b033c197a26788ac034 (patch) | |
| tree | 101e212172317a3fec1829339e644e602c365ed6 /include | |
| parent | ba6965f29efa372dd888b4149e785589f66240eb (diff) | |
[PATCH] consolidate the last of the compat sigevent structs
This patch pulls together the compat_sigevent structs. It also
consolidates the copying of these structures into the kernel.
The only part of the second union in sigevent that the kernel looks at
currently is the _tid, so that is the only bit we copy.
This patch depends on my previous two patches "add and use
COMPAT_SIGEV_PAD_SIZE" and "Consolidate the last compat sigvals".
Signed-off-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Andrew Morton <akpm@osdl.org>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include')
| -rw-r--r-- | include/asm-sparc64/siginfo.h | 22 | ||||
| -rw-r--r-- | include/linux/compat.h | 3 |
2 files changed, 3 insertions, 22 deletions
diff --git a/include/asm-sparc64/siginfo.h b/include/asm-sparc64/siginfo.h index 295ea92f968b..7160449e7cab 100644 --- a/include/asm-sparc64/siginfo.h +++ b/include/asm-sparc64/siginfo.h @@ -32,26 +32,4 @@ struct compat_siginfo; #define EMT_TAGOVF (__SI_FAULT|1) /* tag overflow */ #define NSIGEMT 1 -#ifdef __KERNEL__ - -#ifdef CONFIG_COMPAT - -typedef struct sigevent32 { - compat_sigval_t sigev_value; - int sigev_signo; - int sigev_notify; - union { - int _pad[COMPAT_SIGEV_PAD_SIZE]; - - struct { - u32 _function; - u32 _attribute; /* really pthread_attr_t */ - } _sigev_thread; - } _sigev_un; -} sigevent_t32; - -#endif /* CONFIG_COMPAT */ - -#endif /* __KERNEL__ */ - #endif diff --git a/include/linux/compat.h b/include/linux/compat.h index af1ea468bca3..b58b7d6f2fdb 100644 --- a/include/linux/compat.h +++ b/include/linux/compat.h @@ -155,5 +155,8 @@ long compat_put_bitmap(compat_ulong_t __user *umask, unsigned long *mask, unsigned long bitmap_size); int copy_siginfo_from_user32(siginfo_t *to, struct compat_siginfo __user *from); int copy_siginfo_to_user32(struct compat_siginfo __user *to, siginfo_t *from); +int get_compat_sigevent(struct sigevent *event, + const struct compat_sigevent __user *u_event); + #endif /* CONFIG_COMPAT */ #endif /* _LINUX_COMPAT_H */ |
