From d60223937b4c15acb8b62c7c731b6998604618e3 Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 21 Sep 2022 13:33:57 +0200 Subject: [PATCH] Revert "io_uring: disable polling pollfree files" This reverts commit fc78b2fc21f10c4c9c4d5d659a685710ffa63659. This breaks the Android api and for now, does not seem to be necessary due to the lack of io_uring users in this kernel branch. If io_uring starts to be used more, it can be brought back in a ABI-safe way. Bug: 161946584 Bug: 248008710 Signed-off-by: Greg Kroah-Hartman Change-Id: I2696bd5e1ad61d3ab0e8d06f4ffe46718bb05845 --- drivers/android/binder.c | 1 - fs/io_uring.c | 3 --- fs/signalfd.c | 1 - include/linux/fs.h | 1 - 4 files changed, 6 deletions(-) diff --git a/drivers/android/binder.c b/drivers/android/binder.c index 318ade92f503..d42c1c13e0a1 100644 --- a/drivers/android/binder.c +++ b/drivers/android/binder.c @@ -6027,7 +6027,6 @@ const struct file_operations binder_fops = { .open = binder_open, .flush = binder_flush, .release = binder_release, - .may_pollfree = true, }; static int __init init_binder_device(const char *name) diff --git a/fs/io_uring.c b/fs/io_uring.c index 501c7e14c07c..e73969fa96bc 100644 --- a/fs/io_uring.c +++ b/fs/io_uring.c @@ -1908,9 +1908,6 @@ static int io_poll_add(struct io_kiocb *req, const struct io_uring_sqe *sqe) __poll_t mask; u16 events; - if (req->file->f_op->may_pollfree) - return -EOPNOTSUPP; - if (unlikely(req->ctx->flags & IORING_SETUP_IOPOLL)) return -EINVAL; if (sqe->addr || sqe->ioprio || sqe->off || sqe->len || sqe->buf_index) diff --git a/fs/signalfd.c b/fs/signalfd.c index c3415d969ecf..3e94d181930f 100644 --- a/fs/signalfd.c +++ b/fs/signalfd.c @@ -248,7 +248,6 @@ static const struct file_operations signalfd_fops = { .poll = signalfd_poll, .read = signalfd_read, .llseek = noop_llseek, - .may_pollfree = true, }; static int do_signalfd4(int ufd, sigset_t *mask, int flags) diff --git a/include/linux/fs.h b/include/linux/fs.h index 734272106e60..f97c1879a601 100644 --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -1907,7 +1907,6 @@ struct file_operations { struct file *file_out, loff_t pos_out, loff_t len, unsigned int remap_flags); int (*fadvise)(struct file *, loff_t, loff_t, int); - bool may_pollfree; ANDROID_KABI_RESERVE(1); ANDROID_KABI_RESERVE(2);