From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A3C66C4332F for ; Thu, 14 Dec 2023 18:44:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573123AbjLNSov (ORCPT ); Thu, 14 Dec 2023 13:44:51 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45996 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230159AbjLNSoq (ORCPT ); Thu, 14 Dec 2023 13:44:46 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6352410F; Thu, 14 Dec 2023 10:44:53 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579491; bh=UlbAYUhQkYFyNtJ1M2+PZCXwVifWnRc57Lf02ijgdMY=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=cUjT6n4ajxvJ/v1VnWThnKiwjlEObK2pcYGAr5kVviu4KH1rfwsRBtF02fufgtpew qGDbCXySDE/un4pSFJktXoRyyaSSnnuYx4/DDW58CqK7m2PE9MU0oLKZ0WBNmj3hk1 WSrG+632f/2WesPzL02iAqnWO0j5v2rDflkZ/FqImhywQUdVOXR2f69Bhxy+61OQX2 FQ5wz6ZrkKMfWIqtUS41h7GlS5ty7k+A9KonF54Z/l7ezA1SzhD05VmZ7I8xJp38kw Pj0MRN+L72zNTq6YX0BC83tI2ndZS7YgloxbYaoVxEb4QB2mRTLHqKS2i0Bo8w/ugY ulggTsp4x6ExQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 93E7713078; Thu, 14 Dec 2023 19:44:51 +0100 (CET) Date: Thu, 14 Dec 2023 19:44:51 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 01/11] splice: copy_splice_read: do the I/O with IOCB_NOWAIT Message-ID: <29910c8026500ba43f3d93e66e822ae64980d9527.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="2zaji4lk4kccp7ci" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --2zaji4lk4kccp7ci Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- fs/splice.c | 1 + 1 file changed, 1 insertion(+) diff --git a/fs/splice.c b/fs/splice.c index d983d375ff11..9d29664f23ee 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -361,6 +361,7 @@ ssize_t copy_splice_read(struct file *in, loff_t *ppos, iov_iter_bvec(&to, ITER_DEST, bv, npages, len); init_sync_kiocb(&kiocb, in); kiocb.ki_pos =3D *ppos; + kiocb.ki_flags |=3D IOCB_NOWAIT; ret =3D call_read_iter(in, &kiocb, &to); =20 if (ret > 0) { --=20 2.39.2 --2zaji4lk4kccp7ci Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TSMACgkQvP0LAY0m WPHXfA//dxPEPo82Uq72jzpSIbd7FoAw0glbi7ldgDyoWVDwM9X5TZV8HBde89M8 iN9kYRqkrTDZzm8Ky/XbEkiSP/3HF55NsoNRplaYmH2McaQUF/pPQMMwmsN4Hwe9 MPwE4Oht4RnEZyRW44OTKwioTARp8m0Up6327HdD9WXrybmNa31TilCxPQmSdFSH rX8a6iJk/auYoTEzyvLN+Yh1spjyOOhQ4O4vwPgFBWOGTojdb81B/gXFw29V6Uyo L35cc3ukA8CEJzmN4ql1DDoZdz8igS37NtLQHqyxtdDGdZ9KU1xgDsVOreUmbveD 67k4KTO0/puiBA5sOLZQ0Fx21DOw6gtwigtoh72rc8WwCuOfbu6vtm5KQHfPW2fJ sC01qK91RiJJ0dK+rCjcoYd82J6xmI7p8h010JiOYxlCnY4Aa29I/Vhi7HCU0Br1 aySmq4LnOhMq/9ZYldIfTfrxYcz3aXjGHLVJS0NVZSNjhU3RS23cwmtMqZ6ugIfZ ZjFKWiUEK/gvAHpsIlMUjDstPBkElvglAwbhsnhSftxgBUwgF5ZOpB8x2Dm4PNpW grLAGclqq67BTv2F0Bm0ovYI5RfIlf3i61Bes77dyy8G3PwB7v6Wx6YA2j+3hEYa +7RB8xe7xEh2shtFW4Mou5s0rVB4e02O/AempwMO4DfEBP2GhAc= =ddQz -----END PGP SIGNATURE----- --2zaji4lk4kccp7ci-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id DD76BC4332F for ; Thu, 14 Dec 2023 18:45:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573156AbjLNSox (ORCPT ); Thu, 14 Dec 2023 13:44:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46078 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573139AbjLNSou (ORCPT ); Thu, 14 Dec 2023 13:44:50 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A816FB; Thu, 14 Dec 2023 10:44:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579495; bh=HdTsxawUqvYBqho9F8qfYgYlmOiA88qfknRMSXgij6E=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=jHdrVrI5NZyeYt+K+FSO9zKM0tTA499Q1cB+K1dvZbIIKwM7zi+hpj7wvgNZmr04/ Sk2dELl2jUoSWvLp7A//4WuKVr9z4rEy6PqFY+LNOv2V8M5X85ffyZVWN220/NIS0b sA8JDl5dpah4bnW1EfP+RGorBMlQS7cqtym4B0dJf0P3xjtQIlVQLYwOFz+kA2jCaO YTKGUs70Ox8ei/67BnYdwOvclbIkAw4uDSy+RI29C7qaj/1jsUepUUC9PjUCrYqque /mQgTIETwDiVnv6YFez8wCuWMviss9E/QVpmxhF1DraMXfnLgMoVhj1quE7+9OMfAo itv8Acm2JtGWg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id DAF0B13272; Thu, 14 Dec 2023 19:44:55 +0100 (CET) Date: Thu, 14 Dec 2023 19:44:55 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , Kuniyuki Iwashima , David Howells , Alexander Mikhalitsyn , Kirill Tkhai , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 02/11] af_unix: unix_stream_splice_read: always request MSG_DONTWAIT Message-ID: <28db45d00902da22ae25aa16a0c28bb41002fc039.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ye7hyns4bd3ezngs" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --ye7hyns4bd3ezngs Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- net/unix/af_unix.c | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/net/unix/af_unix.c b/net/unix/af_unix.c index 3e8a04a13668..9489b9bda753 100644 --- a/net/unix/af_unix.c +++ b/net/unix/af_unix.c @@ -2889,15 +2889,12 @@ static ssize_t unix_stream_splice_read(struct socke= t *sock, loff_t *ppos, .pipe =3D pipe, .size =3D size, .splice_flags =3D flags, + .flags =3D MSG_DONTWAIT, }; =20 if (unlikely(*ppos)) return -ESPIPE; =20 - if (sock->file->f_flags & O_NONBLOCK || - flags & SPLICE_F_NONBLOCK) - state.flags =3D MSG_DONTWAIT; - return unix_stream_read_generic(&state, false); } =20 --=20 2.39.2 --ye7hyns4bd3ezngs Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TScACgkQvP0LAY0m WPGi6xAAnOF1XsITYUFaL7TgbYsG5Cc848T8lIyQ52KabsYFv6bNp74g60c2vPo+ JhktQE8Iur9cvutWppKMZsLoQMRZxFD5oD9Bmbx19Gx3UQVejdrYQEAtqaMLHMZU tlao88CDisdmKBQ0mTKrxFzpgxVxClvO88NNAj3AYLitDTZs47D3OewrsuJPYCl2 N24xmsdG3x2L4b7EvXrIs8ZOgHAcf+i5Ue00ZujtQXVAB6G5LSk44L+Bgl3M6nRu A6FltV5RieigL1ahQjPA8peQ8PU6YkaeeCMhIbQhWeZD2MywVaoR8n3moOpXRt9G tR6qVoZsu9exzPyMAxz6qYYXv0BozBZLzdhcOVhkIV7hYt4TiRrepufM/e639Zuh N+q/4BTTyyJ7d57t059sFyNKu5cvyAi8lP5zd4Z2vxnArF5LGAdZLefve9RT0Z7Y RG6QCXMUTGdyemR5SSycouPySpZtWozJPdblqg7vKNP4JcE1Vzv3E0BRGKdnE29O 7uZiZWb+/FXtmqRnrXWCJVPeFES+71NMIVe2mrbYBQGWfiK5re3Dm41L60a8UC8N ilUpVKft7YURQQEXuNsP/IL0gjanyNRq/qD2Y5FsnT1j1aNgBAm7AIGTgRrstLWu ddtWF1lQak5HHxX1j2u1Z2zzNlq2GT5QY415ZS8oL2PZiR7AcKY= =j3Oi -----END PGP SIGNATURE----- --ye7hyns4bd3ezngs-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id BD10FC4332F for ; Thu, 14 Dec 2023 18:45:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573270AbjLNSpA (ORCPT ); Thu, 14 Dec 2023 13:45:00 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57898 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573174AbjLNSoy (ORCPT ); Thu, 14 Dec 2023 13:44:54 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 7665211B; Thu, 14 Dec 2023 10:45:00 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579499; bh=4qtvhPDlYFbeuPt4vePPlt5K1o3kkOZ+MBZGGwh+FFM=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=P8ju0Sm3OMvOZtPNljKQPhXSyQMlfHEJtE98CO/ic0Ajw5eV+TDkGU0YSWCngB/rj aeenL8AE0EG/+c6NzgDJDM7uPl97/ipRZkB7IvpMSpOmcnwwGnrNrJcQEGp0heUAXz o5ivTEijg31QE7i9ynBuWG4JMqL/FLed/yHTx5oK6WwATt+jX1RqgmkYVrTZdPk5DW 2eHWCzVFfqO1a9ixMZlRCg8Hk/GegPSxe6S81hvwtpxW4Np6ZdLYQclS2jwoM+rk0Y 0diEBSA2uBsuSrKDe2CovEV9xHqdutsxMVtvPPPcnQ+C0nkfzgONxkxWz69Dmt8CIr O/u7/8m+IR5Nw== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 2811613792; Thu, 14 Dec 2023 19:44:59 +0100 (CET) Date: Thu, 14 Dec 2023 19:44:59 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Miklos Szeredi , linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 03/11] fuse: fuse_dev_splice_read: use nonblocking I/O Message-ID: <2b5c5b0a18a59ec31f098959e26530ff607a67379.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="z34okndsbgotckru" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --z34okndsbgotckru Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- fs/fuse/dev.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/fs/fuse/dev.c b/fs/fuse/dev.c index 1a8f82f478cb..4e8caf66c01e 100644 --- a/fs/fuse/dev.c +++ b/fs/fuse/dev.c @@ -1202,7 +1202,8 @@ __releases(fiq->lock) * the 'sent' flag. */ static ssize_t fuse_dev_do_read(struct fuse_dev *fud, struct file *file, - struct fuse_copy_state *cs, size_t nbytes) + struct fuse_copy_state *cs, size_t nbytes, + bool nonblock) { ssize_t err; struct fuse_conn *fc =3D fud->fc; @@ -1238,7 +1239,7 @@ static ssize_t fuse_dev_do_read(struct fuse_dev *fud,= struct file *file, break; spin_unlock(&fiq->lock); =20 - if (file->f_flags & O_NONBLOCK) + if (nonblock) return -EAGAIN; err =3D wait_event_interruptible_exclusive(fiq->waitq, !fiq->connected || request_pending(fiq)); @@ -1364,7 +1365,8 @@ static ssize_t fuse_dev_read(struct kiocb *iocb, stru= ct iov_iter *to) =20 fuse_copy_init(&cs, 1, to); =20 - return fuse_dev_do_read(fud, file, &cs, iov_iter_count(to)); + return fuse_dev_do_read(fud, file, &cs, iov_iter_count(to), + file->f_flags & O_NONBLOCK); } =20 static ssize_t fuse_dev_splice_read(struct file *in, loff_t *ppos, @@ -1388,7 +1390,7 @@ static ssize_t fuse_dev_splice_read(struct file *in, = loff_t *ppos, fuse_copy_init(&cs, 1, NULL); cs.pipebufs =3D bufs; cs.pipe =3D pipe; - ret =3D fuse_dev_do_read(fud, in, &cs, len); + ret =3D fuse_dev_do_read(fud, in, &cs, len, true); if (ret < 0) goto out; =20 --=20 2.39.2 --z34okndsbgotckru Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TSoACgkQvP0LAY0m WPFH0A/+PdGoz95yW5jZpZej98hWG7cvUnL0HpsyecsebHNVXMw5OvhMvmYAGcJK Cs8DfB2AfAhC8thPDzlAtyHDmSrJZvmQNsEi/EcY+Un8cuZPfFGAqtwL6zaLIU9F Fogi7SpX5kV1gWD+l2moVog8darsv51Rvp7tq7/p9KTmZc/YRlmABGJH5ecnou3N JM51BgB2ZGzOHOeP+chMUPfb9Pmo64FqpE+9IzByBVa/dZUwZMQcmsovCznp5KAj +fWultaS54SJBoVLeyrRyCuZRtrpL3i4xY3SAkzniUERJGEewDjZFwKB07FcM3HO caocryABxB0WBtKG36eR9FTQdDGpJV42B5PyMWT8aXSrzLX7qYogsa/nBxGIn53o GAqr2/3Etx08RcaJM37cUvkGVuKyvJYWzZy2Pz2zNNpvyz8RhFVNGLaIRkMuG6Vt X83iFKqD4MPzjZiTKuKvB+UofgdkxPnl2OtgUVGLHN0NVYhKtcrCBpUJhrbIksuc 8KTS3wCkzeqU5lfjbYHYHzWB9ehQ9mtB/JgLbdUQNNGjssH3iseC1pacxxmLEoZY q+7TQooblaS7rzEoJ58q9ldXIEd4fUiMVe8pgcNT/8mbretPo8vNktnMPy04Y3bX 6e2734dikiU3aB2iOhKHOC+T8iVx6YxB2nhSRalgaCXPNNKoBgA= =RIHh -----END PGP SIGNATURE----- --z34okndsbgotckru-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5FE0DC4332F for ; Thu, 14 Dec 2023 18:45:13 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573319AbjLNSpF (ORCPT ); Thu, 14 Dec 2023 13:45:05 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57962 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573215AbjLNSo6 (ORCPT ); Thu, 14 Dec 2023 13:44:58 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8FB24181; Thu, 14 Dec 2023 10:45:03 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579502; bh=SQnZ6NeLN5oEGpHe+yCkGHc7k0RaveLdBbAl+Im5Zug=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=BTeEgmOLsL91Kw433qClTnDJFQz8R8M6u4NFFrKujJIk1CUqMqVi5/IjHOi7L7cN5 qIaQmBZtSgm54+iBkAC8FLSNuCrgRIxP/tISAapoptKj56OSsDWvAoP04NfcAk6qih ZWWNzOD6zF8wVMIoYq7pwrFQNvQiBNfLYaOaH4Z4ugpnU4GHp1GkiapRIckJ+he1vZ GN494qBV24nnxOWzJtnK/gAAF08dvGrfYOUrOn49j506w90SgcJv7h6kGgKMWsHOkh DbnrSk/YuQxaptyc2iZJ6x8efy8aDFTLr/rtJLIyHYFMra6Vd5/t8c9MvFLUdbwqDd 9ORzWWuoBw81w== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 3A9B813274; Thu, 14 Dec 2023 19:45:02 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:02 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Steven Rostedt , Masami Hiramatsu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RERESEND 04/11] tracing: tracing_buffers_splice_read: behave as-if non-blocking I/O Message-ID: <21b84f2e4e5eaad501ff7b2bb03e2ad2f25ecdf14.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="g54druvikqn24p6f" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --g54druvikqn24p6f Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- kernel/trace/trace.c | 32 ++++---------------------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c index abaaf516fcae..9be7a4c0a3ca 100644 --- a/kernel/trace/trace.c +++ b/kernel/trace/trace.c @@ -8477,7 +8477,6 @@ tracing_buffers_splice_read(struct file *file, loff_t= *ppos, if (splice_grow_spd(pipe, &spd)) return -ENOMEM; =20 - again: trace_access_lock(iter->cpu_file); entries =3D ring_buffer_entries_cpu(iter->array_buffer->buffer, iter->cpu= _file); =20 @@ -8528,35 +8527,12 @@ tracing_buffers_splice_read(struct file *file, loff= _t *ppos, =20 /* did we read anything? */ if (!spd.nr_pages) { - long wait_index; - - if (ret) - goto out; - - ret =3D -EAGAIN; - if ((file->f_flags & O_NONBLOCK) || (flags & SPLICE_F_NONBLOCK)) - goto out; - - wait_index =3D READ_ONCE(iter->wait_index); - - ret =3D wait_on_pipe(iter, iter->tr->buffer_percent); - if (ret) - goto out; - - /* No need to wait after waking up when tracing is off */ - if (!tracer_tracing_is_on(iter->tr)) - goto out; - - /* Make sure we see the new wait_index */ - smp_rmb(); - if (wait_index !=3D iter->wait_index) - goto out; - - goto again; + if (!ret) + ret =3D -EAGAIN; + } else { + ret =3D splice_to_pipe(pipe, &spd); } =20 - ret =3D splice_to_pipe(pipe, &spd); -out: splice_shrink_spd(&spd); =20 return ret; --=20 2.39.2 --g54druvikqn24p6f Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TS0ACgkQvP0LAY0m WPF63Q/+OAYOkFT+fQwGUZ1l3xQn7uXI1BvgJCTJYsy/ovPkqp60dJ2oSkrT4ZoR ngXaput2QYh+kRINn4r6NE4l3VTnIDbbDViXBdHjXvywCx7014GavLfUbVvSz5wZ GzwNIrUVszdIDv2na7L5Be+8C7R+5AlKDvtRiU9r6H5h2IIS0B3BBGkla/NNt5Z0 U/UPlFEytG0X/12K3eRt80AvXHYK27v0EWKuI0sDAN7D5qyLpKH1WBxFHG4QU+0p MTfamhiZFeT+6uqiqFhNR08WbMtvyqtQEoAvkuGO0zY8rGmX0HIuNqfOjtRVHKGx NJ98YLV4Ty+YEWnx14mcVy+dVWi651Jr45RbriaJq4/Ze+cikJsX5HaJt7vyUW1m R/apJo40OLyiDs7oXVubnQuoGA7EhceDkpyRZNjO/mh6FGrFV6RXjdB3LrkEgi2Y QIDhePbLp4a3Nstf/cS7Ribbd4PX/sGKzGANuRWu7cTF5PWYSyAHbuMO9VWkSfP5 G9Xl+8jucDJUdVYWn0DjUx1yJ0dAjCZCGswhxrzcVx0nyS7bxJDr0pGgN8OJHmiw tk8AJw9M8YuxW8zQ1cuH7z+8g1sf5jxclKWU/8nTxjmNBBGpAwABN5k55PKINqAL rKdiqHcaPLKf4ErWZ2VLwLY+TifuiOk3oty9+Xl2MDS5INYwUlM= =uzCr -----END PGP SIGNATURE----- --g54druvikqn24p6f-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id C8D31C4332F for ; Thu, 14 Dec 2023 18:45:25 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235756AbjLNSpR (ORCPT ); Thu, 14 Dec 2023 13:45:17 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573282AbjLNSpA (ORCPT ); Thu, 14 Dec 2023 13:45:00 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 4729518F; Thu, 14 Dec 2023 10:45:06 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579504; bh=2ssiVml4m8qqmo285KKEoUuoX6hT0FelEWEeDIquwac=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=QQwQ7kVsirDbfrc3qHB34GkO3GIFQTUF/vVWaXTL/s5rXafsrY3xyV9wYGYQw6HE/ ee4penYF7q4qAgMlMeUkYnDYfVtqNkPvfxpgAm7dd0HewSWdnH4LUcKglTmgoSaS0f XIDSyCBKMi6S1fAjqdPtNgoDO6WjfMG/dlRUn1N+QD0EOGZiLN+MWnpBwJYpVOA4CT DbRwvoAKPmKFmvxFpm+p/bHNtncRBSTw+2S+L5aaCDpYOHvtOu09tJOwycBNkRyspd 78rfnsknZQ+OLAhKmOl9E673CaExiP8CZCuqy994nyfaU/kBnZqUpkS+fSEahYSKn7 YJsxSs1dxmbKw== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id D6DF413794; Thu, 14 Dec 2023 19:45:04 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:04 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Andrew Morton , Hyeonggon Yoo <42.hyeyoo@gmail.com>, "Liam R. Howlett" , Pengcheng Yang , Zhang Zhengming , Xu Panda , Li kunyu , Gavrilov Ilia , Suren Baghdasaryan , linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 05/11] relayfs: relay_file_splice_read: always return -EAGAIN for no data Message-ID: <2329ea2aecb56e982f16aea7c637fd0e8a7985506.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="r7skt7wykof2z2de" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --r7skt7wykof2z2de Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" For consistency with the new "file->pipe reads non-blockingly" semantic. Signed-off-by: Ahelenia Ziemia=C5=84ska --- kernel/relay.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/kernel/relay.c b/kernel/relay.c index 83fe0325cde1..3d381e94a204 100644 --- a/kernel/relay.c +++ b/kernel/relay.c @@ -1215,8 +1215,7 @@ static ssize_t relay_file_splice_read(struct file *in, if (ret < 0) break; else if (!ret) { - if (flags & SPLICE_F_NONBLOCK) - ret =3D -EAGAIN; + ret =3D -EAGAIN; break; } =20 --=20 2.39.2 --r7skt7wykof2z2de Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTAACgkQvP0LAY0m WPGpIBAAtgSY2hCgLEKlAVjEfl1/tbiE3LuNlXrzoW7favgFzE8BZ6vY8XVnKgdc cIZxw5f3ym3BxK48mh1d2rqxuW92seUTF4zAsIz82xt4DC+72FYH5rXQqrS7svZs FvxSBpm6OduP5vib1Ef3kfXkE4kI2HzlkGOhyrmThQ7c9f8HTNu6HGcHtqZAMUGC 5jnukq361XsjFi+MxIais0Zc9SVW4P3sx4SM6lGosiCCwhg8AF1n8BFqn1X4tzSy jLKxPqDytA2ngC/j9/A+SlkPK5TSxHpy+o95YDCxtQziSmrkoTDQq0/WdiE3Hjul NK+z9kbYvbx0VX0cll6zBiByBlnn2EZ2LBlL0Hxj9PE2/ilISjwSYpn6kI+/CgPE ylp2qkDcYeBrQ+BQefgivj0xM+zEnwSIOGIAnw4AT0L407X7QfKW2ZYfr29psds+ 11B+eKjI2GsGXQleAzrRKHu1Ig3mXPR2W4L8N6o+HpvQenjbNB2KPOVAdcGVidNQ 0aVmKToGwBMTuyHcIayRmkuVr3qbIW+czzBnUebPORF3R0GdmkINBzsDXJPK+AZ0 ROUOG4WiITeauhl/wiBC/E6OvgPgBu0BvVc5VxNc3xusVdfI67APOZrw0MSqYAwW leCU6koppIyQkl6fLzEq2IoOTkWXoiXr2IORy4N7YyzHjQrZXF8= =CQg3 -----END PGP SIGNATURE----- --r7skt7wykof2z2de-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B942BC4332F for ; Thu, 14 Dec 2023 18:45:28 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573383AbjLNSpU (ORCPT ); Thu, 14 Dec 2023 13:45:20 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58098 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235757AbjLNSpJ (ORCPT ); Thu, 14 Dec 2023 13:45:09 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0A0DF191; Thu, 14 Dec 2023 10:45:08 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579507; bh=PXy1R2vwiW8A+KWASBw8dr5/DmcBJ0IEf3dFC85mQcY=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=oyywvtgX6oB4Loxdmd/EoU++8RV/IElw8VF3Jy+1ZdFZhJ6d573To1kXtbm6XaZrf 6+GeDpcK8oRxScDdXUiFqwABUMekRu4SnvSlM4J9scZMnPHJeDSf+S6UmrU0HKMzww +d2AD00EGLyCdS4STW5c0WrmXDNzL7mHOCc0eKrJaPBa3ZNvDfsKWDdnmjh7zZXetJ +Kz6W/D0UGJvTBfTggfxoe81Rl8kyANYCb5d6vfWDRrPbj1K/hVt9TV6SVphxL2HrS 60byyjT0YCbKti0kKIM+PYPHZEd6z3dlwZphS8HxraVIv+y3ADdJ1DK2IjpKHUXs8G bZ24ZQirTcmEg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 902331398C; Thu, 14 Dec 2023 19:45:07 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:07 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Karsten Graul , Wenjia Zhang , Jan Karcher , "D. Wythe" , Tony Lu , Wen Gu , "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , linux-s390@vger.kernel.org, netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 06/11] net/smc: smc_splice_read: always request MSG_DONTWAIT Message-ID: <245da5ab094bcc7d3331385e8813074922c2a13c6.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="l4z4w7hyrnleo4rd" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --l4z4w7hyrnleo4rd Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- net/smc/af_smc.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/net/smc/af_smc.c b/net/smc/af_smc.c index bacdd971615e..89473305f629 100644 --- a/net/smc/af_smc.c +++ b/net/smc/af_smc.c @@ -3243,12 +3243,8 @@ static ssize_t smc_splice_read(struct socket *sock, = loff_t *ppos, rc =3D -ESPIPE; goto out; } - if (flags & SPLICE_F_NONBLOCK) - flags =3D MSG_DONTWAIT; - else - flags =3D 0; SMC_STAT_INC(smc, splice_cnt); - rc =3D smc_rx_recvmsg(smc, NULL, pipe, len, flags); + rc =3D smc_rx_recvmsg(smc, NULL, pipe, len, MSG_DONTWAIT); } out: release_sock(sk); --=20 2.39.2 --l4z4w7hyrnleo4rd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTMACgkQvP0LAY0m WPForQ//WzHhUmkfyAAcw6XAu0st2Tx/S0T4A8l24yTjKu6/h2phrrquWFN0C79n nDa7MaFQEA8qXMAsROApZoHayZpSq+w3jee6D+3MRwnsPp8wEMWs+KGTlX09D978 4qbgCq1shAJSsms4U1EbSINfu499AwyDUREI5wY+49WCdZMADG/C7imntuw4xspd scXnF8CXKfEezTx6VJPTYhJHswgbwkKbh6GtuiZmppqaFZAdXolj/9Vpb8+Rlm38 jiPL7XX7zBoI+yZdsxprh4xNU7rvOpIGnnVlGswDlJ7Y36wryXhOIhQOF3hzhKLE 2GsdPt6YkjVmXiGPSIx+5UZ8+GIOhSoI+M/pLwep29PVG+HST7UCJfdO+TGgiKWd sPRImk1GFZJvC0XK4xAn5XLGubk17JcrDNkaXX8BxK0nD7uZkqxpDXsQKkEJhXEh xfXb/PV2Pl140PJ3D72sak8KKoR+MLjnxKnGX2I+08OVJBE1+k/SKn0HolRUTupW lkFwG/qehZppWnoBjVrSnknp9EppSS0cxCprhYo4VsowmDduVE1AbyMGad2olq1h K6opPf1wfCnR8EzaFHsAopFlRi1NHVE5xZ4Hu77zAVnxficxxEL86rijUiUAM5uY ClM5h5nv8LDF04ZN70QS6uytYomwSnnlLiWHYX/JkOtxXvDm7QA= =hazA -----END PGP SIGNATURE----- --l4z4w7hyrnleo4rd-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2783FC4332F for ; Thu, 14 Dec 2023 18:45:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573504AbjLNSp0 (ORCPT ); Thu, 14 Dec 2023 13:45:26 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58050 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235780AbjLNSpM (ORCPT ); Thu, 14 Dec 2023 13:45:12 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6C8CB1BE; Thu, 14 Dec 2023 10:45:11 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579510; bh=3+ew1mEY+zwZ0CgM50WSpaK0xitBcIbGALQyFKzLJsQ=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=FbIkGS4v0GUxOMwpZJlneptUHxBKSzYD20ioLXKT+HVtqpA11z5FLvS89fMve8Aqv 5xkcim+9Tp+FuZqGQF+CI1uoQunfcooKH0/egoYxEC/lpEZtIpb/amxrbGsg9O0lQJ oGEFWBoO4XMANVAisRqrU0DNdWSM8hFr+s7vD4wBR3FZdU8Geg4O96DieeuesbNtxC n0lR5Bor5RQhxzoDOKX1XjnT5qW/LIzZqfqlWWOL+0CY4wBDSyL891hHBA7dzTELif 2hEzt+A6Hzh7ezQ2o9bGKKK5mbK/XXl7mmTfLS1s034e8DS4Bbvwe/XrQpfV5tjxol ZfQWcSieBFsIA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id E966413796; Thu, 14 Dec 2023 19:45:09 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:09 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, "David S. Miller" , Eric Dumazet , Jakub Kicinski , Paolo Abeni , David Howells , Shigeru Yoshida , Kuniyuki Iwashima , Cong Wang , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 07/11] kcm: kcm_splice_read: always request MSG_DONTWAIT Message-ID: <2b5a634f5fe1a89d42a7a4f91316f888b02ca576f.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="whdhopzeizlay4jq" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --whdhopzeizlay4jq Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Also: don't pass the SPLICE_F_*-style flags argument to skb_recv_datagram(), which expects MSG_*-style flags. This fixes SPLICE_F_NONBLOCK not having worked. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- net/kcm/kcmsock.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index dd1d8ffd5f59..de70156869e6 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c @@ -1028,7 +1028,7 @@ static ssize_t kcm_splice_read(struct socket *sock, l= off_t *ppos, =20 /* Only support splice for SOCKSEQPACKET */ =20 - skb =3D skb_recv_datagram(sk, flags, &err); + skb =3D skb_recv_datagram(sk, MSG_DONTWAIT, &err); if (!skb) goto err_out; =20 --=20 2.39.2 --whdhopzeizlay4jq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTUACgkQvP0LAY0m WPHlwQ//Z1SpUyd3i9HJEevrtGYu6vrIyvz8NnBPwd657S56twXuwqKd+hgld+4P cYHt6vu27crsAwv/hivAaGShsh3hORw1h7Z1kyPqFLfyuQAQi4pip1T3bS9l+A+8 /rBfRtAEn8BCYnGLvGxHxjq5I98eL1N3nFHh1RkFw6culEj1nfc4mdsW0rCgevuO nr5kqd9KkutZjCAtZ6RM9N9tDnyY71xCc9LuuXsRL2q4XJz0rlucuDxZO0/7QIYc FpruH3+IUV2KLpAVjMSNt8v0r3K0WLXvnEqNME34lxFOXTqKcncZxXdF6JCriw8O NIeuYiUrgtxoizN3oyMJFwODyQZF6g6wTCtgtxZnQFPXqy03WyY2Hg6rce7haweB gTp4tZ4s3pvQ0S/w4E6L/GNTX4LUvrsG6b/W+kSOBUEFjoayecg519J6dyOtMbkY x8hHm3puLKkb5Oimv6cOf6oUdB81N05F7khX18z1Df50Tv5q9N0lzAx5kWD4lSQ3 yWn31DDV4zBXoAgKhi0Am1InQfYXijJIA7t9f/6y+sPzLoHT86y7Yq5ZmUnyAcYC D+4mkFPbQqvEMtO3KoJtRk4VCDVXbXa6meIUdJnnJ1sHZz3YMotg+eBgipYKgb5/ 6VHtR8j0UghYOM/evvHzEouT9dyO2G1etqo9iAAijU1h6yQ/yyQ= =2w/s -----END PGP SIGNATURE----- --whdhopzeizlay4jq-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 0BD05C4332F for ; Thu, 14 Dec 2023 18:45:39 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573578AbjLNSpa (ORCPT ); Thu, 14 Dec 2023 13:45:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59950 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235787AbjLNSpO (ORCPT ); Thu, 14 Dec 2023 13:45:14 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id B0808D4E; Thu, 14 Dec 2023 10:45:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579512; bh=8SccJBZdD6aVuGUXwvyxv46MttfctOjmM7x9ll4fJrw=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=N/WMy1GYhBqMQtyaK8cwvSxySt3AQyoSakF9rLNn/iXCBzqLaY6Gx6+A8KcCQvv5J snP/AEZA+0N/NiLDcCyBcOAtEWNmIuUx6aMCFbfOSpMEFLHmYjcA1Ya+QP0EL5ZymD vRBoWppY3Xhbn96WzNi4PoKiRsKtXuGBxyJ/GawKf1ktklPLVA8+btLH92qCV2NMDX gGY4KaHQvSXsl0zVsFwYJa5MAfbaz4VNtDPouHcTdYCzXbYqXA9l+ZXF47QKv7iX47 4cx7gwZP2ko1pSazp5XgCA1XK84jiA8M1WWWjOi4LCT4AYQWFzz6wItyYGuk2ZWqvS zOnez67wb8xLA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4A9031398E; Thu, 14 Dec 2023 19:45:12 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:12 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Boris Pismenny , John Fastabend , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 08/11] tls/sw: tls_sw_splice_read: always request non-blocking I/O Message-ID: <20fffb097b4d2b328ef16e7353d6829f1ec9efcae.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="72rmbb73vdgn7njt" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --72rmbb73vdgn7njt Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- net/tls/tls_sw.c | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/net/tls/tls_sw.c b/net/tls/tls_sw.c index d1fc295b83b5..73d88c6739e8 100644 --- a/net/tls/tls_sw.c +++ b/net/tls/tls_sw.c @@ -2145,7 +2145,7 @@ ssize_t tls_sw_splice_read(struct socket *sock, loff= _t *ppos, int chunk; int err; =20 - err =3D tls_rx_reader_lock(sk, ctx, flags & SPLICE_F_NONBLOCK); + err =3D tls_rx_reader_lock(sk, ctx, true); if (err < 0) return err; =20 @@ -2154,8 +2154,7 @@ ssize_t tls_sw_splice_read(struct socket *sock, loff= _t *ppos, } else { struct tls_decrypt_arg darg; =20 - err =3D tls_rx_rec_wait(sk, NULL, flags & SPLICE_F_NONBLOCK, - true); + err =3D tls_rx_rec_wait(sk, NULL, true, true); if (err <=3D 0) goto splice_read_end; =20 --=20 2.39.2 --72rmbb73vdgn7njt Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTcACgkQvP0LAY0m WPFXNw//bqWp3zjX6kgqvex9txAftjMPBVGK4DyG2w6suviic0vY8UgqI08Pnzln CjHRLMogxUaDG9VCoYWPTvWXZPGDW3ZTd+KcqjLifFc+pqFaYVi+5YJuzykNlLme U5qWkoJYfcs9IsCFZ4tb51rnWZhTqvQ48Fx1Od7xn8c7MUMwEWuoxdzF2PoVACmx mtsEwej6W5FV4kdXZGMd9veB57urNZJf+qVJIVG8fyFOOZfYBDyZKeh5q6ZuBVa9 g/ZyDs68FZoQNaaWqGe1CpSuCEIotOg3rsQPP7QpKjUPy83RdCzM7sBJdvfQ5k5Y xbPsF49h3yfqexL9RvQjcmqmF3WLUJ16IX2vc8CzSsEoJXRjOdJKb36V0Nh18CSK S7mGyMnoT06Jn/9gqDl/hMUL1F6MYBjmd1ua1UfvRdazH/xc97NkwUJJb4nrm0ll 6giGRxqdWLcKAIsecGWAiqGC+zGfSDt87gUbhOMKDPfC60I5xY8kHg7DE/EoYLm2 idpYyeWUt8bFqxL1CinAYP31xr18W1JV/6oOeWrfHG/8MmfXfDJ6GKvtm+9lgDV6 kSSMnqlSxh47QFtN/s5G3+hohSbYtm0vwp7kEQQPXU7frjCHXBTKBcoXbqxRoPmS tLcVXGhYyzLNUXe9VH6dzv1zMPOWLX05fhvlG0XxQlLW89BA2CA= =jf9+ -----END PGP SIGNATURE----- --72rmbb73vdgn7njt-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 4C589C4332F for ; Thu, 14 Dec 2023 18:45:50 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573249AbjLNSpi (ORCPT ); Thu, 14 Dec 2023 13:45:38 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58012 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573233AbjLNSpQ (ORCPT ); Thu, 14 Dec 2023 13:45:16 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C8C68D6D; Thu, 14 Dec 2023 10:45:15 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579514; bh=+jS1MLjilnhxRPOp0kqbSSFP9DLnqgTL1iwYC7/xSp8=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=PH1S8/DfkxO1QyDe0AqWW8FTVsk0Kh+JAcJjokfuWmIJ1XIXS4j3UdhaddJCcs3Ns XzQHOBgPOsF+JTRHOv6L4hkqJrJOnM6jtbRPn/8maHf1xjn8eHwqY3vurChFIUx8ll FtTdKk96NeN/4TE84wdjzanPXyIUkzUsp+DAFoJtn1AGNqEhxw0WbTKZuI9EN/iUfZ W5NljOKMiCWg8N4LE1+BZewiYPut6wykWkqZuZK5nUalpzFR+9RZsSxpIAv66cCS9R EZ8uilAs9BmK1jMUUYzyC3QEsNQK3fFjGp4nIWiX+U2AVDn2Fh8NAlH9XXh4ywMKAL wJTOwaCVPXV8g== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 52B9A13798; Thu, 14 Dec 2023 19:45:14 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:14 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, Eric Dumazet , "David S. Miller" , David Ahern , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 09/11] net/tcp: tcp_splice_read: always do non-blocking reads Message-ID: <2d44f2f64c18151d103ee045d1e3ce7a7d5534273.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="6sgdahaz72uicyvq" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --6sgdahaz72uicyvq Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. sock_rcvtimeo() returns 0 if the second argument is true, so the explicit re-try loop for empty read conditions can be removed entirely. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- net/ipv4/tcp.c | 30 +++--------------------------- 1 file changed, 3 insertions(+), 27 deletions(-) diff --git a/net/ipv4/tcp.c b/net/ipv4/tcp.c index 3f66cdeef7de..09b562e2c1bf 100644 --- a/net/ipv4/tcp.c +++ b/net/ipv4/tcp.c @@ -782,7 +782,6 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *pp= os, .len =3D len, .flags =3D flags, }; - long timeo; ssize_t spliced; int ret; =20 @@ -797,7 +796,6 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *pp= os, =20 lock_sock(sk); =20 - timeo =3D sock_rcvtimeo(sk, sock->file->f_flags & O_NONBLOCK); while (tss.len) { ret =3D __tcp_splice_read(sk, &tss); if (ret < 0) @@ -821,35 +819,13 @@ ssize_t tcp_splice_read(struct socket *sock, loff_t *= ppos, ret =3D -ENOTCONN; break; } - if (!timeo) { - ret =3D -EAGAIN; - break; - } - /* if __tcp_splice_read() got nothing while we have - * an skb in receive queue, we do not want to loop. - * This might happen with URG data. - */ - if (!skb_queue_empty(&sk->sk_receive_queue)) - break; - sk_wait_data(sk, &timeo, NULL); - if (signal_pending(current)) { - ret =3D sock_intr_errno(timeo); - break; - } - continue; + ret =3D -EAGAIN; + break; } tss.len -=3D ret; spliced +=3D ret; =20 - if (!tss.len || !timeo) - break; - release_sock(sk); - lock_sock(sk); - - if (sk->sk_err || sk->sk_state =3D=3D TCP_CLOSE || - (sk->sk_shutdown & RCV_SHUTDOWN) || - signal_pending(current)) - break; + break; } =20 release_sock(sk); --=20 2.39.2 --6sgdahaz72uicyvq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTkACgkQvP0LAY0m WPGANw/8D1YCIrVZ4bS0K0ryXlK1B+D+T4y2m/WOWKAApdw0Noli4oDhvaFjRX5x p2NKG/bJNc2gk4H9HPvkhO3AOFKFDAPv9nMRbfaIvXgRBLI9EarZGZolTNBdYipJ +Q7fHHBlqhKrrtIGWnpppqqElD4N/xD5QwCRDB+UnTcuyj4Pj1yJG0ZIcSgkg3th OGqO5gyXZs4kxWHaVBhgCsfWt67WEhqZpmxi1Oyid8Ka06kkbU1KS1IeNujp8DKr VIAchxFge51ljmYKZK6PSw/iassC2QPnMcasNZZYAVnTU5IZpMZMq+6662rIeH3W 1edAJZw8R4NHzmlfERNl8s7yaZ3y6fV+OJC9OoFdu/sQIaCimeOzKsZvBspJd69G OG2AcfcKwDuKnjPiUM2m9hsWmLQ7vQhXIxDXs+U80WDvMuKqzKKwXM4uUWNjQjaf 27ftOG8zkI4c09WJe+Kj6e8OwKujNLXUmvyRSssFJLUvSmo18A1DeICqXXk8gTng ugtQw3vq+89SM78KfiblW8ck2llVgOlRkrUbynw03eQ1SKF9N7Up3sN5DOgD21BJ WuHgES2Ushzrp75tudATCZrSffsdw6uzuDmQRgeRNWHdcoWU8yHengVRgBLdqKBB cQ2S1H1SexjjqJanjO7TLIZ5tPEKvcBgJGWXaaXj2rBntkyJc4k= =XfJ5 -----END PGP SIGNATURE----- --6sgdahaz72uicyvq-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A042C4332F for ; Thu, 14 Dec 2023 18:45:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573168AbjLNSpq (ORCPT ); Thu, 14 Dec 2023 13:45:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:58108 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573260AbjLNSpR (ORCPT ); Thu, 14 Dec 2023 13:45:17 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D3FF610C4; Thu, 14 Dec 2023 10:45:17 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579516; bh=nDrwqDx6g17tp76N5xVUDx8sUEDcvzOb97eotkFu3/k=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=bU9lIeGDIS4sb4eigHq8GkEC2G0QMzGoWlh/3T6TCHg4E7CiLMx6bQhTrB2uPpk8j ssozwnxjkVhZyEpDAVSf+GeMQ2iDxQaNQB9ZJF33EZtkloiW25yAV6e2kfwdpVNQBg rAo1xySnVgDvdqKVSOX/Hx4LKdqcTnlQaI84JLOg6QMzXXlCbUAe6Ced9wsyGUJjqU ybnPvgcZ4j8Qo80Ln49MG0FiNV3kUv2kbj6z9B/91NC+JUFPl13k8ro6EBaBE/uYLt aYiwtqxmm6DHMe24nl6WsxT3vvR/q0x+MAbHsLbLdGqvfOlyB/Lo/b3On3E8BUVJEp V6V+Z3IxNwrbA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4786313990; Thu, 14 Dec 2023 19:45:16 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:16 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 10/11] splice: file->pipe: -EINVAL for non-regular files w/o FMODE_NOWAIT Message-ID: <25974c79b84c0b3aad566ff7c33b082f90ac5f17e.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="nahgatr7vznet5uy" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --nahgatr7vznet5uy Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" We request non-blocking I/O in the generic implementation, but some files =E2=80=92 ttys =E2=80=92 only check O_NONBLOCK. Refuse them here, les= t we risk sleeping with the pipe locked for indeterminate lengths of time. This also masks inconsistent wake-ups (usually every second line) when splicing from ttys in icanon mode. Regular files don't /have/ a distinct O_NONBLOCK mode, because they always behave non-blockingly, and for them FMODE_NOWAIT is used in the purest sense of /* File is capable of returning -EAGAIN if I/O will block */ which is not set by the vast majority of filesystems, and it's not the semantic we want here. Link: https://lore.kernel.org/linux-fsdevel/qk6hjuam54khlaikf2ssom6custxf5i= s2ekkaequf4hvode3ls@zgf7j5j4ubvw/t/#u Signed-off-by: Ahelenia Ziemia=C5=84ska --- fs/splice.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/fs/splice.c b/fs/splice.c index 9d29664f23ee..81788bf7daa1 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -1300,6 +1300,8 @@ long do_splice(struct file *in, loff_t *off_in, struc= t file *out, } else if (opipe) { if (off_out) return -ESPIPE; + if (!((in->f_mode & FMODE_NOWAIT) || S_ISREG(in->f_inode->i_mode))) + return -EINVAL; if (off_in) { if (!(in->f_mode & FMODE_PREAD)) return -EINVAL; --=20 2.39.2 --nahgatr7vznet5uy Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TTsACgkQvP0LAY0m WPG0kw//XaT6a9M/I3lwDoHIwD8jmA4YvrDYXd17kTGGyTlEjJ3MkN1uy0tBL9JB F15x4n42QkCX2nBf+wClYkG4sbss0sPz7qw0nvU9no5+a4p9a9Q+Q6619FKoKTgD P1MD8ehjb0chM9VbWUZ2wXYxHn/CLDXuBXIx/FcGeu7/XWFCrJo6PJoENie6FBIb tNHKTkCDq1v4cQFi9ZzkKaEuYkt62FbRnMlP65tgdu62kFnbSm69rZqkSkw8e5fW uHRZ+mdEiGpcyPrf4Dh30BA3uee8kQ751LKN0hOEvwIqudidUhCNPYJ42d+ndSsa K7mu2XaPKtqgqNZar5OrNSiGqCXlOZlmxXcjEgeC6OWCMa7kdL891rngHVSN7VG5 LvV/wi+3BdNnASOspkE/N73LA43sEQPQbkNrNsXsp1PT/wJsXCnzm9fKD8uUewpN srV0zasghFl6aI6TYDCUwmEbNHtoB0tJF0mNvU9IvETZJg92jSvC/GDKlE6L1Bb+ VL/Pwz1POWtyzgZSGTcom/HAa2x5IgDZ8qEkb7OLegqDv/Aqw486RK+tJpW1Cf5M OKlAM50448ziDvq+WkvbKF2Pu0iseBFVAWP1q8wzYWYOb4yMUFwDVrpgE3E81iww CEbzBNC5UfeaeoIdwLpgBQW9dx/kfVVToK1O5EyJk+iuFQF1WRY= =2snT -----END PGP SIGNATURE----- --nahgatr7vznet5uy-- From nobody Wed Dec 17 08:08:57 2025 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id AE84EC4167D for ; Thu, 14 Dec 2023 18:45:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1573282AbjLNSpu (ORCPT ); Thu, 14 Dec 2023 13:45:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60198 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1573184AbjLNSpR (ORCPT ); Thu, 14 Dec 2023 13:45:17 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E02A110CA; Thu, 14 Dec 2023 10:45:19 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702579518; bh=0Y5aaQx2qRwfXzxGXtA4gFQ+RiU4c9MyNSa/+MyfLpc=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=qe6kFjlfCM7Eq94x2i5G7nSUHxzylJFbomjl/T2NXk9aoSZEafuH5veu/HbgK0JCO cb3CKGuEyFze10Qb4J5LCAgbu/vmpXwsn7N8LluHlAi1h2fZDv1Oo8WnItQTALiuQv mFZO34GK2R+yyc1HxH87BtdpApvjZG/QRX4QgHPFwGy6jhoiDd7CkEi5KWxqtqSm9c VOe9hc4vSVwhoxMWBYcaQ6PoEwok+I2T/rcrVhEuqRycp+FSjjVFaLs3iScLJgf02j 3gL6yRi+psxCcwtJ62pNiW3EGnizxIvAjNxBHPpV1hVXSZYUrCmE5hJS4M5+5EsZOh YXspp0bKJ4rRA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 7D9F21379A; Thu, 14 Dec 2023 19:45:18 +0100 (CET) Date: Thu, 14 Dec 2023 19:45:18 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Jens Axboe , Christian Brauner , Alexander Viro , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RERESEND 11/11] splice: splice_to_socket: always request MSG_DONTWAIT Message-ID: <2813e1805aa942862d300bec4d0563c5a466dce78.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="ef7ptjqou3gwujpq" Content-Disposition: inline In-Reply-To: <2cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --ef7ptjqou3gwujpq Content-Disposition: inline Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Otherwise we risk sleeping with the pipe locked for indeterminate lengths of time. Signed-off-by: Ahelenia Ziemia=C5=84ska --- fs/splice.c | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/fs/splice.c b/fs/splice.c index 81788bf7daa1..d5885032f9a8 100644 --- a/fs/splice.c +++ b/fs/splice.c @@ -869,13 +869,11 @@ ssize_t splice_to_socket(struct pipe_inode_info *pipe= , struct file *out, if (!bc) break; =20 - msg.msg_flags =3D MSG_SPLICE_PAGES; + msg.msg_flags =3D MSG_SPLICE_PAGES | MSG_DONTWAIT; if (flags & SPLICE_F_MORE) msg.msg_flags |=3D MSG_MORE; if (remain && pipe_occupancy(pipe->head, tail) > 0) msg.msg_flags |=3D MSG_MORE; - if (out->f_flags & O_NONBLOCK) - msg.msg_flags |=3D MSG_DONTWAIT; =20 iov_iter_bvec(&msg.msg_iter, ITER_SOURCE, bvec, bc, len - remain); --=20 2.39.2 --ef7ptjqou3gwujpq Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV7TT4ACgkQvP0LAY0m WPHoGA//WafMWyMpdgGZ2htkdb/yOw0yqvKt5rsq3pAso+znIfljltMCbJvX5plo Dl59qaX/IfopYup0AfSVnl8iIWn2LcFHiF/K5dShyLfRqRLG4tIBvp+mI6N7203b XPyfTvKt/mIwAO6AIeJtgCczb0drwpV8bobQQBAWBxXvxi828aPlXp0+KH8Ajjpr Q89KVKfnooXkWEhVM7QOdh1pgxcinCfqz6aZrV1CgQrTkD+T/7nVBSqL90ue+g81 wSBTZF3k7rzfa3gifMC5LWoFgRxPAjrPowcgCUJJaDSWzNTOKOPNQoggAKulLTKc 5dh2ZKp0UHCep/CvzBNfZkWBYLsK0SQLMR+/Jxf8VK9hsE6ndQ4guhJ6SvD+KtA/ 6Qo8hFrMJjsgQiPn+lDVbrwuJDZ9R8vGDVGk6YofM5v7QxMiKzRpuCISRBoKBvIX VbFTFdLldwDmLBXWk3AYYu6k4j4fKit7+BRfI/OvbiYdUPkrYxEhzlDqvW10trrK HYoaAoQ3UPXCkeP01wpXc4CT3LuGicGsvSpcd2VpRTvbHQNIDPH+jYHQacnycOr3 B2O1THWE9iyVmtepj+pXq76plWniBDguqnALzg+bkhPh4pJY3iqTAU741UYtlYVM 9BjwKVfJ3PRN/kHQZcwSPs8ZNrwOUF3W6YIxip4FglKgd3WdoxI= =vAs0 -----END PGP SIGNATURE----- --ef7ptjqou3gwujpq--