Re: [PATCH 00 of 10] x86: unify asm/pgtable.h

From: Ingo Molnar
Date: Tue Jan 08 2008 - 20:16:33 EST



* Jeremy Fitzhardinge <jeremy@xxxxxxxx> wrote:

> This isn't correct, because it will set _PAGE_GLOBAL on 32-bit
> unconditionally. It needs to be something like:

hm, why is that a problem? Ah, the VDSO page must not be global-mapped,
right? It's getting late here, i should stop modifying the kernel ;)

> +#define GLOBAL_PGPROT(prot) __pgprot(prot | _PAGE_GLOBAL)
> +
> +#define PAGE_KERNEL GLOBAL_PGPROT(__PAGE_KERNEL)
> +#define PAGE_KERNEL_RO GLOBAL_PGPROT(__PAGE_KERNEL_RO)
> +#define PAGE_KERNEL_EXEC GLOBAL_PGPROT(__PAGE_KERNEL_EXEC)
> +#define PAGE_KERNEL_RX GLOBAL_PGPROT(__PAGE_KERNEL_RX)
> +#define PAGE_KERNEL_NOCACHE GLOBAL_PGPROT(__PAGE_KERNEL_NOCACHE)
> +#define PAGE_KERNEL_LARGE GLOBAL_PGPROT(__PAGE_KERNEL_LARGE)
> +#define PAGE_KERNEL_LARGE_EXEC GLOBAL_PGPROT(__PAGE_KERNEL_LARGE_EXEC)
> +#define PAGE_KERNEL_VSYSCALL GLOBAL_PGPROT(__PAGE_KERNEL_VSYSCALL)
> +#define PAGE_KERNEL_VSYSCALL_NOCACHE GLOBAL_PGPROT(__PAGE_KERNEL_VSYSCALL_NOCACHE)

i suspect you wanted to make GLOBAL_PGPROT a NOP on 32-bit?

but i think it would be better to just do this distinction for the
PAGE_KERNEL_VSYSCALL?

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