[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <c3d6c5c5-0eb8-bad5-91f9-fea01eaeef37@csgroup.eu>
Date: Tue, 11 May 2021 06:54:14 +0200
From: Christophe Leroy <christophe.leroy@...roup.eu>
To: Michael Ellerman <mpe@...erman.id.au>,
Segher Boessenkool <segher@...nel.crashing.org>
Cc: Benjamin Herrenschmidt <benh@...nel.crashing.org>,
Paul Mackerras <paulus@...ba.org>, pmenzel@...gen.mpg.de,
linuxppc-dev@...ts.ozlabs.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH] powerpc/legacy_serial: Fix UBSAN:
array-index-out-of-bounds
Le 11/05/2021 à 03:16, Michael Ellerman a écrit :
> Segher Boessenkool <segher@...nel.crashing.org> writes:
>
>> On Sat, May 08, 2021 at 06:36:21AM +0000, Christophe Leroy wrote:
>>> UBSAN complains when a pointer is calculated with invalid
>>> 'legacy_serial_console' index, allthough the index is verified
>>> before dereferencing the pointer.
>>
>> Addressing like this is UB already.
>>
>> You could just move this:
>>
>>> - if (legacy_serial_console < 0)
>>> - return 0;
>>
>> to before
>>
>>> - struct legacy_serial_info *info = &legacy_serial_infos[legacy_serial_console];
>>> - struct plat_serial8250_port *port = &legacy_serial_ports[legacy_serial_console];
>>
>> and no other change is necessary.
>
> Yeah I sent a v2 doing that, thanks.
>
I wanted something looking similar to setup_legacy_serial_console(), but of course this also works.
Christophe
Powered by blists - more mailing lists