Re: [PATCH 2/5] selftests/x86: fix vDSO selftest segfault for vsyscall=none

From: Dominik Brodowski
Date: Sun Feb 11 2018 - 07:17:45 EST


On Sun, Feb 11, 2018 at 12:21:53PM +0100, Ingo Molnar wrote:
>
> * Dominik Brodowski <linux@xxxxxxxxxxxxxxxxxxxx> wrote:
>
> > + char name[128];
> > + if (sscanf(line, "%p-%p %c-%cp %*x %*x:%*x %*u %s",
> > + &start, &end, &r, &x, name) != 5)
>
> So that's a buffer overflow waiting to happen, if a line in 'maps' gets too large,
> right?

... as does tools/testing/selftests/x86/test_vsyscall.c already now, right?
Will fix both up with an additional patch.

But a more generic question: Is there a quick, easy but reliable test
available in userspace to determine whether
int $0x80
vsyscall
is available on a given system, or will cause a segfault?

Thanks,
Dominik