On 03/07, Rasmus Villemoes wrote: > > As 'head' is not updated after head+1 is assigned to pipe->head, the > condition being tested here is exactly the same as in the big if > statement just above. Merge the two bodies. Yes. But Mateusz has already sent the same patch, please see [PATCH 1/3] pipe: drop an always true check in anon_pipe_write() https://lore.kernel.org/all/20250303230409.452687-2-mjguzik@xxxxxxxxx/ Oleg. > Signed-off-by: Rasmus Villemoes <linux@xxxxxxxxxxxxxxxxxx> > --- > fs/pipe.c | 4 +--- > 1 file changed, 1 insertion(+), 3 deletions(-) > > diff --git a/fs/pipe.c b/fs/pipe.c > index 097400cce241..27385e3e5417 100644 > --- a/fs/pipe.c > +++ b/fs/pipe.c > @@ -547,10 +547,8 @@ pipe_write(struct kiocb *iocb, struct iov_iter *from) > > if (!iov_iter_count(from)) > break; > - } > - > - if (!pipe_full(head, pipe->tail, pipe->max_usage)) > continue; > + } > > /* Wait for buffer space to become available. */ > if ((filp->f_flags & O_NONBLOCK) || > -- > 2.48.1 >