On Fri, Sep 09, 2022 at 10:19:16AM +0800, Jie2x Zhou wrote: > hi, > > The test error is caused by g_vsyscall set failed. > Error output: > selftests: proc: proc-pid-vm > proc-pid-vm: proc-pid-vm.c:389: main: Assertion `rv == len' failed. > Aborted > > g_vsyscall is set to 0. > In proc-pid-vm.c: > /* > * 0: vsyscall VMA doesn't exist vsyscall=none > * 1: vsyscall VMA is r-xp vsyscall=emulate > * 2: vsyscall VMA is --xp vsyscall=xonly > */ > static int g_vsyscall; > static const char *str_vsyscall; > > static const char str_vsyscall_0[] = ""; > static const char str_vsyscall_1[] = > "ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]\n"; > static const char str_vsyscall_2[] = > "ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall]\n"; > > The /proc/%u/maps output is: > buf=100000000-100001000 r-xp 00000000 00:2d 2 /tmp/#2 (deleted) > ffffffffff600000-ffffffffff601000 --xp 00000000 00:00 0 [vsyscall] > > So the g_vsyscall should be 2 according to commentary(2: vsyscall VMA is --xp). > Is it a bug? Can't reproduce. Please, post "strace -f ./proc-pid-vm".