Re: [PATCH] [26/31] CPA: Fix reference counting when changingalready changed pages

From: Jan Beulich
Date: Tue Jan 15 2008 - 04:05:48 EST


>+ ref_prot = canon_pgprot(ref_prot);
>+ prot = canon_pgprot(prot);
>+
> if (pgprot_val(prot) != pgprot_val(ref_prot)) {
>...
> } else if (level == 4) {
>...
> } else {
> /*
> * When you're here you either set the same page to PAGE_KERNEL

Doesn't this change require modifying the BUG() here into a BUG_ON() so
that it doesn't trigger if pgprot_val(prot) == pgprot_val(ref_prot) and
level != 4?

>+#define canon_pgprot(p) __pgprot(pgprot_val(p) & __supported_pte_mask)

While I remember you stated the inverse, I continue to think that it'd be
safer to mask out the accessed and dirty flags for the comparisons this
macro is being used for.

Jan

--
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/