Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'io_uring-6.16-20250630' of git://git.kernel.dk/linux

Pull io_uring fix from Jens Axboe:
"Now that anonymous inodes set S_IFREG, this breaks the io_uring
read/write retries for short reads/writes. As things like timerfd and
eventfd are anon inodes, applications that previously did:

unsigned long event_data[2];

io_uring_prep_read(sqe, evfd, event_data, sizeof(event_data), 0);

and just got a short read when 1 event was posted, will now wait for
the full amount before posting a completion.

This caused issues for the ghostty application, making it basically
unusable due to excessive buffering"

* tag 'io_uring-6.16-20250630' of git://git.kernel.dk/linux:
io_uring: gate REQ_F_ISREG on !S_ANON_INODE as well

+2 -1
+2 -1
io_uring/io_uring.c
··· 1666 1666 1667 1667 io_req_flags_t io_file_get_flags(struct file *file) 1668 1668 { 1669 + struct inode *inode = file_inode(file); 1669 1670 io_req_flags_t res = 0; 1670 1671 1671 1672 BUILD_BUG_ON(REQ_F_ISREG_BIT != REQ_F_SUPPORT_NOWAIT_BIT + 1); 1672 1673 1673 - if (S_ISREG(file_inode(file)->i_mode)) 1674 + if (S_ISREG(inode->i_mode) && !(inode->i_flags & S_ANON_INODE)) 1674 1675 res |= REQ_F_ISREG; 1675 1676 if ((file->f_flags & O_NONBLOCK) || (file->f_mode & FMODE_NOWAIT)) 1676 1677 res |= REQ_F_SUPPORT_NOWAIT;