Re: [PATCH] virtio_console: Stop doing DMA on the stack

From: Ingo Molnar
Date: Sat Sep 10 2016 - 00:34:10 EST



* Michael S. Tsirkin <mst@xxxxxxxxxx> wrote:

> On Thu, Sep 08, 2016 at 08:49:43AM +0200, Ingo Molnar wrote:
> >
> > * Amit Shah <amit.shah@xxxxxxxxxx> wrote:
> >
> > > On (Tue) 30 Aug 2016 [08:04:15], Andy Lutomirski wrote:
> > > > virtio_console uses a small DMA buffer for control requests. Move
> > > > that buffer into heap memory.
> > > >
> > > > Doing virtio DMA on the stack is normally okay on non-DMA-API virtio
> > > > systems (which is currently most of them), but it breaks completely
> > > > if the stack is virtually mapped.
> > > >
> > > > Tested by typing both directions using picocom aimed at /dev/hvc0.
> > > >
> > > > Signed-off-by: Andy Lutomirski <luto@xxxxxxxxxx>
> > >
> > > Looks fine,
> > >
> > > Reviewed-by: Amit Shah <amit.shah@xxxxxxxxxx>
> > >
> > > > ---
> > > >
> > > > Hi all-
> > > >
> > > > This is currently broken in tip:x86/asm. If you (Amit) like this patch,
> > > > would it make sense for Ingo to add it to -tip?
> > >
> > > Yes, I'm fine with that.
> >
> > Thanks! FYI, this patch now lives as:
> >
> > 9472fe7040bb ("virtio_console: Stop doing DMA on the stack")
> >
> > in tip:x86/asm, and is targeted for a v4.9 merge.
> >
> > Thanks,
> >
> > Ingo
>
> Thinking about it, maybe we should put it in 4.8
> after all, for benefit of systems using DMA API with virtio.
> Thoughts?

So CONFIG_VMAP_STACK=y is only going to be enabled for v4.9 - the enabling commit
is part of tip:x86/asm as well. So AFAICS the commit is not strictly needed for
v4.8.

Thanks,

Ingo