[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20180211130029.GA23754@light.dominikbrodowski.net>
Date: Sun, 11 Feb 2018 14:00:29 +0100
From: Dominik Brodowski <linux@...inikbrodowski.net>
To: Ingo Molnar <mingo@...nel.org>
Cc: linux-kernel@...r.kernel.org, linux-kselftest@...r.kernel.org,
x86@...nel.org, shuah@...nel.org,
Andrew Lutomirski <luto@...nel.org>
Subject: Re: [PATCH 2/5] selftests/x86: fix vDSO selftest segfault for
vsyscall=none
On Sun, Feb 11, 2018 at 01:17:14PM +0100, Dominik Brodowski wrote:
> On Sun, Feb 11, 2018 at 12:21:53PM +0100, Ingo Molnar wrote:
> >
> > * Dominik Brodowski <linux@...inikbrodowski.net> 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.
Maybe no fix is needed after all: The fgets() call a few lines above
limits "line" to 127 chars max. So "name" can't even get close to 128
chars, right?
char line[128];
...
while (fgets(line, sizeof(line), maps)) {
Thanks,
Dominik
Powered by blists - more mailing lists