From nobody Wed Dec 17 08:00:00 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 A293FCDB465 for ; Mon, 16 Oct 2023 20:35:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234177AbjJPUfs (ORCPT ); Mon, 16 Oct 2023 16:35:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233280AbjJPUfo (ORCPT ); Mon, 16 Oct 2023 16:35:44 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 12A5F103; Mon, 16 Oct 2023 13:35:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488537; bh=Alm3zmAVynjk8wk0prJ+3hHGU0F6PYlx1LJH0af40nw=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=C90GcxUM6lHvAoH/AV87Tw0bEuMMpniry7O2C1sQXd2Ss0UcHJDrMIz+A0VTmZ4+i WrM1fIAWn3ZGFsHF+CG7BRXBXoV/cB/OTlCrlqyfioSxLmDK4xXrwGWi0+rsry14AH otEtVRC4SPvlxKLDqTtwwwmtqFWSL7aWEnVTbdJ7K5vdxyoEX3iJFY4iQtA4RqqQzi c6hhcKuoUx7aHL7GoJYj1oMcBpDBRwmkkGTDqrjd2YGBLtY069IrnDwj+eQwu4Jn9+ bs0v1rDRKY5BuMIHAkjGE8L0/VsvX2nZ95w9uoXb6Yx1CFK6QJIGp1/34899mmG9iG RHHBFrY5ounbg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 3EADA10406; Mon, 16 Oct 2023 22:35:37 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:37 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 01/11] splice: copy_splice_read: do the I/O with IOCB_NOWAIT Message-ID: <9910c8026500ba43f3d93e66e822ae64980d9527.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="26wv7mk76hokbeym" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --26wv7mk76hokbeym 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 --26wv7mk76hokbeym Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnpgACgkQvP0LAY0m WPEeiw/+LGihh3VzXbGXJt1xP3uYkNdlPePOwrGEHJbYmH1qaP+Q2KLYZLTvCJso 8vCQ1OdEH1gkeyxl12tYVhqXO0P1qg0VR2H8i0Watgch+fDEG/BOeoSRlB0j38xM myyJAc8IvQl5NMOqQU624J4KI728C7yQ7aTZzz/CorK9Rf9u8wMxXLPLKRo13Egp SDSe3pBW53Lt1nzwXw8CVgl0ya5uzLy4HYhfReuw8wh4hozguvI67WXPtXwc9hGI NItKumUw8VvfjzxhPyl2+5N+SYOB/ZrvQxYjdsD9FHnOzC2y/5CjJDHbnL2erV1V scdMse+FDuwx8n88Ydq/R8W5NZkl/52N7loPFWc9BZrSXlir5AN0vrzB2hd7iYMx /+3W7c4iDMnlcn6LY5bf8He6gOVsD/IRaZFkXzUzZpFmzn3O9j7/S2LRKDlAZWvc YyVoYjRfrkeF92ALivESOrZ0g/feGn0YGEyl6q2Hnjca7gfSHqTG8LQMXrT0O7mG Kl4IwS2Sz1sybC9YmG4KNBHGefGlV0js0/hUR8Wq3SHDnombaNDYaaH+3CS9QfCT gEtegDa3N/dF1U3xsfCZyRmdn0WdFEHBg+OpEWC2yJ3LKbWI2c4zjmn31+UHMpwX ygfb01wnyWb/QvFmSzASjhdC7jKvVecAOsspp++YNNHMJDFZ5S0= =aeXE -----END PGP SIGNATURE----- --26wv7mk76hokbeym-- From nobody Wed Dec 17 08:00:00 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 DF13ECDB465 for ; Mon, 16 Oct 2023 20:35:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234194AbjJPUfx (ORCPT ); Mon, 16 Oct 2023 16:35:53 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56642 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233732AbjJPUfo (ORCPT ); Mon, 16 Oct 2023 16:35:44 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id BF85CEE; Mon, 16 Oct 2023 13:35:42 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488539; bh=QIdiucrS3GrnXntvusWAnMhQFbLIMZWpsYTEgA0oZvk=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=GWQMVXQZ7y/HbCSGTSv83Wr3yTwhc+socxhzXVipZsxtx0T8JcxosbyMpIp3Lf8z7 JGKoumBA2EtRQkMukTFZR1ov6HnSh6vAOMfSSX8Qv3NG3x0SzdEfL6op9BJRNlrdit 8AE/gWj3NaT4wXWPw6kLwuuTLlvYsWwsqJPB4zMV8Ip+Gi8BNEAOdGvGp8rwKnnHXn fIUROjStWO6J0jfFr/Y5Z/t9Pl4LzAySsoxK597OsUEHrgCxdr3Eao51iJp55Bdz4J GF+q0YcnRS+Wrlqvkd6H9r/Figdls5+HeYs79FtkCRMTC4O7V3jlWQmzwQZRwL22hs GwkNuU8yyzSjQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id D38D610408; Mon, 16 Oct 2023 22:35:39 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:39 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: "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 02/11] af_unix: unix_stream_splice_read: always request MSG_DONTWAIT Message-ID: <8db45d00902da22ae25aa16a0c28bb41002fc039.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="rszd4xwxhzlr2ybj" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --rszd4xwxhzlr2ybj 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 --rszd4xwxhzlr2ybj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnpsACgkQvP0LAY0m WPFuFQ//RSJgctb0QfmDrNoHt0l9fqCJ7qs2IRUfTmE3JBSnwvfKCm8Jelz7qzp6 xIgixDpRNfjQi9fxf3mqnkV2vlSoktUE7uJQ43x742uVLD6PI3ZATjZuocMZpOgL 0HFJQhN5y+C7KKFmQPmgapK+uwyMNDDl4tfwS9JPrucOcfKfehhsHPZ+G94ZyiR8 4J9gmpdoHZrcJQeQth0v249B3P95wimjvYY4Ryb0Jx+/5Zt7eGcoJMDvcRAfKDps 5qRCQ2665+uqWToA0FQ3zIaoAwfCn4/mzO5CZXf+yks8MNFMnmqWPioCBoT8nErN YiXMESTrVOTVTJNaqCR/9uw5L/SNiwV7paUGfzwHgcuPeSeQ/h+QScGqufRHZ6c9 5iawZ349lBkypA+vfPmt+KDVn66eGeP2/z/LD0fKetzTz4DBIkVa8InPO+2kecqe zbKDrptCqTD+JYfdoKveZ1rEs+1dIzRjH88RVcsWxj3fu9vX8SDvuXeoBQa3CIuI QEuaJlBz58whkkL6c5HVBHxy5SGgAQ+U6PkH0DeMXQ6/QuqgsqLVE7MlueT3lExY Y2KOZDA8YKLHkxGPw8LmIJM9TdZYoHRjGKDVaBxtfSJ4Iwu0x94kOQNfqXRIDuMB hUAAJoo5YVbMOGqPYhESksdb6XPtLVLONwlrPu+4qyF4eCvxiMs= =dGfn -----END PGP SIGNATURE----- --rszd4xwxhzlr2ybj-- From nobody Wed Dec 17 08:00:00 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 9A547CDB465 for ; Mon, 16 Oct 2023 20:35:58 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234202AbjJPUf5 (ORCPT ); Mon, 16 Oct 2023 16:35:57 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:45392 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234165AbjJPUfr (ORCPT ); Mon, 16 Oct 2023 16:35:47 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6A4FFF3; Mon, 16 Oct 2023 13:35:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488542; bh=NRbNKQIbqXwdFI6cLSPVAS/zA6d+h5GOKJtPRmfoW1I=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=FDxSK7+q7Lv09vsL8pwbGb9kZulXuWLSLcMHJqbOLfGi3sPDBv8k3fZEPTkVFjsnV kg0uWcEDp+AS88dUZtq+5FB2Oo6s3r83e67FdycNGsOVssbG5ORlkHWf7Kr6s/1iKy LJXB1Mi4I2HZpqKc+3SDmOUw7ppNORSGrCtraFoCus5ZBX1t5E74VPabdeJNP8prRZ x5u/KxdG3/8pWLlJ4NiImWdEbZWl0qtAmGSWKP75IXEIyyVSCyOQZubiI2iukhk2yi PwIiXZCHVvzuciffqB3bmWj2IKRHFB2FKFaPkwgEnimH4KV1FQPzLZ3yOlHr1qbFhr bPASMjVSgsixg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 98D861040A; Mon, 16 Oct 2023 22:35:42 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:42 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Miklos Szeredi , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 03/11] fuse: fuse_dev_splice_read: use nonblocking I/O Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="aje76f4rtpk7e2ye" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --aje76f4rtpk7e2ye 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 --aje76f4rtpk7e2ye Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnp4ACgkQvP0LAY0m WPH6cQ//UrYGJe9MUjkJmtN07tf0Dvf+/gXlR/aNy+yHBUKqY7OPbWNZZsbLti7v 8sNdGoz87UwPn0pj8hNPf+aKf1aKEKJv0PLk3sFEdPgpz19fuVZ7FRy6FC8OG3ll M1ylviQMxlujVv0EVUQVIdRXzx8CPpn4MbkHommZqHHRiK3mlUHO3ck+T2mYQ6Tg japJ/N5C3hcgaGz102WEYj2tnZkdd9ClC5PLGmmj0thUOCqSw6MFWOghvT3s0EI8 k2JtPpvx+HCyDnZuaEpZOskVbvDXXUUiJB1VCuHtaDHhZmPKoU+/oH4K3ADcuYEf 0047TnkemD+CBW+grdo4VPTAaScMHIVNZtf+YxioUN2lwOmcXu25Dgz87ZW56JhS GB14qYn7WEMv3Fpo7X5Ek8QcQoPtAjj6mb4CfWvpSrKBAqWixkQJHg5Ykl1WZc+A 7ApvdxwfO7z6i8SEZIIiAFIBrgY2fezt+YTs4LiVyhWdp96IT/2zGR8LtBmB6euw Uc86pG6VzqsNEO4SIxxPd81c6ACRWWcoXoyxUS2L5rOFVHQKFFoPXBCB0uo+4mUT idBQyGui+CbIGHWtZbxUEwi+5P1M6sloNdy4dKPxVAljDwczhpiSdfJIfxLsOF/p pkx/ViEm3UEiEusGdJqwdU0uhi+CBpT3no24HNnHuKWMinOvA4s= =NRJP -----END PGP SIGNATURE----- --aje76f4rtpk7e2ye-- From nobody Wed Dec 17 08:00:00 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 E3AE1CDB474 for ; Mon, 16 Oct 2023 20:36:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234211AbjJPUgG (ORCPT ); Mon, 16 Oct 2023 16:36:06 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234210AbjJPUf7 (ORCPT ); Mon, 16 Oct 2023 16:35:59 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1EE35F9; Mon, 16 Oct 2023 13:35:48 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488545; bh=M3/tVO1jPiOOO1Rw82ko0E0+3twLTEqXefGMw9ogJ9c=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=jYyfhEbJKEMbOcqostzxf+q73l4ZaJN6lOf9bdtVSWBOPf+msOlGFpNFJVUsC6+QG 4wJk7QZj/bAAHrNWwhLZuaEVwhM5Iau+GJ3ojMT0KmcjbZoVDP8Skr8cgtWqiuJHNN pMZ7Lvlf8sfXBY000Uy1ucYtx/WVcKldmqPDCM1xc0Ewjiq3/kxnKcdUStKYsI5EZQ g1tOMXu8arK3rnoQylY8ZPA5AvYphy71K/rwO1J1Qs3jVbucbNUusKHp5iPIlf3PZP Ten/sO9sDaOD7Sh0aRYfwshmiwXykfQDyItYBVGMYi+QjMKL0/38X1D1bhgw/zCn5S wXaLEXXF1FoVw== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4B34D10410; Mon, 16 Oct 2023 22:35:45 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:45 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Steven Rostedt , Masami Hiramatsu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH 04/11] tracing: tracing_buffers_splice_read: behave as-if non-blocking I/O Message-ID: <1b84f2e4e5eaad501ff7b2bb03e2ad2f25ecdf14.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="jnbdnpt6gizqlzrj" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --jnbdnpt6gizqlzrj 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 --jnbdnpt6gizqlzrj Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqAACgkQvP0LAY0m WPEmqw/9F+86jAT/+cOAKyJ5dowTlCTtI+SGP8lbyGOvjoWqxtxJDm3/GLDyPyP0 5QGkE1/eUjJJ7TsN+qqQk2Ykgc+pi0cx/QYXVNEhh9lvmN6l7K0MfNqtDsQdAV8Y V0umad0M411VJHUMUxqKh6eTj+U6Q9Ie37xi+6WiBXdArobvqGtS5aVhPsu80zgO N6CP+px0KJ0atkrMcZCHfljwDM/x+xLWUs3OvV4yfnhlx3Y4OaKahlJ+U+T5mgXD jpQb830Emc97eQptnBk/LKoGC/jfHZQQrIM7ECXFSRog5OQXm9ly7N+iHOU7L0fq KBXD1A6g6dEMwEJktFTST+tcxUlLe4S/G4BayYvrVKec+9k6AAD9TGcErBO8u698 OexL1N3Aok0s1GZTUe7bWe3550Zw/pKYY9ZX1MtvDsCJNXadqZKyPr0CVXUfINpr kJvVyEePVzxoSanJ8jR6/8cPHSSFnMioN+Ed7OYVQAOsOpnPQFc3hq1tSYjqgQJV 1nakzp7vzt/gysy5kokfq7yYvTEcCmaJVXqvUgk77jUntoM52vQl5ztLolvXaQTO Q4YWomGl++BNEa0EIIGIMdA0feFKCby0d5+SMACBz0SjQWnTcl248O+1WP7+kBx1 HUvkIZfScVZZPHfk30F63Aq2cLmLNV0Cw7DPpa4G9tGhuBWNoTo= =RqPS -----END PGP SIGNATURE----- --jnbdnpt6gizqlzrj-- From nobody Wed Dec 17 08:00:00 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 23AF5CDB465 for ; Mon, 16 Oct 2023 20:36:11 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234174AbjJPUgK (ORCPT ); Mon, 16 Oct 2023 16:36:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52842 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234158AbjJPUf7 (ORCPT ); Mon, 16 Oct 2023 16:35:59 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 92D2EFB for ; Mon, 16 Oct 2023 13:35:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488547; bh=BL2nvvqmXUiLD1k/WJxDJuoKF37Dds8amZSyjDvQggY=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=IPYJ/UOZHMjmTbBk0B4ucR9ykxebZ6gj9hCrlA67sv//yW+ch5OYd8tuQ5AEyygEo 8ccEpfpkL6BvcJrN8JKDbIlKu7kf7nQG0QPh38XhGQOYvMCgQmYyd+bh7O17U+alGT 2q53FEEmpgaqR2tOMi8sjPYvQP+UlY+zDvbCd2AYMiylE9pMej5ynHLGFfFcjp5sxH lKGc0BIOJDCHDgtOgGuhDrPMp/pLuNGE6yN3D3ktY2lmnQVvov4Zi+MQ202wvSjIs2 H1d8bgllteTwDIxS7vaGLAUjPabkkz2HqQ40DRTPrdI9HsNE2Zqcdo1UIKoJ9MZXAX aR3O0jsM3QQCQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id CAC2310412; Mon, 16 Oct 2023 22:35:47 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:47 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: 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 05/11] relayfs: relay_file_splice_read: always return -EAGAIN for no data Message-ID: <329ea2aecb56e982f16aea7c637fd0e8a7985506.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="xgzyovxow36knrrr" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --xgzyovxow36knrrr 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 --xgzyovxow36knrrr Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqMACgkQvP0LAY0m WPELZA//fmLRKbL79Rgf3cwooEXyDV23JKNm0RG3vI8mKBL1P1xRezpHzfnXUf4v 39SzF1bZ7pzlPwI6043qGlI7zS8Eu2nRRkM9SEGH9q0VTNQTNkn4Nh9ytjjrAwLj kL5v69VH0oR7fOHeQc/OHQFZLOpbmVVNgUMN4ClvlEyYCpTPEeIbvBZsQv0Y6ng2 NRX202BF3X1e6DU/RzpScvJhrpiaOhtev1h/IDNiHgzTq7I/hdZ+oDZH7KbCUuta 8f0GRgI453Ux16htD0JVHsgREMTe0CrTsokDY9t+sU2vJDJDiJYuVPw+7wznVUSY 51w31rAauLwpULOOoOhknYSHJcZ3FtPBH4mCvHAj8U5lSTCuXXiAVCAuXmVSn+DV HQxRL6o9yLvGF5lpuHDYBbG6k+bewGZiZ1bUZUdEfT1/jVYO/8jK2p9CJF++j0Uf q8EQdj45/pETs0oyzTftPh1er+bvTJSS8515f9GsNXih4LM7OYiGQcBKL1f0VlZk 3EU0vEG0LzXxGJwJq4AxS5ebTU1G2j9K7G6avtP0VmnJyCVaExzDeOoDTrO/lCkU 7PJxJ+3VPHrd++/QJECAzmHH8CzTz7xTRa9/z/ug8CAkyaXHSuJRemYwLiZWz0wz JTlBUd+xHngIFI048C0rP7Ya+91fU3oN+vHvcfi/8utubswVhNg= =WOMB -----END PGP SIGNATURE----- --xgzyovxow36knrrr-- From nobody Wed Dec 17 08:00:00 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 4A492CDB482 for ; Mon, 16 Oct 2023 20:36:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234217AbjJPUgL (ORCPT ); Mon, 16 Oct 2023 16:36:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52918 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234232AbjJPUgE (ORCPT ); Mon, 16 Oct 2023 16:36:04 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 05108A2; Mon, 16 Oct 2023 13:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488550; bh=U1WgWCtmO/bEZ1AED24mCSnyrNXJpL+Y8jZtS7Uiqmw=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=NnbBuKeKpbCRZiKTZ0ErYxqllKdbeGYbOkrq7PCgezUnRSCKITL04C3B52B4ezIC2 qbWjx5knHEvFjx/c5qAQDFXWn4Gq1xy00JsQOD5qStbtjJ0JXZQP9eFmH4w+6qbKrk i++jePBXe+2YsLtyp8j/DCzzc/CrE87I4JuWKRcHLIaXzAL4BCGCTL7OLrEmTcZTlf /a4FJ6fSFhuU3Ow4xYUbIFIPmBMbTyDa/pzGfpK+kgNvBjOvcVPaYhy0A4hOmfl538 kFfoa8qrYOXCvCsZmeSve3t+x5tf85mAbx5H0jX9qIkYpcnSvoeHTkh4jbUMMJpHQR 4u9r4mx4oGR5g== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 298CE10414; Mon, 16 Oct 2023 22:35:50 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:50 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: 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 06/11] net/smc: smc_splice_read: always request MSG_DONTWAIT Message-ID: <45da5ab094bcc7d3331385e8813074922c2a13c6.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="47tcgm2g6sbkxgtd" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --47tcgm2g6sbkxgtd 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 --47tcgm2g6sbkxgtd Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqUACgkQvP0LAY0m WPFUKxAAtTKaJX/sYGTuVM8QUutGSWhA+NIlyw7Q1JsrTd4NMyNOH5/q0d+w2cO1 cJ97addBcqUihdkjrxN4J4OCdcgi2ZZOspVFvEKxRVdcuE63+ua1l/xdZ9Yn08Tm KZMgk6khtM8Sh0cvOZKpkC2kNyLlavNBXmmd8efd+yCOJOaUIingaqaj7pOJOvf2 PPU3a1ErK8TCFIEugu/XDPvbvShTSJzOyw91E11NBB19TS72oxUdUoCW07OtZGoP 8nXUiQpKaG+LyKdam4qazu4oLBP5gBIy/cnYbwRrOtj8xdiOhxYBLSp7pYETWQQm YqWe+IAnHzkzJUmdC+RcohBlFNAhIV4hPaGXS77VU3XKZgtGxvI4lrNIYwN3580K JAVhAda2mbmqo5F7VWQt/mygvRtRy8AhWhffsPEdbQFvy9kIJj69cXmWtw6rrn+1 pQRc30hv1lDhsDug304WZMaub5XJujUzX3J8+7eGnBASw9bOb1K1pEpYaFlC6l2f B5HmhckumNimxxG6To2FjxLLQytKZ2dr34g1B1xWVexdOVOkr2mc1WL/GabKh/53 /BPXGZ8jcvf4Ly1x41sO2xO2914R+jnjVVWwio32Eig5EemORZarxFbwB/KIo4G5 P29UVPy+jes7Icui9Zg1lxgYherj24YqXwfzbxKa+XQbO1Vho0Q= =jEe8 -----END PGP SIGNATURE----- --47tcgm2g6sbkxgtd-- From nobody Wed Dec 17 08:00:00 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 CF41FCDB474 for ; Mon, 16 Oct 2023 20:36:22 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234328AbjJPUgV (ORCPT ); Mon, 16 Oct 2023 16:36:21 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52806 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234226AbjJPUgH (ORCPT ); Mon, 16 Oct 2023 16:36:07 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 025A0123; Mon, 16 Oct 2023 13:35:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488552; bh=9mA+IthVHwQ9TSYNjqEKDb8kf+N/Q7iDq28AtGEeciE=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=lxMf2+MOA79RE4VScijXoK8rNPHRW9UOeU2uTN7EM3YPwY4rpMY26E74YOCzDsc0Z miHGoe4GCcbE5k25IyGVdqMmWJxWZh+jogsXmzP5wnwDpOlQoEz8ZWQTodNwrq06fW GVNIsHHOzTflFS5iB1HYVf1kIu0pyLi6X5qxFwTgwLlLMF75VYilOd/IjwCMyMNQth Uq8ISe3D6PQvpknfDVmM7vPOrsSu8KpwvEfBGTRC9PiOEeHwkdQCEvk5pHYFqklOWJ Vu9zdP6SkVzUBVkaq+S2OUUtjBaG+CoHmFWm4rErLjAhDe/Dek3x0yFFEhZDSmsdHB UjarR9JexTauQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 44257FD48; Mon, 16 Oct 2023 22:35:52 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:52 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: "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 07/11] kcm: kcm_splice_read: always request MSG_DONTWAIT Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3nezagrfhxjugaiu" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --3nezagrfhxjugaiu 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 --3nezagrfhxjugaiu Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqcACgkQvP0LAY0m WPFfPg/7BLf4GfCFFFQnpfm/hNBXK7uaqDIVht6nNEUVcBLk74rgK5ueYbLfqUVp Kc+0lhKL1+bSUMuzrMJaSJVSWK3Vvz49OoZsSSOS9B0myJ7+LCuqbleTpWDtVkZV WxLWS/bOHIrTJfgFuK01+sQ6pPd351OPUhPe1eDp6wEFdJpx+AjChB+OSqbgQUlT W3PUhTzFHxgpxMbK0E9DGtOtbDJEqdmV4yfJznxKuIt6fKILfpDalFW8UoYbyVpp N4KWofvUTi2SvIvye5IZgZsQwLdGHBkoKbBjZHZxEvBLf3T7YLfDu74DddOIST64 /HUsRAQcrilssrrLjvHZ0UmXtHlL15K+TkDpt6a9+6l+osqHz/uM861MH2W7qeFg OxJLZL/gMs7NGk7m+EsCMbz+FKzA3s+nNyPSyL0cOYyPJ+Huo4Zau86MyV4jqabt HwtUGgF8OX7JQRKlna+mOYsmFeRvPNet748OgwlAuIgRtg78lkSxN0Z44n4CaEzY gPTQd21aElCxkWflX6DC4T1tIjOg0dVY07sgELYd3ge6CU01rmreyOnbXc6B9ZOG i+QN4JZR0BkYXEs5j/vlI/s5jICilO3iqdjzFG6Sot/gQCysfazj3mL7X8wLWYKI RhYSUaF6QMc/siOJZnazRBhjNKuzPyiYGrQpDUZqwp6LIaNyuVo= =zW1r -----END PGP SIGNATURE----- --3nezagrfhxjugaiu-- From nobody Wed Dec 17 08:00:00 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 2EAE2CDB465 for ; Mon, 16 Oct 2023 20:36:14 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234301AbjJPUgN (ORCPT ); Mon, 16 Oct 2023 16:36:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:41908 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234248AbjJPUgG (ORCPT ); Mon, 16 Oct 2023 16:36:06 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 498FD12D; Mon, 16 Oct 2023 13:35:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488554; bh=yKqnk4KdW1G8ysN8p/704fCo5DUzCZ+wWpZiakGmbbc=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=jRVa45p81I96MvAlHdov6fY8gT4VGBQoFIRSUCCfB6WfpqB46snLFIrXqqaC7D6tx qx2WoDz18lqvDyrYgQPZ7oxDzQ2bbLlGebQ6bmYjgr19EHMJNHV3ldO9ZmbLTSwp+f v6Ap2pIY0JNAwg6ZvUFfel2aFzlckL8o+bJkB0nfxwmtwHWGxZajW2/jbAhncs0CPx bv/5EUD++wYozIZLaSDlMF1luRAfwWuBv3NwS73kWGYk9IsC4meal1ogWUNtAzayYu 6SFiFSRvno0UvsRHN7hQXxVgmV8gmznX4kmKJjG5Of33d198+kPS4HHIeyO+AL2rQW UcFqRDvfltF1w== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 7910D10418; Mon, 16 Oct 2023 22:35:54 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:54 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Boris Pismenny , John Fastabend , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 08/11] tls/sw: tls_sw_splice_read: always request non-blocking I/O Message-ID: <0fffb097b4d2b328ef16e7353d6829f1ec9efcae.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="73zfmjpwwsl4usws" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --73zfmjpwwsl4usws 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 --73zfmjpwwsl4usws Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqoACgkQvP0LAY0m WPFlYhAAnkMDpuvV0EWTaMfU6iwNB92VTzc48ejj+wDFlYag8KeTHrZSj5Tapz7t mNy7Jz9XvCgH7eZcYKEC471JKkwwRK/lSo/sjaPlew/X881pIWG0KimcduEeYPrJ AU+qUaZurhgb/4FGFE/eQyLWl3J3ZByBxw0IEjK1TWESrBKf2qgPDFKaeDleb/V7 7snl8x/fwLvxZY84ErfggX+YlAU0ErqrMnwN7VoXmvnvnxh6WzLyqUZuq5m9P/6L t8sbnAzsCmNzG2Q3RM63kb/5Fo/PDuGsBkutk3nj57Szo3N+QWEv+ibAGNWADI+Q WHgAo5UVMWvimlHU2PeKEg08HQJpwG4fIA5EW27WTwmiqcayMDGUPRYoo2ZDdTL3 L6MdLvsUnDqTXvk1/rUBGimoUdK6+wY+FOtoP1ZsVKHA3fpKYKh2LmNYq9HdWnzF cc0UGI0LNMMkQJWXpSLlTXJqTZ6zu3uOjWAaBMi+73EweF928YWYOov2IGf+dDFe qz2yGTnvrDYyX6QlKnh+o+B5WGsU0t//ZLHUB78M3euF7KGdZmduyIJbl/b5uEe1 AOd5bAtty5kfi0DHJj1POJb2d5o4t840BkKMuyqcv3VDtWBKRR8Y8mv4jTTPpyK5 X7Qz4K14wdX0IOcHIITmIzgIlKmir3YImQ1e3A68YCi/U3p14UM= =Zwbs -----END PGP SIGNATURE----- --73zfmjpwwsl4usws-- From nobody Wed Dec 17 08:00:00 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 6B99DCDB465 for ; Mon, 16 Oct 2023 20:36:34 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234312AbjJPUgd (ORCPT ); Mon, 16 Oct 2023 16:36:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52934 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234235AbjJPUgK (ORCPT ); Mon, 16 Oct 2023 16:36:10 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8A20A181; Mon, 16 Oct 2023 13:35:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488557; bh=9/Rch1NNnuQcxUUP1sdNlrNNgx7qX1hxKSFQK/3R+Pg=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=UmpOEYPJlFLiL4ag5qI+r8wZnOjdoxGBe9TfIsmDRZajgouiqNxZIFuEPmq0+t0dQ XjWhFPb64jAe3/1/E7WKRc3Ygdb9pGYU9if2p7IqdndK6KJ8GrBb53XK4WCsLpu78l GkAyuT4vdjDak/FatVvwXqPcKN4WjZDqSOHGvfLI7AR6N5xvSSbf53N0/Iji9xRtnR YZyvcwA2KvsCuVaMmxmXgyCAVFZg/LCrx6pFjfeVTSfwIr2c6FcaMOiFhJXsYe/5rk pfiDdyRNRKP+LR0YKcUBN668YPC9vsuIw7Sipc9Wiq9fw+t6hPM/0XI05F9OErBe36 1sb5wxpR2oNXg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 043D71041C; Mon, 16 Oct 2023 22:35:57 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:56 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Eric Dumazet , "David S. Miller" , David Ahern , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 09/11] net/tcp: tcp_splice_read: always do non-blocking reads Message-ID: References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="fzr4ntv4xizfeqvz" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --fzr4ntv4xizfeqvz 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 --fzr4ntv4xizfeqvz Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnqwACgkQvP0LAY0m WPFjbRAApjaF2MmOlUN/7/0y1McNSrda5MBqzAFcQ3NKrJBC3+bbPLoxIayoT27x JBVR4DxibstsZkxjjoeM2yMsxprbP6F6K0RzdKGp1PyjlioTxUJfgkhLyBckOEt7 KrSBEwTGDDtdnwCFWJBWHtjtdFyCjLu6PaDu1xQs6mS7JZbOkGrrEFIIuq2rUp6F oBBzmc9CQut830eAB/UoJeVmU4WnFAT9Aqq5LcDQltkTp4XJYNsjyuzW2KCzhpuY Y3tQrDDrxHvhaEfdMw9K8M30EycM0XEk2r119k51F/Hzgh//nKe1d6M9qYxo9P3e n9OXOaq1VMVSHrkwgPe7z4jZpY/ot2ybHiw/EzZLtJ1Tyd8kSsnSAuSvBsEIo8nN FwSRJvWPDx0pTixy/otgGaQ6aFlEUw5PMvrU6cKQeuGjtVHUKdzICoIFkBSuPZW8 9Jo7Ijlcy7r97AHFAYffvQm2WjazLhllHga1cxgLDKuFYsMxIGsSMLK5xilDGQr3 gQS3iDEf3mIeVoqayBlXgNmyiZFzRgeyShN29FCBVatfm+WU9z2syDzzGgChBvYd A7vNgyuWzO99NF2E41J9iKP8HIPFronfsov+HM2SyZnWsFabdlGqTYlUDlIk+Vv+ +mwy+pPB4/Y+ihlEjTMU2hwbRs6mS0JM9Xm71w7V++uZfNNkPy0= =KTUg -----END PGP SIGNATURE----- --fzr4ntv4xizfeqvz-- From nobody Wed Dec 17 08:00:00 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 688C4CDB465 for ; Mon, 16 Oct 2023 20:36:37 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234388AbjJPUgg (ORCPT ); Mon, 16 Oct 2023 16:36:36 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42080 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234286AbjJPUgL (ORCPT ); Mon, 16 Oct 2023 16:36:11 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 03DC6F5; Mon, 16 Oct 2023 13:36:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488559; bh=AbhKjmGcFK7a0VSiC3Uyp/FqZCpYv3ilKDudDv/H+vg=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=JVhaOxgfx7Mls92DNPEIWl9LDiGpLsqnYzvsIikxwThGSQkKph//v1LaOuQww4Jxs 834qWDOxzlJZ+w3TVxkD/3tpeLhRRRkdC5t+fKPiLNbdpSakUTP/vVweidpMvXV/4j 0dgVhKfiNO0loNffmpqR1pBfze63D4UcGtKLRhaXHvIaleLWumdMi26LAipBDTplCd KoGZKJHXcsIS2oJ0sWeV3HjJFTTxZWaAUV7oKOnQzlIvejR/hrjok+SxPcRKCeZ5B9 6Q8ng29ppdCpc3MKP0JtRI6fKZVE+e7u4Q4ptnz/0LakLzVpNjA+kvLC1ImClyMSR4 RsIlD/R+AywNw== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 1CEFD10502; Mon, 16 Oct 2023 22:35:59 +0200 (CEST) Date: Mon, 16 Oct 2023 22:35:59 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 10/11] splice: file->pipe: -EINVAL for non-regular files w/o FMODE_NOWAIT Message-ID: <5974c79b84c0b3aad566ff7c33b082f90ac5f17e.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="2kmqog55wiriurlb" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --2kmqog55wiriurlb 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 --2kmqog55wiriurlb Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnq4ACgkQvP0LAY0m WPEpAg/7BUL4idkMMgsWTcDBR1zcXKEzx7VaIGw4cMmWVQsbi6ni0c3xtMf87Pcp f2qkU4hKon41qzlJQy2xpQx9XzW4FpyCpLM4bf01vm3w7uoW/5NeF+bWUpljo0I7 OT5UbgEEiWedBkiB2k2zNugZyz5arEmCb1pLOqXCfkjeQ6W0SfSOM1wFIe+FMes0 B6GO6TOGW799SSLRO8bLXj8A40cHomCJAF7lbt1KLB1QwmSVHe/AgpdTBnx6SWek 1JupLtJ1AQMBRzqs1WoFfPWK19oYPH+IQxS+AcHxamcF2HG9eoX9hVlThYyY2rUj 0zbcyoFnl9yN7q7d3XD1f1TE74uYGY0Z3EgXRaPzT9YHLx24Ts5c34iWhUe3mTqM naBJkhDJYJebRvTbLHUX4CGyA4EsOYB2ibc3JzmG5MyCphU6jasEDnGqGqLAmb83 f2Yl2M004ytC5unxrZ2zaQjp4WaF2v7NnShUtxWXjuDgzgi3MiN6VCp5YazjvhzX 9psziTqbubn4OCrVp0misOQUQL7Q5+/m/YIcfDkBDAtaFfj3d/IHtyBbUla+5lYO 9Jwk5RBsZtiFn0dQRhpAMMGpAdKkmNlBvfuDGqNsN0BD4ZEAt2/c2lOlIa/uzS6s E8R958JUoWmdYWprxxKIhN8UjvuB4SnV4glRyZTc+ngPYa57pKI= =39/H -----END PGP SIGNATURE----- --2kmqog55wiriurlb-- From nobody Wed Dec 17 08:00:00 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 6C31DCDB465 for ; Mon, 16 Oct 2023 20:36:40 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234248AbjJPUgk (ORCPT ); Mon, 16 Oct 2023 16:36:40 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:52848 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234308AbjJPUgS (ORCPT ); Mon, 16 Oct 2023 16:36:18 -0400 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 01D7119B; Mon, 16 Oct 2023 13:36:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1697488561; bh=GkcnvUcVpOCe5CAn1FqxU2g9Mal7SpC32VFF9WWd900=; h=Date:From:Cc:Subject:References:In-Reply-To:From; b=C1tqd1IUfTUwcsTencFYK4ZinxRZ0QuZ2dZaoE4ARNPRyq9gW9vWpdT8w5ibyI9IO r/FM5jS6XvZd94ewaBp3MmdkRCL01YlZZssVYT41RzBlOUuSwQmqV+o25Ai1oqf73g whBgvc+ZQIe1ix40Z7jL4XY9W38v3Z3RqOdHieeMFPqJmKEnGktgj7gqgPU8eFoxmn IucbGc2OFlHummOanDb/K4JlQDjB2Lrog6jG0eHqeDRjXWJq25q7gLNGnW7fC69FOK cZaaNZmMMW+ARrhcgZtdy2gtZEiAZ/iNRHUwVcZRPlnB2HWc4b5sja3KX4egmRmtL5 DhT5tHfmd/Wsg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 6EDA4FAF2; Mon, 16 Oct 2023 22:36:01 +0200 (CEST) Date: Mon, 16 Oct 2023 22:36:01 +0200 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= Cc: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH 11/11] splice: splice_to_socket: always request MSG_DONTWAIT Message-ID: <813e1805aa942862d300bec4d0563c5a466dce78.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="4tuu7g3cnuobllgt" Content-Disposition: inline In-Reply-To: User-Agent: NeoMutt/20231006 To: unlisted-recipients:; (no To-header on input) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --4tuu7g3cnuobllgt 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 --4tuu7g3cnuobllgt Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmUtnrEACgkQvP0LAY0m WPFaiw/+PYxS4XTUis48aaacFF5+UetcG8qMihZRg51JtDxWGPZp4BjlVL6pODGg tCRTmD6NsG5XDSeKHSKx0TRSmY+aBTtEmxlg0HvQ2etwqGBgbiZ7JR5PI8oxtr7G LbMaqhTeLfE8u62NfGYM37mCRLbQcVam0pjcKH/JlUzJhdh8lnzvrqTfzF4T1Mhb jM42T3cy0Qq0kG0BWI2mSH0cBuklkb+2I6SiEIRSjZsqQxawCxavVve5JAQYfCDZ eulH5r115uagSiKcZIec2qfywUv9ATUZ9Lr71j8U4YBsfIh4uo/kSjtZcrHCxmFc weUWiweg3VTHfdHmIUOMWZ3Yt4zwNzf6v3gK7e3glYBiFLYuAU/NqKlkWBJVGLJy wBEf0L/vf0z/DQJPOWgLpqSbVelNjgiA0U6kTggLy6QImCHaCKqti+0mj/JPGsWn P63QY/wyxtI/bmaMOhp8mNovo1tZnr9L9liXcLhkBA70eROu8OIyxlFT1Cm8ueKM NNL3vixRal7Lz+Le4YcbXzSbfkf9OGf5qVFzGL0UY4YmmlbaBB4WEeE8RwmPT3QA Zf+WFnYoCH7x+QKSUWmAXNgrHPADtk1qG5RCrMOuBcqEEq24vPC14vje+ZFxXLDq 3xJPtVnNQrzwrTsDr5Syw3mg8tV2/yGAtg4DTkX+jxsgDmuFDVg= =alCd -----END PGP SIGNATURE----- --4tuu7g3cnuobllgt--