lkml.org 
[lkml]   [2022]   [Dec]   [14]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH] [next] pcmcia: synclink_cs: replace 1-element array with flex-array member
On Thu, Dec 15, 2022 at 12:06:46AM +0200, Andy Shevchenko wrote:
> On Wed, Dec 14, 2022 at 11:49 PM Kees Cook <keescook@chromium.org> wrote:
> > On Wed, Dec 14, 2022 at 10:39:52PM +0200, Andy Shevchenko wrote:
> > > Yes, and Try to make it work with __packed. As I said, the problem is
> > > that the code is relying on something which is architecture dependent
> > > strictly speaking. And hence I disagree with Kees that v2 is okay to
> > > go.
> >
> > I meant that v2 is functionally identical to the existing code.
>
> Ah, sorry for misunderstanding.
>

I agree with using __packed attribute to remove the extra padding (and
for the reasons you mentioned before). That would reduce the sizeof(RXBUF)
from 8 to 5 (which is good) but that is still 1 byte "too much".

Piggying back on a suggestion Kees gave before:

- info->rx_buf_size = sizeof(RXBUF) + info->max_frame_size;
+ info->rx_buf_size = sizeof(RXBUF) - 1 + info->max_frame_size;

That way RXBUF->data will point to the first byte of the frame_size
(MGSLPC_INFO->max_frame_size) which is what is actually needed.

> > > The full change should be something like
> > >
> > > check_add(sizeof(), max_frame_size)
> > > kcalloc(8, size)
> >
> > Right -- this would fix the existing mistakes in size calculation (and
> > is certainly better).
>
> Glad to hear that we are on the same page.
>

That makes sense to me.

thanks!

- Paulo A.

\
 
 \ /
  Last update: 2022-12-15 05:30    [W:0.116 / U:0.168 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site