RE: ERST: how to avoid a dynamic memory allocation in panic case

From: Seiji Aguchi
Date: Tue Jan 22 2013 - 19:44:55 EST




> > <snip>
> > @@ -918,10 +918,7 @@ acpi_os_read_memory(acpi_physical_address phys_addr, u64 *value, u32 width)
> > virt_addr = acpi_map_vaddr_lookup(phys_addr, size);
> > if (!virt_addr) {
> > rcu_read_unlock();
> > - virt_addr = acpi_os_ioremap(phys_addr, size);
> > - if (!virt_addr)
> > - return AE_BAD_ADDRESS;
> > - unmap = true;
> > + return AE_BAD_ADDRESS;
>
> No. We can not do that. Because some users rely on acpi_os_read_memory to do ioremap for them.

Thank you for giving me the information.

> The correct fixing should be pre-map the io-memory that may be accessed in erst code patch with acpi_map().

I will take a look at the code.

Seiji
èº{.nÇ+‰·Ÿ®‰­†+%ŠËlzwm…ébëæìr¸›zX§»®w¥Š{ayºÊÚë,j­¢f£¢·hš‹àz¹®w¥¢¸ ¢·¦j:+v‰¨ŠwèjØm¶Ÿÿ¾«‘êçzZ+ƒùšŽŠÝj"ú!¶iO•æ¬z·švØ^¶m§ÿðà nÆàþY&—