tun: flag the device as supporting FMODE_NOWAIT
authorJens Axboe <axboe@kernel.dk>
Wed, 8 Mar 2023 03:45:56 +0000 (20:45 -0700)
committerJakub Kicinski <kuba@kernel.org>
Sat, 11 Mar 2023 00:47:22 +0000 (16:47 -0800)
tun already checks for both O_NONBLOCK and IOCB_NOWAIT in its read
and write iter handlers, so it's fully ready for FMODE_NOWAIT. But
for some reason it doesn't set it. Rectify that oversight.

Signed-off-by: Jens Axboe <axboe@kernel.dk>
Link: https://lore.kernel.org/r/3f7dc1f0-79ca-d85c-4d16-8c12c5bd492d@kernel.dk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/tun.c

index ad653b3..4c7f749 100644 (file)
@@ -3463,6 +3463,8 @@ static int tun_chr_open(struct inode *inode, struct file * file)
 
        sock_set_flag(&tfile->sk, SOCK_ZEROCOPY);
 
+       /* tun groks IOCB_NOWAIT just fine, mark it as such */
+       file->f_mode |= FMODE_NOWAIT;
        return 0;
 }