[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAK7LNARpDFDc9ntf3g03+Vz1gejzDVOpEkA1mRmA6sduNsDKWg@mail.gmail.com>
Date: Sat, 24 Dec 2016 15:47:19 +0900
From: Masahiro Yamada <yamada.masahiro@...ionext.com>
To: Greg Kroah-Hartman <gregkh@...uxfoundation.org>
Cc: linux-serial@...r.kernel.org, linux-parisc@...r.kernel.org,
Jiri Slaby <jslaby@...e.com>,
"James E.J. Bottomley" <jejb@...isc-linux.org>,
Helge Deller <deller@....de>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Joachim Eastwood <manabian@...il.com>,
linux-arm-kernel <linux-arm-kernel@...ts.infradead.org>
Subject: Re: [PATCH] serial: 8250: use initializer instead of memset to clear
local struct
Hi Greg,
2016-12-23 16:20 GMT+09:00 Greg Kroah-Hartman <gregkh@...uxfoundation.org>:
> On Fri, Dec 23, 2016 at 12:21:48PM +0900, Masahiro Yamada wrote:
>> Leave the way of zero-out to the compiler's decision; the compiler
>> may know a more optimized way than calling memset().
>
> But no, it doesn't, it will leave "blank" areas in the structure with
> bad data in it, which is why we do memset. See the tree-wide fixups we
> made about a year ago for this very issue. Are you sure none of these
> structures get copied to userspace?
I have to admit no security consideration was in my mind.
If we talk about the particular case of struct uart_8250_port,
this structure is allocated in the stack temporarily,
then serial8250_register_8250_port() copies its members to another
structure one by one. So no "blank" area is exposed to the user-space,
I think.
Having said that, we have no good reason to take a risk for this.
So, please feel free to discard this patch.
--
Best Regards
Masahiro Yamada
Powered by blists - more mailing lists