Messages in this thread | | | Subject | Re: [PATCH] lib: Add test module for CONFIG_DEBUG_VIRTUAL | From | Florian Fainelli <> | Date | Tue, 8 Aug 2017 11:04:11 -0700 |
| |
On 08/08/2017 10:57 AM, Luis R. Rodriguez wrote: > On Tue, Aug 08, 2017 at 09:40:26AM -0700, Florian Fainelli wrote: >> Add a test module that allows testing that CONFIG_DEBUG_VIRTUAL works >> correctly, at least that it can catch invalid calls to virt_to_phys() >> against the non-linear kernel virtual address map. >> >> Signed-off-by: Florian Fainelli <f.fainelli@gmail.com> >> ---
>> +static int __init test_debug_virtual_init(void) >> +{ >> + phys_addr_t pa; >> + void *va; >> + >> + va = (void *)VMALLOC_START; >> + pa = virt_to_phys(va); >> + >> + pr_info("PA: %pa for VA: 0x%lx\n", &pa, (unsigned long)va); >> + >> + foo = kzalloc(sizeof(*foo), GFP_KERNEL); >> + if (!foo) >> + return -ENOMEM; >> + >> + pa = virt_to_phys(foo); >> + va = foo; >> + pr_info("PA: %pa for VA: 0x%lx\n", &pa, (unsigned long)va); > > Should there be a tests here of some sort? When should this fail, why?
There is no test per-se, the kernel will produce warning with CONFIG_DEBUG_VIRTUAL telling you that what you are doing is wrong.
> There is no docs on this self test, could one be added?
I suppose I could add one even though that just means pointing out the code that produces the warning? -- Florian
| |