From nobody Sun Dec 28 06:56:12 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 78B60C4332F for ; Tue, 12 Dec 2023 10:12:42 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232003AbjLLKMc (ORCPT ); Tue, 12 Dec 2023 05:12:32 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59046 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230508AbjLLKM2 (ORCPT ); Tue, 12 Dec 2023 05:12:28 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D42C79C; Tue, 12 Dec 2023 02:12:34 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375953; bh=4W7u+rDADbbJkWobBhlJPUHFhHQq5S7vzstWfOqjssk=; h=Date:From:To:Subject:References:In-Reply-To:From; b=LJxubxPLaxOr7sailyjIGDn+LExkcMhhNvGORanAehnhW0OUH7vKXnHMX/aZRUBtp pwgxidzvWNVMaboCG5E7BVf0/wlxXQnv1ANoTO0NkJAU5jYF2MXmUlOWFwPuJ4+lEu Vs8Bs/hdpJd9wgWhGOagMgmb5jhX59JPPMOTD+E1f6Q3spcKsMWjpUNEsP2xL4uV4X ShEYZQXpsUS3X9co4oU1wyXQs7mSBywQpoubPBOZzlK5HOiogOLpd0tUJrpnVsxPM+ Mobd/QpmVm9el7ZTVtFajy3et27vJjQWjosb8jVceoJzPmZEu3U4/PgC4wCwkZyoKQ 0wa9bYmXe4qIg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 8357512A76; Tue, 12 Dec 2023 11:12:33 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:33 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 01/11] splice: copy_splice_read: do the I/O with IOCB_NOWAIT Message-ID: <19910c8026500ba43f3d93e66e822ae64980d9527.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="3cvtmoaqsrgnkrir" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --3cvtmoaqsrgnkrir 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 --3cvtmoaqsrgnkrir Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MhEACgkQvP0LAY0m WPF9Cg/9EffrwGSBBwc94UVX9562toxZU0cTfGiMv1uKHdSNskGZYRfejpTiN74p n9uDBaV4gmogC62cBg8Z/mQgwjMsOkuWw+6c4JyfR1CSVSOIyBcuDxcMRK8nz5qB YTKOOiYM3/agWDeDMPp3c5EORR8chn6zq/x9EIySRaOO35WPaBuIGKtg3NAI3Msn HMVEYidGQjTVbi7mCO9rij6XLh8sWOEJQ1NvURp2Jh/K53Vyuqn9BuiGm/WKf3uI tBsXci0eUYHndhHFVs9S0TxS6aDqGXuPfKZBb+JlMCDTJIeSceTMFJNvjJ6jrpSM BT0cD0FAcVDDXhZ7+q75zm7Ha7Vu0V4CAFbMKcYbiFjkudcN5XHLLILHB4qwSEfE yn7DKo/6llYuykrTWZDn0myZgMRb3mtajqzXLc2zeS0gaKvKaQxZDOQBDmoBRS74 1xKTN+hwAC46Ryo8Memut4QWb5bBmElKlDL3c0flqBHLwHzxb77sSckSs81Bixgi RSGr0fUP1hhzPQ2B0Ikb1I+KlwP12SzcNcc0cSxrEI2WX6buD3enTQiD3aV+ghku Jp2Fecr99J/KmKjRzbjjmol9Zb/b3tKySzUQGKSWw7O8Xl/v9w19vzS46ETSkcYj VKnQkRRfMGT92EZyH5WnhKkQK6zwgRn+mOa9jVnPs13B0fiH8M8= =EBxL -----END PGP SIGNATURE----- --3cvtmoaqsrgnkrir-- From nobody Sun Dec 28 06:56:12 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 E62DFC4332F for ; Tue, 12 Dec 2023 10:12:48 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235048AbjLLKMj (ORCPT ); Tue, 12 Dec 2023 05:12:39 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59060 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231657AbjLLKMc (ORCPT ); Tue, 12 Dec 2023 05:12:32 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 1C8C1A9; Tue, 12 Dec 2023 02:12:38 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375956; bh=GmhTyoCmHF6HqL+pWcL97O1/nAP/FmrlJL/j4tpBifk=; h=Date:From:To:Subject:References:In-Reply-To:From; b=T2SIjZwbG6EhhNDgN8BPDisp+H0VJJkoYAjObGhcc+zxY6SDD0I2QgLSSeuN6Gd0X Shxww6COV76UAfTxT07ByfTU8S9DVidsI3WxOUB0A8ty488KqwitMerjTvjlX61wLb FePvMbjBLI6Z3ylFOJ6jQShhZTjg8W45kOaJgH+sJ19ObdaUbhkCePZd8jFI+9hwH4 rqMLH1X/14jefE7ZmoA3AUZK7Eru3j9t/mjrurkgWZanJImAGm3UlAAscqEM1BIK5s G76ahQPKcpVvOgrcOHV2Egx45kzthRd6A5I4urr8TGoFV+Xyda8GR4gYImsyPRwqeV I8AV8RAk8BaqQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id BE56A12A78; Tue, 12 Dec 2023 11:12:36 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:36 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: "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 RESEND 02/11] af_unix: unix_stream_splice_read: always request MSG_DONTWAIT Message-ID: <18db45d00902da22ae25aa16a0c28bb41002fc039.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="k2mx2flozmpmt4tz" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --k2mx2flozmpmt4tz 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 --k2mx2flozmpmt4tz Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MhQACgkQvP0LAY0m WPGK4w//ZWsmQV8Q0ys/yOVJNTrnIQX9XxXsgSvTvM8bu/AW65aPWEPav1OCZRMB RAXJ2G6VjsYReDPcLY2QAJ3zHCvhBZCay5YsaaH9l6eUQixk08ko0ALTBcTjHJcz M6ravdyeYXycwTgicG9JE9WZ/7FpkqAYlCf9rndmembpUCHayledBOpOGAnxJK2A QpDLHRVvPYBSNRrY6gk9tKs/Kw2sOeeNYtoiWvGSs7TsHurzlmUM9iIZPFpHIfks fmWfffXCRRubABzhZGsgVYwT/+8oLzLbGTyP23YMT5d43BrsBeIZbdiqMwJPkHBy HDinEbb3uCQljkXbsZ7AhN+pGZvsE/rGYWaT+wnXDH1JdGubccq9gObcvhHgTpKN q39M+vYO+miOmgFRIUBvjUuyEKtIHQtk2IuXR8hgkrr7+9w3jfI95CnP+UBBTCff 8J15zFNFM1pP9SwBgaXArqqrMFQapwJ2HW0cX3kC/IXYU991B6WqM1q8j0bn6Tbf 3EYgaHWNUvkvRjyPO2Bs+YHenmhuTSDyrNPqfyGr/JnRjSqpiDtBzDHLuzvENwyL 4oMl47n6lflZqtO5ixYd/I/IRGsHRyEEk+Zv8bC3rFc/E3JWZf5oHF5KCpVhTni9 hedHQ8L228bYumPsFu1DLBtAKn0F2uz4rj8i1blJYwJdrA4uIxo= =1uXu -----END PGP SIGNATURE----- --k2mx2flozmpmt4tz-- From nobody Sun Dec 28 06:56:12 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 0FFC2C4332F for ; Tue, 12 Dec 2023 10:12:52 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232657AbjLLKMm (ORCPT ); Tue, 12 Dec 2023 05:12:42 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46200 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232073AbjLLKMi (ORCPT ); Tue, 12 Dec 2023 05:12:38 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E900DD9; Tue, 12 Dec 2023 02:12:41 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375960; bh=g8iY2h+KeEWIRzD4R4jVgCFkjuQjTUqXcpcOACu7ias=; h=Date:From:To:Subject:References:In-Reply-To:From; b=pw6XLXicnVg0zWWuIVngs44b7T+SOpKSunQd3is3IrR5tTKNZGmmpy9Yx+FpMDau2 cswcXbe/DwtzyXjJ+tsb28zfFjJK40Iagqxp7u28lPMetPsSmwb63ZA20QwbbfQcNC 1k0IDx5QViMTv8h4bi6fAsRvvZS72h4dxPOeXt98Tm9bDl0Cym1lH1o816JxSA9I++ 8GvhgjNnVLmKvxlOyFe6kCepgsv7GxaCp8nhCRwoR9mqZWwfd5vbDJ0Za2h4WJ/TRb /2gpXn0nQM+Fi0SFzksbTGyToscNDeoEp/OTc4I3AU7OSyc70MKx48A2Kzna+oVM2J 7/f4EQb0B60gA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 5A2A912A7A; Tue, 12 Dec 2023 11:12:40 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:40 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Miklos Szeredi , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 03/11] fuse: fuse_dev_splice_read: use nonblocking I/O Message-ID: <1b5c5b0a18a59ec31f098959e26530ff607a67379.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="c6tynwv5x5dyuh4x" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --c6tynwv5x5dyuh4x 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 --c6tynwv5x5dyuh4x Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MhcACgkQvP0LAY0m WPEj+A/+N0AmpH2RP6YlzkjfUWBbbwk04r4Kt2Y5qTL4VYmxKV2oZrtWgxGgi9ku 4eNXhny1R3F9yqovwQXQGPSMHPMfbHR+ggMeY6K+prItZKRmCrMSdoXwEl+4Fp8S LMb6s1h5DCkJh95bjJAgDrlEJPnKWbRPtxhPBbJQ0asAYmRnOJ0w0LOFOgk5opi0 jwA+sG5TaIYGl4SCJY1fyUFBaQJxaaV+d//BGf8545m6Eq5maBSxE1YEtz9rJI6g tKqUJh0cMB44wJSeML06LxWOswgW2iuCfce5ReoXHoLBqFuJRjxL3WUW+AAszua+ V08khpYZrT0X5Mp7B5oXKHjqDK8qOGY4ZyxmfGmMZvAHZsoJv4qdxsB9DCmuNRfF 2qx+dBXwbiUXkR0wKwH8ItfSLCso4gTL8LjaE+aN4C25zVWDbjUwAfj/pEMQImwL JRCva7NGBTG7sRo0ABbAsXPrL9h6AW/ParE6uEuOQlNaj7tEDEQN8IcO+v/Xk67m Wh77SaYkLGQV4T3UZF0gzjiOZeTqP4DO9C28HNvTGJT9OiOsMIHUUf/ko7UBo+Fs ZlptXlT2gJ7s1S+ONVTxerxcOZhdW4jW6LiOtm0j6n18E5MDdrTMPnN5LgoZRcIx Z+0V4zb2qv7QALW//GnmehymjhUJb/Kh7vRenFtQRvpOzUBoq+c= =ANlq -----END PGP SIGNATURE----- --c6tynwv5x5dyuh4x-- From nobody Sun Dec 28 06:56:12 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 BA4E3C4332F for ; Tue, 12 Dec 2023 10:12:54 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232073AbjLLKMq (ORCPT ); Tue, 12 Dec 2023 05:12:46 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46254 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235042AbjLLKMj (ORCPT ); Tue, 12 Dec 2023 05:12:39 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id DC15C10B; Tue, 12 Dec 2023 02:12:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375963; bh=Lx01uUzZBLjfFlGQlKARFoT+Vf/QEeNIG29aSuy6Lf8=; h=Date:From:To:Subject:References:In-Reply-To:From; b=OT4OnGfpCidozTgeKJqlenrtbf0JerI1R/jU8yP204BjK4j3qeUs4ZqZNwq+f6H// wKV4HqXL7mYXXFJBLq2OKLvweJzrd2nRxE/rO5JGD4Ud/xGcZeyQuVEh6jmP1Udhog F1sTysJ+py9xrbtTHlxfK1QRFaZU0qzUB2Zj4tlnMrRM/ceBvOATJsNlsbAVtek1xP ouydr8agHAM56ic655re4rEW/1CWxSZE2nbSX6g89ldVK3ux4shwpRzDKF+qQVtqQd ph+hT5GDTBF728he4SOcBE2bdo9J9iPxtaP3Xf5qRpwFLPN20bh99gPmenALHXd0Oz N1dY4hhdd8a4Q== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 0700D12A7C; Tue, 12 Dec 2023 11:12:43 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:42 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Steven Rostedt , Masami Hiramatsu , linux-kernel@vger.kernel.org, linux-trace-kernel@vger.kernel.org Subject: [PATCH RESEND 04/11] tracing: tracing_buffers_splice_read: behave as-if non-blocking I/O Message-ID: <11b84f2e4e5eaad501ff7b2bb03e2ad2f25ecdf14.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="hv3lx7g2ikvzxdyu" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --hv3lx7g2ikvzxdyu 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 --hv3lx7g2ikvzxdyu Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MhoACgkQvP0LAY0m WPEQ4w/+LmJ9g+sTLdWI+2h/NDpBO07CFF47oOhsehFB7o3yH8UophMOzrOdxYZQ NYzzY+11ga72QE+rwRD3yLxdbQfZzDE2PUNT4eJdgAXA/3hsKqkw4VbuTN4tlrPP 5MTyjKC3GX5LjeBO32neK8SYUhZkabu108eflv+8XcpE32cW22gGuA71YcajuDj1 3Y9jblVjAT8acO0Zec6ZHOB6ZYBggwMMYyA0M+Me16sqxmBR1JToqNLeZkSh2Nfn 1IR1tzixc82NRPkFDYormthq5PEg3w/VIj0yvCEDRJKU1DqPrmYRBxahOe3JjKMI 54oQTopZEFK7vR9m0Vv31wmeXjw4da15elHNYE9FJj24URAJuCqMsHObwyt2BRmp GOwcWPL89TVL4sN/lywa5Vb0A+DqxwCT0mfdrbhzAtwiBfnWbFCe3znyA+Jzcvwi ube6KYote7bsLxDbbogcptP0RoL5+++cWissl4jGp2taZntQ6YWwx1P7qEyyKKvO GZ94AXF4Vy159bJYlVdMp1JHzibVtC0XkRlzgrmU976HE0ycbz4eW5/Bjc7lYJqh H0hlrwy8yUL6nnAjEfq6FEXo/rFJg5/s8ocWOMxHw/z+qUgv2+vP1bmt896AeL94 lCjPfm9DK0AA9/8wzdStv8q26yvVepmBROjWiQhsaGM4Vplx7Uk= =KLoG -----END PGP SIGNATURE----- --hv3lx7g2ikvzxdyu-- From nobody Sun Dec 28 06:56:12 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 D47CBC4332F for ; Tue, 12 Dec 2023 10:12:59 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235086AbjLLKMu (ORCPT ); Tue, 12 Dec 2023 05:12:50 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:46292 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232401AbjLLKMk (ORCPT ); Tue, 12 Dec 2023 05:12:40 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E4503CD for ; Tue, 12 Dec 2023 02:12:46 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375965; bh=r6v4V7TG0K5QA6721m/OqT6YeC6Z7JGT8NJQG21F+Oc=; h=Date:From:To:Subject:References:In-Reply-To:From; b=BwRRiYuwPmzotudPpKPH4azD87QWkZGv3a2fzKAHjMSCxM0ceqS3BCpmR7J4T9Spy /TNZvnENBm+IIDdipEsGERTB9XZkUIFBeHa87JDqHe2eH47bUZ72B0qT4gCluS4k9E lI207u8gEPCIUwumwUn4BLpmx8WF4D5+5Pp6OHoq/e4mcDHx3+xjPSSAcyfvU4sSKY zqnQtSsdfPYIMtq9DmNIKmB07Rkx18TxfG3+9rAoW4zxXL7i0IabYD0r8NhAIlkJq9 5eCAKpYUhzT+W2rSuIh943f2MNGUmuTTdJNMvG9pmniXuHeH+vIk+Z5mrEmhSnmtRc goBjYag/0Ec+Q== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 9737512F6E; Tue, 12 Dec 2023 11:12:45 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:45 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: 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 RESEND 05/11] relayfs: relay_file_splice_read: always return -EAGAIN for no data Message-ID: <1329ea2aecb56e982f16aea7c637fd0e8a7985506.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="lq6cka4fydlxngyz" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --lq6cka4fydlxngyz 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 --lq6cka4fydlxngyz Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4Mh0ACgkQvP0LAY0m WPGKkQ/9Hq4HNudvdkp6qVB8/3O5li0VWw6lbJvgr5xOoDPcj9q4tUmcoChkzELa PSk6VzQOTgLlWAzOJJy2yqK4TLkPCE2UR1EIJAVxf6K1U1q2paDvsTlvKhjJYDBl c0iRyYnnW+vSTuymLYrvlcnUjLS+Wvhdl2RThn47TVXeU3glI9mQBp0twym80v7Z xqa8ltv/DOl6OgUVqH6Y125mnO7LcAvxM1Gl3GH4yni9panCt3aqsLuqZVwpfbbL uG9EQzicDySoSoFqlzNLJpq79zIIGmGlx0IXJMkKNG7i+PG8ezbslgkVBcvp+sxp VBdWGvHHv4HfarPRW79TZERKn6wA0yELAgeXp2zAjWVVCowegDalI/BaiSf3eBet dDI2Dpb+E9vMWjTVZYML9VmLzKHC1xC9FEIhp4veTJ4BiRG4siWn5YAx/2jB7dca vjR50B5dqatLF05rusGxXAhHiDCcFBVLBtY9YaSD2pO9Qmdm4nyefK1IYnSlFvtn pOQGBFCNcdawxVeqGL4wHD+aSnj725dOMOWlZ3h0ZhjMJgv3FGTDccyTYnN9qw8d N5Mjz9gXoKP5X5qFKPc3Q+qTozWhsK//VuxCPn0HNQsYUy3aAJT+qQZx8ovljTST puREaWRvBXUVkxhTB6MH2s0Y1VyOp1/n5agn8NUn74iBaIFl6Cs= =gxeL -----END PGP SIGNATURE----- --lq6cka4fydlxngyz-- From nobody Sun Dec 28 06:56:12 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 AC7EDC4332F for ; Tue, 12 Dec 2023 10:13:03 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231322AbjLLKMz (ORCPT ); Tue, 12 Dec 2023 05:12:55 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51542 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235041AbjLLKMn (ORCPT ); Tue, 12 Dec 2023 05:12:43 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C7FF7AB; Tue, 12 Dec 2023 02:12:49 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375968; bh=096hm9ZbRaIMymoQ+0IpHZlm7YvNfwIQuC+ov8MZpxI=; h=Date:From:To:Subject:References:In-Reply-To:From; b=pcF+kuj6twjNBVCUPQGeJb7my9K+1VvzXPI0J25y/Gn90LiGBj+vWoJl83uX6lb1c drs17TVTFCzPFW61iLjrHsYql3GXgVOGa4GS59KD5CTSYTil8N04Ji6qfiBkifNl95 WVcAqudZmxTivJ/eyROH+eHu7ayTS9fiWEN5RTS7VzNdVfNC35s7HvYaUvPSEW6IMo +HHE69xVjML13mdXERyD1TWOOO692oiH7EH/R7AB/nR5ZuNbnFeSHkgPH+E35j5e2D TWjapYdDV//LfS0lZyRU53O3zVjVDdfJc9a6ooJK4P4coQCGrLVRr03uNRRkH8fjHV Uz+qHlhE3q4Cg== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 0A9AA12BEC; Tue, 12 Dec 2023 11:12:48 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:47 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: 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 RESEND 06/11] net/smc: smc_splice_read: always request MSG_DONTWAIT Message-ID: <145da5ab094bcc7d3331385e8813074922c2a13c6.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="suvmg3e3tuoppov4" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --suvmg3e3tuoppov4 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 --suvmg3e3tuoppov4 Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4Mh8ACgkQvP0LAY0m WPEQiQ//dJd64ifmFYk4J0yAhFO+b2YgYYJagGNw6cO4Vvw9R2UjEuuQ/iGnT63B wTWs58hM8XQjOPjioddYrd8J01pUQQr+L02G7dNKPQErsuCb25aczKMQvZFRCr8c 7ibhOBBZgCpzPMR7bVa8fcvRHDQTLKjMXMJ+HUtNZKT7Kw5g0aaCm6Lh+i/pEk6q v9nVojhxqOL0OSu+6HQA4Fdn4jfb/vfIXMAnoPb+u3J5Bs7qOM3dUNAPvlbBzYBe lHtk6rfIbmfSl+X/Knlo3y8CQegd/Tn5zJAMFBeyeBJPRk4cqcZWhz1d3w5acJ7+ 1RBznOQ7c7OKAaNJfJtXFT1mln6wjGubsjJ0ATJslr3w1LbDxvAQ7XJwK8QUuNZ0 hRNAxHwXVPOPY41kUU9kxKFmPDjohv+esstreKuYtBaL8EwkKtdhem4wFi4f3dWe vUpz0lep0VmBjadC44/i2mr79JMNUIQvSHdinBPTB8I/GRjtQeFDNEMn4EEoJQpA EaMhI9dzoMTc9ofQ2R1L2LPfjO3f5vw/pVtAp6QdAJFX62OlGv/k8z3EhmbPe77A BQ9WFoq7bYE5Vs61rNeNGaYz/68IWM0VLp0NJ29aaVcLGzUUxBG4eVeDzUZGyizw 1SoMkPuma/i8C8YhuYERKyIpv/K/AU00p/GgctM4uYZwCs8dIDg= =Q2lp -----END PGP SIGNATURE----- --suvmg3e3tuoppov4-- From nobody Sun Dec 28 06:56:12 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 95AD0C4167B for ; Tue, 12 Dec 2023 10:13:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235096AbjLLKNG (ORCPT ); Tue, 12 Dec 2023 05:13:06 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51704 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235081AbjLLKMs (ORCPT ); Tue, 12 Dec 2023 05:12:48 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 40871A6; Tue, 12 Dec 2023 02:12:52 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375970; bh=2AjQrGaQE2NFW95434lGTrYs+KkaIhT6LEOqbOxH2XE=; h=Date:From:To:Subject:References:In-Reply-To:From; b=FP/x56VaAun1w5xQh4Hbyto20YJcWvMPD8ZHJrjx09XvBZpzreHcprde2BPPiSh7f SQuMPVWIkB/XlJlmO/ZMy9/NkqwPeBkxhBOgq/Os2QPd76qII1d85tKFxrzZo6P5Kw mEDW8Q1Awmc2bnP1OriY1L3lCYWjiYq+OMzr39ZsDheSA03CkQttrMXVht5YxZlfOT YMfM6YJeCVMog+IDXMi9842zVLG/4+MIvnXjeCH6SCpyRcKIFGcmBZagddZ6tVPNDA UmSuSbr4RGo703hrZ0pwHZIE+F3Opsci4hPL0LmlwNCVbKlKBI+n/xdo2U+EFw1TKZ r/jmVHoz08amA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 6961712F70; Tue, 12 Dec 2023 11:12:50 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:50 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: "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 RESEND 07/11] kcm: kcm_splice_read: always request MSG_DONTWAIT Message-ID: <1b5a634f5fe1a89d42a7a4f91316f888b02ca576f.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="o6m7vcrodirufcvf" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --o6m7vcrodirufcvf 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 --o6m7vcrodirufcvf Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MiIACgkQvP0LAY0m WPF88A/8Cwu5xFnT8lzogF+KQQJWPL/NZUg1v4R0N/+/Rxeod3dWRDlUTLVZuADF YdsrcnQSFXwYgneyxpPXdNnFmFeXfQCk45srdVOH2IfDd98TH0p+kaDgsXim/4Hh kWx2uMbLD+UMlHpXnDgNWS27pYPznsW8VcaloTpR2tbO5cUhyilSPrcWkF/M/jPi sD3OEgsJEUwthaScjDXqRYgZdd4NW91SZMEb/YLNVEbrNX4/Q/ziI1WV99TafgHA Qf41y1icGsF8hkUS+SbYUJLrUxZPh+LoQDy5B7cjEtJQNDNqsZEW5eEoDQGplwHE XZBklW6FkMEtI1tDobp0PAvtn2IF7reCpH7rt7Adin5FxWHjqDfFsRyIOLxSTH1q 5nJVk/2YS2RBIJiHRZgREER82tmQxkO/a/TNgWEo1xuXWbPTyuNjI+Ae4maY8ncN S4zaDzo01JCsEs3loyCIN3a9plKhVdweLyux+k3zTKjjLOdCDV7JTt4p40Qg7ALh a+uwVd7B6eb9ozpDp9F/xK6/0osROu6pIZwhjsI20ECT3vzJeDmGR05n2+FWE7tN UUaPG5bimmzif6TueAjUUivT/DRCuWVG6/sBd18S7QrLWZtodTsHtDGws2y+L/O4 jujfUWJZMGqa27xUWSPQZNz2NRZ+eyBO5BzUB5iYV4msFLi8HeQ= =766a -----END PGP SIGNATURE----- --o6m7vcrodirufcvf-- From nobody Sun Dec 28 06:56:12 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 22518C4332F for ; Tue, 12 Dec 2023 10:13:21 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235121AbjLLKNM (ORCPT ); Tue, 12 Dec 2023 05:13:12 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40038 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235061AbjLLKM7 (ORCPT ); Tue, 12 Dec 2023 05:12:59 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8CC61136; Tue, 12 Dec 2023 02:12:55 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375972; bh=9LoORs0/qovVA+ZuFnVynVHHVy98EiReKRC+P8F39/0=; h=Date:From:To:Subject:References:In-Reply-To:From; b=nP2cTzGK93uab8yPQH14o6ln9eh/KHNoV9MN6Te0tHISKVXk5z5KPgksXxTIofUvY YgDGznUPcymXrcnLSO4HnyTwMODzQMY3WUzzvvehMPY7gI/JfZXkx06yiZBM1eHJYd mOtSGSlcWzY7A0HqYCRUr/By9lswuep07pBhj9mQAmnY1a9hEbU3b5p8bttVQ6SnpV LUdSjHpiRTjvg5RCla4TdpkmGA6Gn4RQONy0dtQbpk5kbV5nLm8sZtFp9V42S4DYW7 165rsI5itIXdfiJbZLVW3PFIHCxRLONRWyb5+lpUG2VVNZPfpdD1Cjeq3499C844xo tN8WXdYrbuBnQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id C5BE612A7E; Tue, 12 Dec 2023 11:12:52 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:52 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Boris Pismenny , John Fastabend , Jakub Kicinski , "David S. Miller" , Eric Dumazet , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 08/11] tls/sw: tls_sw_splice_read: always request non-blocking I/O Message-ID: <10fffb097b4d2b328ef16e7353d6829f1ec9efcae.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="hzayuiuiam5vzbgh" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --hzayuiuiam5vzbgh 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 --hzayuiuiam5vzbgh Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MiQACgkQvP0LAY0m WPHOcg/9Hmw3zZiMpGDG/TB6uoRcTJMWlRCKmkmI+1ilwA1CWfHtlM9L8clPpR5V IqyDX8RszNuAAdY3bNCtz7jXxZ8Vw4ThcK9gO1MQDbeVCvo23vZfoGQd9quIwKcH Uombf2P9XhgGE/mMk2UgH2CJ4Hl6X0kUUpa57BZ4mh1CFRj6bBQOS027ju2z9jcC IfuYRvRLYMbY7A3dMmxgkhrWfEWn2unMZP1MWOlVl3M3c7pSIFoKi2LwgcQaYlrS GOk7xL6HhAsmmGIYCl4EPIDQb8xW0g8BOQj5fp+7//LhnCzhJmfj/JrKBsDDhRGr lCFTi9sr1fztkroWO5voOvt0t3A48P0t/0iPQk8q4qNtGnCvz+RzF2SuNaDnKRKW v0mQ6CIZLSQA8kGoSVnhUVZXEWYaZai9Pvb0nAsys2n9TbPV2MEIZFcCKxI0zA4a VnmsumXLV27OeCKrKvR2r/Z9PLZOzrgdmyhyDrlSFaIDM21Dl14WpJWfuFVATpUh Vu9DicrccbNi/dcTWzkP1KmpzrUIenQKQfKU98SrGiiSExTIYUw835h4cB4xtJrP aSJcv3U3p8sG8aM1nhksyRb5AspyDbmeeooFImAjpodW9L2irU9X7vWuqx5qLjvK pq/bL62pnjz7abRMC+ZpiWp9VmDmU1pSNE2BceSdD7nOyxVD3ic= =pvwR -----END PGP SIGNATURE----- --hzayuiuiam5vzbgh-- From nobody Sun Dec 28 06:56:12 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 A8C5CC4332F for ; Tue, 12 Dec 2023 10:13:24 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235188AbjLLKNP (ORCPT ); Tue, 12 Dec 2023 05:13:15 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43684 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235089AbjLLKNE (ORCPT ); Tue, 12 Dec 2023 05:13:04 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 531CB19F; Tue, 12 Dec 2023 02:12:57 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375975; bh=XiOBb6P57asxhXUqF6o8dX8NQpgZ1/qlFGt6+205E9w=; h=Date:From:To:Subject:References:In-Reply-To:From; b=ZU9lbK0RZzdSsInvI8z6QMcZ/XDf2Hc+ZSU41pM7IAWZzlT5X1VzbB3bzTqqhZnsj HpZAPs1CvELOwffrO7yXxL4+mebVIkgC4AMBhV4yggThKpbfuMhxFRIrxO9hDLbiaU kqvDE+0uNlpwgs04+0H+h0kczUaF8hzPO2+XUOM9MD76VysjRpK9Hl2lHq+KX7F/lf OPGFZUtMau3mPGvCn7W1YSDAZqB2uQ79ViMR62wNJPD8pa6NCJM6M4QatgZCANjMVA MSNhZKZUXZCCS6vN9g4iTmnLYtpWZbsVSOAo4crQHompF6atfDC4dPcDcrSDcJ38RE NEPIz/z31IdsA== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4F3E413780; Tue, 12 Dec 2023 11:12:55 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:55 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Eric Dumazet , "David S. Miller" , David Ahern , Jakub Kicinski , Paolo Abeni , netdev@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 09/11] net/tcp: tcp_splice_read: always do non-blocking reads Message-ID: <1d44f2f64c18151d103ee045d1e3ce7a7d5534273.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="czo5rnf2ad2yjhau" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --czo5rnf2ad2yjhau 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 --czo5rnf2ad2yjhau Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MiYACgkQvP0LAY0m WPG3pw/6AkQyD3FZBepovZHpwSZiqDwdJ9GGHQ77hQiX8gJnNC+TGeFLAF1+nw1O QMj+1IeWG9LEeZOVTUJ68lOTDxWkSUOCCHg7H4gWXOX01bdSNpjlEpg5A57ywcE0 /aZ24rp3Cd0mnAFH46+GMS7A3DnAkV4YsnwdlJkUTODJbezpgZ6Z7Z7bK9ybeAFM vmUnIwOwO+laatF6fKqV/W8GMyQ8c5wQDFOuvwFAyQ6iK0nwFT6fb8GaFKeKC9n9 XsZubuU0sNanrheeOfe5EB4fwWc4T0R9QoEWrl8afOZLd1O0N18PtkNaP4UiilrH 8p5HWhGfX1m49nUENqq7n2ywAjdRq1+PyUPPrIWqFu/3+wtV5RGgnKuPKlXxKuow FJfxO8LQvu/ZgX/tzEefKtAUC+pPblGXIKZbSeq1jahq4Lbw8B/x/FYW/ikBeta8 F8CiYtZ0bMHao4Z/ng8GUfb0iKr0usQdGpFhfSdjkl8c+0yY5Is5+6q2cPIwnqIj Wqc9AvFO+3pcslrwIDiuxe/F6VlRQYOar71iJaO0C1uJpsjY2g2z3cuTr5r4RSRb 4JTaRpL4obBnaWCzFFmxYyuVP7jb9oK/XzjuWELkbZVsW0xiFHO1zdHaQ7cCHO1u vKIhu3Ugwd72ArwRshXMGFVg2rmTyfugVtXrL/tfv8zDrpHYapk= =1yQZ -----END PGP SIGNATURE----- --czo5rnf2ad2yjhau-- From nobody Sun Dec 28 06:56:12 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 949C3C4332F for ; Tue, 12 Dec 2023 10:13:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235139AbjLLKNT (ORCPT ); Tue, 12 Dec 2023 05:13:19 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51648 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235138AbjLLKNF (ORCPT ); Tue, 12 Dec 2023 05:13:05 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B72C10A; Tue, 12 Dec 2023 02:12:59 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375977; bh=vAk4SO4174j23/YAeB+887LjqaZL3bPNr0Lgpgmz8Yo=; h=Date:From:To:Subject:References:In-Reply-To:From; b=dbOXt0fXbgSGzj0VKyKA8rPuUcws7V4+PXn/drjN3ykVlSvzAMXIeBrAC88PRWd8K NFKzgXoQiguXHwRzHQvi5KPzdw3YhKv5kUTmltbJetqef9LolBZxutnKsgf/uBT5Uw 8Fj4RXMQvYY++5i9gVtI3kr/q7rwxWPI/LhUi1uwBZYQLm/Z7miTdtgEiBJcCQ4tLz H2DiukQB0KJwDl3vVgnVnSTNH7VoT/MfDLX7aNysDOtS83YJRZbaIayuZp5xuqoft3 5vkfJRg6xcq2i9+NgN2ShqqICr9fLToud0dZ2Oe+9k8xhEFvQ6O/P1KTr1ec4b8qYw Z9+LQrgBinSmQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id DCDF113782; Tue, 12 Dec 2023 11:12:57 +0100 (CET) Date: Tue, 12 Dec 2023 11:12:57 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 10/11] splice: file->pipe: -EINVAL for non-regular files w/o FMODE_NOWAIT Message-ID: <15974c79b84c0b3aad566ff7c33b082f90ac5f17e.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="y7t5mx3qrwhlffgl" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --y7t5mx3qrwhlffgl 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 --y7t5mx3qrwhlffgl Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MikACgkQvP0LAY0m WPGYyQ//Tquu7sSWASqmOJvlr2pjnwv9/NwuaGlAnKWjPhH1AcvQV0+YC+ifbR59 AaSCix0+PZeI7Yw9dc9h87F73aiwm1G60fzdSMkNtH6ZwjU3stWlN44r6E+ZAhti sKefJ1e7FgLMYyMpNEf+8D1FhDWaTCBxQH0KTZk+rV3R4l1103T7/HZZP0fIRw29 u94hDgHyixw1Hm+wd7G8QDf4uaT1CDAl8CWTsI3rzZqsWoFXReX4/QHFDyUXUBIV P7uFIpLEZ6KOSMNK2zJ5NyjW/K/KpcN4FfnzqS7KEAmQrOKkqN8S/+xiIeG/lyRF cQevMVvliQWQqT6p3JNhCa3w2wiCx5QEvVlqlZmtptLSgGbOKxoyh77A29k4DINq ovOVi2PMUotFm3ZdX5rk2D13w3r8eEtFznF2gpGhyRDNGnNe7Fm8PDqLZUhwiDhu f3NEALxJGWr7EOL5wP4ZVsRMnL+jvWAKNFqhyfttbH3qt/2D8k6+fZekuCyXqJSG 9zcm/5ffXyBCoIiL0XhtFiKfQ9SrSZaHh2Qwhl9WCvx00WLtBYbG9nu2u8RAN/8D W2ugUNcyIaobnVLxiViYeY/VhH/XsQsHxWJDYYVrqWpYn097FEByyD7Aw+UyIvFO ksuZmHjkSsQp6hft+bFMURmOVeqRgYDZ4PohyESGl+wRCdCHHZg= =IhiX -----END PGP SIGNATURE----- --y7t5mx3qrwhlffgl-- From nobody Sun Dec 28 06:56:12 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 C3BE2C4332F for ; Tue, 12 Dec 2023 10:13:38 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235161AbjLLKNa (ORCPT ); Tue, 12 Dec 2023 05:13:30 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:43596 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235110AbjLLKNI (ORCPT ); Tue, 12 Dec 2023 05:13:08 -0500 Received: from tarta.nabijaczleweli.xyz (tarta.nabijaczleweli.xyz [139.28.40.42]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 38125D6F; Tue, 12 Dec 2023 02:13:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=nabijaczleweli.xyz; s=202305; t=1702375980; bh=n8Tz0tvGMgfdPFnvnOzQj+h8yUtCIOndgwGis4T/GEQ=; h=Date:From:To:Subject:References:In-Reply-To:From; b=PWAYJ5/7wGUdmHMz7N8QIQ4ekEIZwUOQDYzI8AfNrITIDjbYq/1SNBNUO6W2SXSRv hHzG6JjeJdhYvhET3HtOFwVx7kZpYdfNJb0N4PNZ4Lf5NS72RwZWqsE9VCRHUT4uNd VU8uSlJz1K+dzahePgbnKs38jkUTqmiYE7P3nYtFQWaCygmhG32bYliYjHHmTlG1KI mdDKFVuCqnSLSBu2vIkOS/9tA8a1SdrvQL1HJMFNmq1Va+zTspvwE0iEUB2pP7/5l+ ff1OarfhS7x54MiYVFBlTqGta7IxiFzcLEVZeR2JDhYw0QUu+LL1fi2GoLbRIoy01Z 8/hsDv3xIzpdQ== Received: from tarta.nabijaczleweli.xyz (unknown [192.168.1.250]) by tarta.nabijaczleweli.xyz (Postfix) with ESMTPSA id 4061D13784; Tue, 12 Dec 2023 11:13:00 +0100 (CET) Date: Tue, 12 Dec 2023 11:13:00 +0100 From: Ahelenia =?utf-8?Q?Ziemia=C5=84ska?= To: Alexander Viro , Christian Brauner , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH RESEND 11/11] splice: splice_to_socket: always request MSG_DONTWAIT Message-ID: <1813e1805aa942862d300bec4d0563c5a466dce78.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> User-Agent: NeoMutt/20231103 References: MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="wcobgse6hj3ubesx" Content-Disposition: inline In-Reply-To: <1cover.1697486714.git.nabijaczleweli@nabijaczleweli.xyz> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --wcobgse6hj3ubesx 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 --wcobgse6hj3ubesx Content-Type: application/pgp-signature; name="signature.asc" -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEfWlHToQCjFzAxEFjvP0LAY0mWPEFAmV4MisACgkQvP0LAY0m WPGwRxAAs6fr478UQ2p25vI1thcEvzX4w5WUOAwBkLcqvY9dMJZ7vZTzRqlmIFnO IiI7kNBIre5AaHQn8I2d7YQddxrurwLLa5MkuvdfxSRzOt3lU6jsZotQKCg1pAmh vJqsRNkQk0n0w7HTsx/xBTYFbw73DiJGxYJrdYdhhd7W66rVCr7lc8SuOPXG67sG ngKc80p1H3XASjYpXHuKSF//z0QNRPZt/YbSVNFFMJ0CjJoIb8XjOsPvtVSnl7Hq iVOE/mpqDpsBuibIVk/iPTWYRrt0RiHl7jIMcTaEpr5AZ8T0kn4wapEbISmBxhU7 Tn5FH3QH76qSZWBrbD/fuh1OTdQbqUDlCSSwOS44M3Y3Indafsor+8D+RxpY46Fl 9BedCQqc+dPTNtEeL8R1b6PUn7BPug0h/M+L7U3TT1burIAqgmaGGaqIK49Pps8Y c1pH1bx4BWWB4F75amTC+A0uZEWCKnA/4BORvMTpATwBnsPOngznOREP3yzoNoiR 1QdmcJL7YAs52Nq219+RM5CEJhQqA1Y6vGAHA2WWOMsoue8su8FhMO/SL9dafcq+ Tvw6BW1jnxUdeOOK5I4eOwzTIi8B7FoJNk8O6E5I9YWwxPPk79v6MnICMKVCNcSQ 4BIxIGjVD6EhR6GowE44L19F8GBFkiJKe8Lx/iOyW3AyLjUElBM= =NDdt -----END PGP SIGNATURE----- --wcobgse6hj3ubesx--