Skip to content

Commit 9ba546c

Browse files
Christoph HellwigAl Viro
authored andcommitted
aio: don't expose __aio_sigset in uapi
glibc uses a different defintion of sigset_t than the kernel does, and the current version would pull in both. To fix this just do not expose the type at all - this somewhat mirrors pselect() where we do not even have a type for the magic sigmask argument, but just use pointer arithmetics. Fixes: 7a074e9 ("aio: implement io_pgetevents") Signed-off-by: Christoph Hellwig <[email protected]> Reported-by: Adrian Reber <[email protected]> Signed-off-by: Al Viro <[email protected]>
1 parent c7e9075 commit 9ba546c

File tree

3 files changed

+6
-6
lines changed

3 files changed

+6
-6
lines changed

fs/aio.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2042,6 +2042,11 @@ SYSCALL_DEFINE5(io_getevents, aio_context_t, ctx_id,
20422042
return ret;
20432043
}
20442044

2045+
struct __aio_sigset {
2046+
const sigset_t __user *sigmask;
2047+
size_t sigsetsize;
2048+
};
2049+
20452050
SYSCALL_DEFINE6(io_pgetevents,
20462051
aio_context_t, ctx_id,
20472052
long, min_nr,

include/linux/syscalls.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
#ifndef _LINUX_SYSCALLS_H
1212
#define _LINUX_SYSCALLS_H
1313

14+
struct __aio_sigset;
1415
struct epoll_event;
1516
struct iattr;
1617
struct inode;

include/uapi/linux/aio_abi.h

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@
2929

3030
#include <linux/types.h>
3131
#include <linux/fs.h>
32-
#include <linux/signal.h>
3332
#include <asm/byteorder.h>
3433

3534
typedef __kernel_ulong_t aio_context_t;
@@ -108,10 +107,5 @@ struct iocb {
108107
#undef IFBIG
109108
#undef IFLITTLE
110109

111-
struct __aio_sigset {
112-
const sigset_t __user *sigmask;
113-
size_t sigsetsize;
114-
};
115-
116110
#endif /* __LINUX__AIO_ABI_H */
117111

0 commit comments

Comments
 (0)