Messages in this thread | | | Date | Thu, 17 Feb 2005 19:33:53 +1100 | From | Nick Piggin <> | Subject | Re: [PATCH] Fix possible race with 4level-fixup.h |
| |
Benjamin Herrenschmidt wrote: > Hi ! > > When using 4level-fixup.h, a PMD page may end up beeing freed before the > matching PGD entry is cleared due to the way the compatibility macros > work. This can cause nasty races on some architectures. > > This patch fixes it by defining pud_clear() to be pgd_clear(). That > means we'll actually write 0 twice, a small price to pay here, > especially seeing how easy it is to convert to the new headers anyway > (hint hint, ppc & ppc64 patches as soon as 2.6.11 is out). > > Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org> > > Index: linux-work/include/asm-generic/4level-fixup.h > =================================================================== > --- linux-work.orig/include/asm-generic/4level-fixup.h 2005-01-24 17:09:49.000000000 +1100 > +++ linux-work/include/asm-generic/4level-fixup.h 2005-02-17 18:10:38.000000000 +1100 > @@ -24,7 +24,7 @@ > #define pud_bad(pud) 0 > #define pud_present(pud) 1 > #define pud_ERROR(pud) do { } while (0) > -#define pud_clear(pud) do { } while (0) > +#define pud_clear(pud) pgd_clear((pgd_t *)(pud)) >
Just a small nit - no cast needed here.
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
| |