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 'vfs/v6.4-rc1/pipe' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs

Pull vfs fix from Christian Brauner:
"During the pipe nonblock rework the check for both O_NONBLOCK and
IOCB_NOWAIT was dropped. Both checks need to be performed to ensure
that files without O_NONBLOCK but IOCB_NOWAIT don't block when writing
to or reading from a pipe.

This just contains the fix adding the check for IOCB_NOWAIT back in"

* tag 'vfs/v6.4-rc1/pipe' of gitolite.kernel.org:pub/scm/linux/kernel/git/vfs/vfs:
pipe: check for IOCB_NOWAIT alongside O_NONBLOCK

+4 -2
+4 -2
fs/pipe.c
··· 342 342 break; 343 343 if (ret) 344 344 break; 345 - if (filp->f_flags & O_NONBLOCK) { 345 + if ((filp->f_flags & O_NONBLOCK) || 346 + (iocb->ki_flags & IOCB_NOWAIT)) { 346 347 ret = -EAGAIN; 347 348 break; 348 349 } ··· 548 547 continue; 549 548 550 549 /* Wait for buffer space to become available. */ 551 - if (filp->f_flags & O_NONBLOCK) { 550 + if ((filp->f_flags & O_NONBLOCK) || 551 + (iocb->ki_flags & IOCB_NOWAIT)) { 552 552 if (!ret) 553 553 ret = -EAGAIN; 554 554 break;