Re: [RFC 1/1] mm: add virt to phys debug

From: Jiri Slaby
Date: Tue May 13 2008 - 10:39:21 EST


Christoph Lameter napsal(a):
On Thu, 1 May 2008, Jiri Slaby wrote:
Add some (configurable) expensive sanity checking to catch wrong address
translations on x86.

- create linux/mmdebug.h file to be able include this file in
asm headers to not get unsolvable loops in header files
- __phys_addr on x86_32 became a function in ioremap.c since
PAGE_OFFSET and is_vmalloc_addr is undefined if declared in
page_32.h (again circular dependencies)
- add __phys_addr_const for initializing doublefault_tss.__cr3

Hmmm.. We could use include/linux/bounds.h to make VMALLOC_START/VMALLOC_END (or whatever you need for checking the memory boundaries) a cpp constant which may allow the use in page_32.h without circular dependencies.

Hrm, not that easy. I ended up in splitting fixmap_32.h (VMALLOC constants depends on it on 32-bit), moving around constants from over all the tree (NR_CPUS, FIX_ACPI_PAGES...) to not include files which would create loops, but still not having e.g. PMD_MASK available on all configurations. I think it's not worth it. Objections to merging the patch as was (http://lkml.org/lkml/2008/5/1/300)?

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