linux 堆栈expand_stack
__bprm_mm_init
@@@@@@@@0xbe86f000 - 0xbe871000: address 0xbe84f000
int expand_downwards(struct vm_area_struct *vma,
unsigned long address)
{
int error;
if(strncmp(current->comm, "hello", 5) == 0)
printk("@@@@@@@@0x%08lx - 0x%08lx: address 0x%08lx\n", vma->vm_start, vma->vm_end, address);
00008000-00009000 r-xp 00000000 00:01 320 /hello
00010000-00011000 rwxp 00000000 00:01 320 /hello
40023000-40024000 rwxp 00000000 00:00 0
40049000-40066000 r-xp 00000000 00:01 307 /lib/ld-2.8.so
40066000-40067000 rwxp 00000000 00:00 0
4006d000-4006e000 r-xp 0001c000 00:01 307 /lib/ld-2.8.so
4006e000-4006f000 rwxp 0001d000 00:01 307 /lib/ld-2.8.so
4009e000-4009f000 rwxp 00000000 00:00 0
400f4000-4020f000 r-xp 00000000 00:01 282 /lib/libc-2.8.so
4020f000-40217000 ---p 0011b000 00:01 282 /lib/libc-2.8.so
40217000-40219000 r-xp 0011b000 00:01 282 /lib/libc-2.8.so
40219000-4021a000 rwxp 0011d000 00:01 282 /lib/libc-2.8.so
4021a000-4021d000 rwxp 00000000 00:00 0
be850000-be871000 rw-p 00000000 00:00 0 [stack]
ffff0000-ffff1000 r-xp 00000000 00:00 0 [vectors]