[lkml]   [2007]   [Oct]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
Messages in this thread
    Patch in this message
    Subject[PATCH 10/10] xfs: eagerly remove vmap mappings to avoid upsetting Xen
    XFS leaves stray mappings around when it vmaps memory to make it
    virtually contigious. This upsets Xen if one of those pages is being
    recycled into a pagetable, since it finds an extra writable mapping of
    the page.

    This patch solves the problem in a brute force way, by making XFS
    always eagerly unmap its mappings.

    [ Stable: This works around a bug in 2.6.23. We may come up with a
    better solution for mainline, but this seems like a low-impact fix for
    the stable kernel. ]

    Signed-off-by: Jeremy Fitzhardinge <>
    Cc: XFS masters <>
    Cc: Stable kernel <>
    Cc: Morten =?utf-8?q?B=C3=B8geskov?= <>
    Cc: Mark Williamson <>

    fs/xfs/linux-2.6/xfs_buf.c | 13 +++++++++++++
    1 file changed, 13 insertions(+)

    --- a/fs/xfs/linux-2.6/xfs_buf.c
    +++ b/fs/xfs/linux-2.6/xfs_buf.c
    @@ -186,6 +186,19 @@ free_address(
    void *addr)
    a_list_t *aentry;
    +#ifdef CONFIG_XEN
    + /*
    + * Xen needs to be able to make sure it can get an exclusive
    + * RO mapping of pages it wants to turn into a pagetable. If
    + * a newly allocated page is also still being vmap()ed by xfs,
    + * it will cause pagetable construction to fail. This is a
    + * quick workaround to always eagerly unmap pages so that Xen
    + * is happy.
    + */
    + vunmap(addr);
    + return;

    aentry = kmalloc(sizeof(a_list_t), GFP_NOWAIT);
    if (likely(aentry)) {

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

     \ /
      Last update: 2007-10-12 23:49    [W:0.031 / U:4.340 seconds]
    ©2003-2017 Jasper Spaans. hosted at Digital OceanAdvertise on this site