question about iotable_init( ) function

Will Deacon will.deacon at arm.com
Mon Jul 1 05:27:24 EDT 2013


On Mon, Jul 01, 2013 at 08:31:38AM +0100, Wang, Yalin wrote:
> Hi  Will,
> 
> I have a question about iotable_init()  function (arch/arm/mm/mmu.c)
> I found  in this function it only allocate a vm_struct and insert it into vmlist ,
> But it didn’t allocate a vmap_area  to insert it  into vmap_area_root tree (mm/vmalloc.c).
> 
> So this means that the virtual address reserverd by iotable_init is not declared
> In vmap_area_root  ,  this is not safe ,  maybe some driver will use this virtual address as vmalloc again,
> I think it ‘s not safe in this condition ,  should also add a vmap_area   node into vmap_area_root to
> Hold this virtual address not used by others .

The vmap_area structures are allocated and inserted later on by vmalloc_init
(iotable init is for static mappings early during boot).

Will



More information about the linux-arm-kernel mailing list