View | Details | Raw Unified | Return to bug 27472 | Differences between
and this patch

Collapse All | Expand All

(-)a/arch/x86/mm/init_32.c (+5 lines)
Lines 227-232 page_table_range_init(unsigned long start, unsigned long end, pgd_t *pgd_base) Link Here
227
227
228
static inline int is_kernel_text(unsigned long addr)
228
static inline int is_kernel_text(unsigned long addr)
229
{
229
{
230
#if defined(CONFIG_X86_32) && defined(CONFIG_ACPI_SLEEP)
231
	if (addr >= PAGE_OFFSET && addr <= (PAGE_OFFSET+(1<<20)))
232
		return 1;
233
#endif
234
230
	if (addr >= (unsigned long)_text && addr <= (unsigned long)__init_end)
235
	if (addr >= (unsigned long)_text && addr <= (unsigned long)__init_end)
231
		return 1;
236
		return 1;
232
	return 0;
237
	return 0;
(-)a/arch/x86/mm/pageattr.c (+4 lines)
Lines 265-270 static inline pgprot_t static_protections(pgprot_t prot, unsigned long address, Link Here
265
	if (pcibios_enabled && within(pfn, BIOS_BEGIN >> PAGE_SHIFT, BIOS_END >> PAGE_SHIFT))
265
	if (pcibios_enabled && within(pfn, BIOS_BEGIN >> PAGE_SHIFT, BIOS_END >> PAGE_SHIFT))
266
		pgprot_val(forbidden) |= _PAGE_NX;
266
		pgprot_val(forbidden) |= _PAGE_NX;
267
#endif
267
#endif
268
#if defined(CONFIG_X86_32) && defined(CONFIG_ACPI_SLEEP)
269
	if (within(address, PAGE_OFFSET, PAGE_OFFSET+(1<<20)))
270
		pgprot_val(forbidden) |= _PAGE_NX;
271
#endif
268
272
269
	/*
273
	/*
270
	 * The kernel text needs to be executable for obvious reasons
274
	 * The kernel text needs to be executable for obvious reasons

Return to bug 27472