Re: [PATCH 1/1] EFI iounpam fix for acpi_os_unmap_memory

Andrew Morton
2006-02-21T20:59:19Z

Andi Kleen <ak@suse.de> wrote:
>
> Andrew Morton <akpm@osdl.org> writes:
>
> >
> > void acpi_os_unmap_memory(void __iomem * virt, acpi_size size)
> > {
> > + /* Don't unmap memory which was not mapped by acpi_os_map_memory */
> > + if (efi_enabled &&
> > + (efi_mem_attributes(virt_to_phys(virt)) & EFI_MEMORY_WB))
> > + return;
>
>
> The patch is wrong because if the address came from ioremap
> virt_to_phys doesn't give the real physical address. Also looking
> at acpi_os_map_memory it doesn't quite match the logic there.
>
> One working way to check for ioremap memory is
> virt >= VMALLOC_START && virt < VMALLOC_END
>

OK, thanks. I don't think we actually know who is trying to unmap some
memory which acpi didn't map.

Edgar, can you please describe the bug which you're trying to fix?