Hi When I use gdb debug get_unmapped_area on qemumips64, I found a strange phenomenon: file: mm/mmap.c function: get_unmapped_area line: addr = get_area(file, addr, len, pgoff, flags); This return -22, I want to find where return -22, then I step in get_area: (gdb) s shmem_get_unmapped_area (file=0x900000000888b000, uaddr=18446744073709547520, len=4096, pgoff=0, flags=17) at /usr/src/kernel/mm/shmem.c:2043 2043 /usr/src/kernel/mm/shmem.c: No such file or directory. (gdb) n arch_get_unmapped_area_topdown (filp=0x900000000888b000, addr0=18446744073709547520, len=4096, pgoff=0, flags=17) at /usr/src/kernel/arch/mips/mm/mmap.c:142 142 /usr/src/kernel/arch/mips/mm/mmap.c: No such file or directory. (gdb) n 143 in /usr/src/kernel/arch/mips/mm/mmap.c (gdb) n arch_get_unmapped_area_common (filp=0x900000000888b000, addr0=18446744073709547520, len=4096, pgoff=0, flags=17, dir=DOWN) at /usr/src/kernel/arch/mips/mm/mmap.c:59 59 in /usr/src/kernel/arch/mips/mm/mmap.c (gdb) n 66 in /usr/src/kernel/arch/mips/mm/mmap.c Why it jump three three function? shmem_get_unmapped_area arch_get_unmapped_area_topdown arch_get_unmapped_area_common