Messages in this thread |  | | Date | Thu, 15 Dec 2022 17:29:15 +1300 | From | Paulo Miguel Almeida <> | Subject | Re: [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.
|  |