Re: [PATCH] Xen: Fix retry calls into PRIVCMD_MMAPBATCH*.

From: David Vrabel
Date: Thu Aug 01 2013 - 07:24:11 EST


On 01/08/13 04:30, Andres Lagar-Cavilla wrote:
> -- Resend as I haven't seen this hit the lists. Maybe some smtp misconfig. Apologies. Also expanded cc --
>
> When a foreign mapper attempts to map guest frames that are paged out,
> the mapper receives an ENOENT response and will have to try again
> while a helper process pages the target frame back in.
>
> Gating checks on PRIVCMD_MMAPBATCH* ioctl args were preventing retries
> of mapping calls.

This breaks the auto_translated_physmap case as will allocate another
set of empty pages and leak the previous set.

This privcmd_enforce_singleshot_mapping() stuff seems very odd anyway.
Does anyone know what it was for originally? It would be preferrable if
we could update the mappings with a new set of foreign MFNs without
having to tear down the VMA and recreate a new VMA.

> --- a/drivers/xen/privcmd.c
> +++ b/drivers/xen/privcmd.c
[...]
> +/* For MMAPBATCH*. This allows asserting the singleshot mapping
> + * on a per pfn/pte basis. Mapping calls that fail with ENOENT
> + * can be then retried until success. */

Comment coding style.

David
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/