[PATCH] n_tty: use kmalloc() instead of vmalloc() to avoid crash on armada-xp

Catalin Marinas catalin.marinas at arm.com
Tue Mar 10 10:17:51 PDT 2015


On Tue, Mar 10, 2015 at 07:54:22PM +0300, Stas Sergeev wrote:
> Hello, the patch below is needed for a successful boot on armada-xp.
> 
> -=-=-=-=-=-=-=-=-=# Don't remove this line #=-=-=-=-=-=-=-=-=-
> This fixes the following crash at boot:
> 
>  Unhandled fault: external abort on non-linefetch (0x808) at 0xf00ca018
>  Internal error: : 808 [#1] SMP ARM

I think you have some other problems. That's an external abort, which
means that the original vmalloc'ed memory was not mapping RAM but some
empty physical address space.

That's unless strex hits device memory and not having an exclusive
monitor causes such external abort. But vmalloc() memory is Normal
Cacheable. Some pointer could go wrong and it hits ioremap'ed memory
which is in the same range as vmalloc'ed memory.

-- 
Catalin



More information about the linux-arm-kernel mailing list