Hi Will, Oh, I see, Thanks for your clarification very much ! -----Original Message----- From: Will Deacon [mailto:will.deacon@xxxxxxx] Sent: Monday, July 01, 2013 5:27 PM To: Wang, Yalin Cc: 'Russell King - ARM Linux'; 'linux-arm-kernel@xxxxxxxxxxxxxxxxxxx'; 'linux-arch@xxxxxxxxxxxxxxx' Subject: Re: question about iotable_init( ) function 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 ��.n��������+%������w��{.n�����{�����ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f