[Lguest] Error inserting lg: Cannot allocate memory

Fabio Checconi fabio at gandalf.sssup.it
Mon Feb 25 23:36:40 EST 2008


> From: Stefan Hellermann <stefan at the2masters.de>
> Date: Mon, Feb 25, 2008 12:43:01PM +0100
>
> Fabio Checconi schrieb:
...
> >     make drivers/lguest/core.i
> 
>  switcher_vma = __get_vm_area(((((end_switcher_text - start_switcher_text) + (((1UL) <<
> 12)) - 1) / (((1UL) << 12))) + 2 * 1) * ((1UL) << 12),
>            0x00000002, 0xFFC00000, ((((((unsigned long)__FIXADDR_TOP) -
> (__end_of_fixed_addresses << 12)) - ((1UL) << 12)*(1024 + 1)) & (~((1UL <<
> 22)-1)))-2*((1UL) << 12)));
>  if (!switcher_vma) {
>   err = -12;
>   printk("lguest: could not map switcher pages high\n");
>   goto free_pages;
>  }
> 
> Is VMALLOC_END too near to 0xFFC00000 ?

Sorry for that, I didn't think about it not being a constant on your .config.
Compiling your config I obtain 0xff7fe00 for VMALLOC_END.


> Playing around with the vmalloc= kernel parameter doesn't help.

You don't need more vmalloc space, but the required addresses to be free.
If you cannot disable HIGHMEM I think the code should be fixed to use a
different starting address for the switcher (or to dynamically allocate it,)
but I'm not an lguest developer :)




More information about the Lguest mailing list