linux 用户进程额堆栈空间VMA

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]

你可能感兴趣的:(c,linux,struct)