Re: [PATCH] iov_iter: Fix 9p virtio breakage

From: Marc Zyngier
Date: Sat Nov 03 2018 - 06:19:24 EST


On Fri, 02 Nov 2018 19:04:33 +0000,
Al Viro <viro@xxxxxxxxxxxxxxxxxx> wrote:
>
> On Fri, Nov 02, 2018 at 05:16:51PM +0000, Marc Zyngier wrote:
> > When switching to the new iovec accessors, a negation got subtly
> > dropped, leading to 9p being remarkably broken (here with kvmtool):
> >
> > [ 7.430941] VFS: Mounted root (9p filesystem) on device 0:15.
> > [ 7.432080] devtmpfs: mounted
> > [ 7.432717] Freeing unused kernel memory: 1344K
> > [ 7.433658] Run /virt/init as init process
> > Warning: unable to translate guest address 0x7e00902ff000 to host
> > Warning: unable to translate guest address 0x7e00902fefc0 to host
> > Warning: unable to translate guest address 0x7e00902ff000 to host
> > Warning: unable to translate guest address 0x7e008febef80 to host
> > Warning: unable to translate guest address 0x7e008febf000 to host
> > Warning: unable to translate guest address 0x7e008febef00 to host
> > Warning: unable to translate guest address 0x7e008febf000 to host
> > [ 7.436376] Kernel panic - not syncing: Requested init /virt/init failed (error -8).
> > [ 7.437554] CPU: 29 PID: 1 Comm: swapper/0 Not tainted 4.19.0-rc8-02267-g00e23707442a #291
> > [ 7.439006] Hardware name: linux,dummy-virt (DT)
> > [ 7.439902] Call trace:
> > [ 7.440387] dump_backtrace+0x0/0x148
> > [ 7.441104] show_stack+0x14/0x20
> > [ 7.441768] dump_stack+0x90/0xb4
> > [ 7.442425] panic+0x120/0x27c
> > [ 7.443036] kernel_init+0xa4/0x100
> > [ 7.443725] ret_from_fork+0x10/0x18
> > [ 7.444444] SMP: stopping secondary CPUs
> > [ 7.445391] Kernel Offset: disabled
> > [ 7.446169] CPU features: 0x0,23000438
> > [ 7.446974] Memory Limit: none
> > [ 7.447645] ---[ end Kernel panic - not syncing: Requested init /virt/init failed (error -8). ]---
> >
> > Restoring the missing "!" brings the guest back to life.
> >
> > Fixes: 00e23707442a ("iov_iter: Use accessor function")
> > Reported-by: Will Deacon <will.deacon@xxxxxxx>
> > Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
>
> ACK. Do you want me to take it via vfs.git? Or might as well
> send directly to Linus, with
>
> Acked-by Al Viro <viro@xxxxxxxxxxxxxxxxxx>
>
> on it.

Now sent to Linus with your Ack.

Cheers,

M.

--
Jazz is not dead, it just smell funny.