From: "Michael S. Tsirkin" <mst@redhat.com>
To: Takero Funaki <flintglass@gmail.com>
Cc: "Xuan Zhuo" <xuanzhuo@linux.alibaba.com>,
netdev@vger.kernel.org, "Jason Wang" <jasowang@redhat.com>,
"Eugenio Pérez" <eperezma@redhat.com>,
"David S. Miller" <davem@davemloft.net>,
"Eric Dumazet" <edumazet@google.com>,
"Jakub Kicinski" <kuba@kernel.org>,
"Paolo Abeni" <pabeni@redhat.com>,
virtualization@lists.linux.dev,
"Si-Wei Liu" <si-wei.liu@oracle.com>,
"Darren Kenny" <darren.kenny@oracle.com>
Subject: Re: [PATCH net] virtio-net: fix overflow inside virtnet_rq_alloc
Date: Sun, 8 Sep 2024 06:18:55 -0400 [thread overview]
Message-ID: <20240908061810-mutt-send-email-mst@kernel.org> (raw)
In-Reply-To: <CAPpodde7Bi4ewzPqPC0ZNAMdy=3LYgzUHsADZKFgGniUCRdrRg@mail.gmail.com>
On Sat, Sep 07, 2024 at 12:16:24PM +0900, Takero Funaki wrote:
> 2024年9月6日(金) 18:55 Michael S. Tsirkin <mst@redhat.com>:
> >
> > On Fri, Sep 06, 2024 at 05:46:02PM +0800, Xuan Zhuo wrote:
> > > On Fri, 6 Sep 2024 05:44:27 -0400, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > > On Fri, Sep 06, 2024 at 05:25:36PM +0800, Xuan Zhuo wrote:
> > > > > On Fri, 6 Sep 2024 05:08:56 -0400, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > > > > On Fri, Sep 06, 2024 at 04:53:38PM +0800, Xuan Zhuo wrote:
> > > > > > > On Fri, 6 Sep 2024 04:43:29 -0400, "Michael S. Tsirkin" <mst@redhat.com> wrote:
> > > > > > > > On Tue, Aug 20, 2024 at 03:19:13PM +0800, Xuan Zhuo wrote:
> > > > > > > > > leads to regression on VM with the sysctl value of:
> > > > > > > > >
> > > > > > > > > - net.core.high_order_alloc_disable=1
> > > > > > > > >
> > > > > > > > > which could see reliable crashes or scp failure (scp a file 100M in size
> > > > > > > > > to VM):
> > > > > > > > >
> > > > > > > > > The issue is that the virtnet_rq_dma takes up 16 bytes at the beginning
> > > > > > > > > of a new frag. When the frag size is larger than PAGE_SIZE,
> > > > > > > > > everything is fine. However, if the frag is only one page and the
> > > > > > > > > total size of the buffer and virtnet_rq_dma is larger than one page, an
> > > > > > > > > overflow may occur. In this case, if an overflow is possible, I adjust
> > > > > > > > > the buffer size. If net.core.high_order_alloc_disable=1, the maximum
> > > > > > > > > buffer size is 4096 - 16. If net.core.high_order_alloc_disable=0, only
> > > > > > > > > the first buffer of the frag is affected.
> > > > > > > > >
> > > > > > > > > Fixes: f9dac92ba908 ("virtio_ring: enable premapped mode whatever use_dma_api")
> > > > > > > > > Reported-by: "Si-Wei Liu" <si-wei.liu@oracle.com>
> > > > > > > > > Closes: http://lore.kernel.org/all/8b20cc28-45a9-4643-8e87-ba164a540c0a@oracle.com
> > > > > > > > > Signed-off-by: Xuan Zhuo <xuanzhuo@linux.alibaba.com>
> > > > > > > >
> > > > > > > >
> > > > > > > > Guys where are we going with this? We have a crasher right now,
> > > > > > > > if this is not fixed ASAP I'd have to revert a ton of
> > > > > > > > work Xuan Zhuo just did.
> > > > > > >
> > > > > > > I think this patch can fix it and I tested it.
> > > > > > > But Darren said this patch did not work.
> > > > > > > I need more info about the crash that Darren encountered.
> > > > > > >
> > > > > > > Thanks.
> > > > > >
> > > > > > So what are we doing? Revert the whole pile for now?
> > > > > > Seems to be a bit of a pity, but maybe that's the best we can do
> > > > > > for this release.
> > > > >
> > > > > @Jason Could you review this?
> > > > >
> > > > > I think this problem is clear, though I do not know why it did not work
> > > > > for Darren.
> > > > >
> > > > > Thanks.
> > > > >
> > > >
> > > > No regressions is a hard rule. If we can't figure out the regression
> > > > now, we should revert and you can try again for the next release.
> > >
> > > I see. I think I fixed it.
> > >
> > > Hope Darren can reply before you post the revert patches.
> > >
> > > Thanks.
> > >
> >
> > It's very rushed anyway. I posted the reverts, but as RFC for now.
> > You should post a debugging patch for Darren to help you figure
> > out what is going on.
> >
> >
>
> Hello,
>
> My issue [1], which bisected to the commit f9dac92ba908, was resolved
> after applying the patch on v6.11-rc6.
> [1] https://bugzilla.kernel.org/show_bug.cgi?id=219154
>
> In my case, random crashes occur when receiving large data under heavy
> memory/IO load. Although the crash details differ, the memory
> corruption during data transfers is consistent.
>
> If Darren is unable to confirm the fix, would it be possible to
> consider merging this patch to close [1] instead?
>
> Thanks.
Could you also test
https://lore.kernel.org/all/cover.1725616135.git.mst@redhat.com/
please?
next prev parent reply other threads:[~2024-09-08 10:19 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-08-20 7:19 [PATCH net] virtio-net: fix overflow inside virtnet_rq_alloc Xuan Zhuo
2024-08-20 15:12 ` Alexander Lobakin
2024-08-20 16:50 ` Michael S. Tsirkin
2024-08-21 16:47 ` Darren Kenny
2024-08-28 19:57 ` Si-Wei Liu
2024-08-29 6:18 ` Xuan Zhuo
2024-08-30 0:54 ` Xuan Zhuo
2024-08-20 19:44 ` Si-Wei Liu
2024-08-20 20:09 ` Michael S. Tsirkin
2024-08-20 23:05 ` Si-Wei Liu
2024-08-20 20:11 ` Michael S. Tsirkin
2024-08-27 3:38 ` Jason Wang
2024-08-28 11:11 ` Xuan Zhuo
2024-08-29 4:51 ` Jason Wang
2024-08-29 6:21 ` Xuan Zhuo
2024-08-29 7:26 ` Xuan Zhuo
2024-08-29 7:35 ` Michael S. Tsirkin
2024-08-29 7:38 ` Xuan Zhuo
2024-08-29 7:48 ` Michael S. Tsirkin
2024-09-06 8:43 ` Michael S. Tsirkin
2024-09-06 8:53 ` Xuan Zhuo
2024-09-06 9:08 ` Michael S. Tsirkin
2024-09-06 9:25 ` Xuan Zhuo
2024-09-06 9:44 ` Michael S. Tsirkin
2024-09-06 9:46 ` Xuan Zhuo
2024-09-06 9:53 ` Michael S. Tsirkin
2024-09-07 3:16 ` Takero Funaki
2024-09-08 10:18 ` Michael S. Tsirkin [this message]
2024-09-08 17:56 ` Takero Funaki
2024-09-09 9:05 ` Darren Kenny
2024-09-09 8:38 ` Jason Wang
2024-09-09 8:43 ` Xuan Zhuo
2024-09-10 6:18 ` Jason Wang
2024-09-10 7:20 ` Xuan Zhuo
2024-09-08 19:40 ` Michael S. Tsirkin
2024-09-09 3:08 ` Xuan Zhuo
2024-09-09 8:47 ` Jason Wang
2024-09-09 8:51 ` Xuan Zhuo
2024-09-10 6:17 ` Jason Wang
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20240908061810-mutt-send-email-mst@kernel.org \
--to=mst@redhat.com \
--cc=darren.kenny@oracle.com \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=eperezma@redhat.com \
--cc=flintglass@gmail.com \
--cc=jasowang@redhat.com \
--cc=kuba@kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=si-wei.liu@oracle.com \
--cc=virtualization@lists.linux.dev \
--cc=xuanzhuo@linux.alibaba.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.