From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from out162-62-58-216.mail.qq.com (out162-62-58-216.mail.qq.com [162.62.58.216]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AB3EB340D86 for ; Wed, 3 Dec 2025 15:57:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=162.62.58.216 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764777426; cv=none; b=hPexy0zHDQJ0Kyc3DAgx3Ryf+coahi3F+oqKJawnyW8Cz8W6yopUPXWUP4ynzJM+v+U91kdi2/p2yNM3NCLdjaHf3i/IKC3z8QGEODh1KTznpGZXOWlNXRR3b9wCzeBtvOGP/MDvKVLmTSAgNXqt0t37hka7jcE0YKBmE7o3zFE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1764777426; c=relaxed/simple; bh=ZrXFoR4YoQ6+wxrOzmwbtKH0OlLWL5/qDoYyafw1BMU=; h=Message-ID:From:To:Cc:Subject:Date:In-Reply-To:References: MIME-Version; b=hg8F42VPqtHqOiAkEJtSuOPI3G48TrFLTlmnccGiPmiTd6WlhpmaY53NNsp7AyvETmeyUzdIVwm4kjXBnPLSrsYCO6nyezWVGJHrzqHjNplKUvigvPQrDIzfUeZZDpKBzgJLYBkeqsogV5Y8vp9igUfpZfoDpxkPfmo3ewoLdSA= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com; spf=pass smtp.mailfrom=qq.com; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b=sJS83djQ; arc=none smtp.client-ip=162.62.58.216 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=qq.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=qq.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=qq.com header.i=@qq.com header.b="sJS83djQ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qq.com; s=s201512; t=1764777417; bh=WRfHVaOit87o+5EMfRJFfsIwoEdagv79GYPsfjLEyu4=; h=From:To:Cc:Subject:Date:In-Reply-To:References; b=sJS83djQD/QKB3ihusf2Uq9TdFYd2F2jmRZDsxFOnjRRKtq1i37TW5nAQOJdRIuux lL30b9Rgom7eZc4BeKE/a1fGApPAkbePS41RaTANt9n4yNdldCoHU2sMacKgo43NK3 USBV2bZfgiAK2Fz/ZxPwwpxiHJFZ5gsaXkLzPmV8= Received: from lxu-ped-host.. ([111.201.7.117]) by newxmesmtplogicsvrsza53-0.qq.com (NewEsmtp) with SMTP id DEF05E31; Wed, 03 Dec 2025 23:55:47 +0800 X-QQ-mid: xmsmtpt1764777347t7p2dde2u Message-ID: X-QQ-XMAILINFO: Nx5J06Esz7r76Hvyeanzw3rXc9iQyu1uSqfhG0L34fQaYesqBauZlRXXwsiLIf D/9lEIJZuGcy2LbZ5ZetTOaTdDAy6cUsdk1tXxDCPGvjC1sCLq0XHzZVZzlzMck0u+Aa5Uf1Vai2 g8AsGdmdm0iOgCI1Cx1eb7wy908IDDhDxvCYjEWh1dzJKU1k+SBVtt2diwcjAhFAlmY7qNcyk84H XC0U3SWcMKZfCrQTCxvmpWH79LGwoYWdscqU4Z9wgIKIDn1EqeWEFuusm8DS+GFKfFaUVHiVWYRY QPUN67IV8kRdDOJTycVMMWbCC818zjtRL8n0QynpuY/FGCgY3/Koz2UhN1aOnVK3DHhRGGz+7dwU YSCsNU4VOlIs4lON/zMTOaUejvIx8G/uI/VuuS7U/cUYAMG6Ja6VGXReRqyWpOX4/4pCf8J0WN2X sUwk2bCZ0k5XHBu0xzdNuYwekqw/n7093xnxzTp/BcdMmMPzS0aP8BQHvTsNCl2ZXbeUqDDR5hiH YYMLP+xIg9xZjIDL1TASMRiHvK+T+7VlLP4XFkvt3VMx4hzYk/3ZIPdd2BROLl2xJ4vJdUsvmkrt 48j4KKz+X70LfhaeAxgvuubUSWiE1NvJ/XOfw29KNG1pOjbiMHbAj+mFG9asabl8cqridJtE3rWC IsdkD7bqZYTGLlKVDohY2z/7rae4ZKeGmp9dHHqcv1SG8DBwe8r7xzCiOB+LynrRxFsvpwmORL5z puBCqau0Puli0symyr71EIILcWVr0YVV4vNr12/oWuQu4fT0npMDRSoeQrwHf1D+dkqVDvwdus6y 17krQzAZHwSbwrn5TC7a+OL5X5CYQ/IfpTIx0y4hywa4mWLlynY4MIaQ88jeXZjOKCbvUuoiu3rJ y4tg+iN6cdHO6lpAuLY3zqA+5/tp+sXFNQTm45TRbs/cbVDh2hFBs/3uCW0sLD2wUT47/XORpF4x 9bXI3y8di+f2bIpSzygn2U7eU8o0A5wljXQ+Feq8w= X-QQ-XMRINFO: OWPUhxQsoeAVDbp3OJHYyFg= From: Edward Adam Davis To: syzbot+28e5f3d207b14bae122a@syzkaller.appspotmail.com Cc: linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com Subject: Re: [syzbot] [kvm?] [net?] [virt?] WARNING in virtio_transport_send_pkt_info (2) Date: Wed, 3 Dec 2025 23:55:47 +0800 X-OQ-MSGID: <20251203155546.302856-2-eadavis@qq.com> X-Mailer: git-send-email 2.43.0 In-Reply-To: <6928fe78.a70a0220.d98e3.012a.GAE@google.com> References: <6928fe78.a70a0220.d98e3.012a.GAE@google.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit #syz test diff --git a/net/core/datagram.c b/net/core/datagram.c index c285c6465923..3a612ebbbe80 100644 --- a/net/core/datagram.c +++ b/net/core/datagram.c @@ -748,9 +748,13 @@ int __zerocopy_sg_from_iter(struct msghdr *msg, struct sock *sk, size_t length, struct net_devmem_dmabuf_binding *binding) { + struct iov_iter_state state; unsigned long orig_size = skb->truesize; unsigned long truesize; - int ret; + int ret, orig_len; + + iov_iter_save_state(from, &state); + orig_len = skb->len; if (msg && msg->msg_ubuf && msg->sg_from_iter) ret = msg->sg_from_iter(skb, from, length); @@ -759,6 +763,9 @@ int __zerocopy_sg_from_iter(struct msghdr *msg, struct sock *sk, else ret = zerocopy_fill_skb_from_iter(skb, from, length); + if (ret == -EFAULT || (ret == -EMSGSIZE && skb->len == orig_len)) + iov_iter_restore(from, &state); + truesize = skb->truesize - orig_size; if (sk && sk->sk_type == SOCK_STREAM) { sk_wmem_queued_add(sk, truesize); diff --git a/net/core/skbuff.c b/net/core/skbuff.c index a00808f7be6a..7b8836f668b7 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -1908,7 +1908,6 @@ int skb_zerocopy_iter_stream(struct sock *sk, struct sk_buff *skb, struct sock *save_sk = skb->sk; /* Streams do not free skb on error. Reset to prev state. */ - iov_iter_revert(&msg->msg_iter, skb->len - orig_len); skb->sk = sk; ___pskb_trim(skb, orig_len); skb->sk = save_sk; -- 2.43.0