Re: [PATCH 001/104] KVM: Fix *nopage() in kvm_main.c

Nick Piggin
2007-09-17T13:42:19Z

On Monday 17 September 2007 19:18, Avi Kivity wrote:
> Avi Kivity wrote:
> > Christoph Hellwig wrote:
> >> On Mon, Sep 17, 2007 at 10:30:43AM +0200, Avi Kivity wrote:
> >>> From: Nguyen Anh Quynh <aquynh@gmail.com>
> >>>
> >>> *nopage() in kvm_main.c should only store the type of mmap() fault if
> >>> the pointers are not NULL. This patch fixes the problem.
> >>
> >> Care to convert it to ->faul while you're at it?
> >
> > I'll add this to my todo, though not sure It'll be in time for .24. If
> > someone sends a patch I'll apply it.
>
> I should mention that the converting to use ->fault() is a 15-minute
> change; the tricky part is adding backwards compatibility for the
> external module package.

It should be mostly possible to ifdef a nopage() handler, which is
just a wrapper function to translate arguments then call your new
->fault() handler. With luck, fault would mostly inline into nopage,
and do some constant folding to make it cheaper...

I'm planning to go through and convert the rest of the in-tree users
at some point soon, so if you do get a chance to convert your
upstream code before I try, it would nice ;)

Thanks,
Nick