Re: [PATCH 05/18] Add io_uring IO interface
flat view
From: Arnd Bergmann <arnd@arndb.de>
Date: 2019-01-29 16:19:10
Also in:
linux-block, linux-fsdevel, linux-man
On Tue, Jan 29, 2019 at 4:20 PM Jens Axboe [off-list ref] wrote:
On 1/29/19 4:58 AM, Arnd Bergmann wrote:quoted
On Tue, Jan 29, 2019 at 7:30 AM Christoph Hellwig [off-list ref] wrote:quoted
quoted
On Mon, Jan 28, 2019 at 11:25:12AM -0700, Jens Axboe wrote:quoted
Especially with poll support now in the series, don't we need a ѕigmask argument similar to pselect/ppoll/io_pgetevents now to deal with signal blocking during waiting for events?Is there any way to avoid passing in the sigset_t size? If it's just a 32-bit/64-bit thing, surely the in_compat_syscall() could cover it? Or are there other cases that need to be catered to?As far as I can tell we never look at it, never looked at it and don't have any plans to look at it anytime soon. But when I tried to omit it for io_pgetevents I got stong pushback and thus had to add the crazy double indirection calling convention.That's good info. I am currently using set_user_sigmask() for it. I'd really like to avoid having to pass in a sigset_t size for the system call, however.
I really wouldn't do it, given that all other signal handling interfaces
are prepared for longer signal masks. You /could/ probably extend
it later with a flags bit to signify a longer mask instead of using
the entire register to hold the bit length, it just seems really
inconsistent with all other system calls.
Arnd
What's the best way of achieving that? Can I get
away with doing something like this:
if (in_compat_syscall()) {
const compat_sigset_t __user *compat_sig;
compat_sig = (const compat_sigset_t __user *) sig;
ret = set_compat_user_sigmask(compat_sig, &ksigmask,
&sigsaved, _NSIG_WORDS);
} else {
ret = set_user_sigmask(sig, &ksigmask, &sigsaved,
_NSIG_WORDS);
}-- To unsubscribe, send a message with 'unsubscribe linux-aio' in the body to majordomo@kvack.org. For more info on Linux AIO, see: http://www.kvack.org/aio/ Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>