Re: [PATCH] virtio: 9p: correctly pass physical address to userspacefor high pages

From: Sasha Levin
Date: Wed Oct 17 2012 - 12:05:12 EST

On Wed, Oct 17, 2012 at 6:14 AM, Will Deacon <will.deacon@xxxxxxx> wrote:
> When using a virtio transport, the 9p net device allocates pages to back
> the descriptors inserted into the virtqueue. These allocations may be
> performed from atomic context (under the channel lock) and can therefore
> return high mappings which aren't suitable for virt_to_phys.
> This patch ensures that virtual addresses for virtio queue descriptors
> are converted to physical addresses using kmap_to_page, which handles
> high memory correctly.
> Cc: Rusty Russell <rusty@xxxxxxxxxxxxxxx>
> Cc: Sasha Levin <levinsasha928@xxxxxxxxx>
> Signed-off-by: Marc Zyngier <marc.zyngier@xxxxxxx>
> Signed-off-by: Will Deacon <will.deacon@xxxxxxx>
> ---

One of the things I was seeing when fuzzing within lkvm were random
crashes resulting
from "odd" addresses used by virtio-9p queue descriptions. I
attributed that to memory
corruption as a result of something else failing the fuzz tests
before, but this patch
explains what might have gone wrong.

I'll plug it in and run tests on it.

To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at
Please read the FAQ at