Re: make run_tests -C proc: proc-pid-vm assertion failed.
From: Alexey Dobriyan
Date: Fri Sep 09 2022 - 01:21:24 EST
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".