Re: [PATCH v3 26/26] kfifo: DECLARE_KIFO_PTR(fifo, u64) does not work on arm 32 bit
From: Mauro Carvalho Chehab
Date: Fri Dec 08 2017 - 09:08:03 EST
Em Thu, 30 Nov 2017 13:34:10 +0100
Stefani Seibold <stefani@xxxxxxxxxxx> escreveu:
> On Thu, 2017-11-30 at 10:29 -0200, Mauro Carvalho Chehab wrote:
> > Em Tue, 10 Oct 2017 09:59:42 +0200
> > Sean Young <sean@xxxxxxxx> escreveu:
> >
> > > If you try to store u64 in a kfifo (or a struct with u64 members),
> > > then the buf member of __STRUCT_KFIFO_PTR will cause 4 bytes
> > > padding due to alignment (note that struct __kfifo is 20 bytes
> > > on 32 bit).
> > >
> > > That in turn causes the __is_kfifo_ptr() to fail, which is caught
> > > by kfifo_alloc(), which now returns EINVAL.
> > >
> > > So, ensure that __is_kfifo_ptr() compares to the right structure.
> > >
> > > Signed-off-by: Sean Young <sean@xxxxxxxx>
> > > Acked-by: Stefani Seibold <stefani@xxxxxxxxxxx>
> >
> > Hi Stefani/Andrew,
> >
> > As this patch is required for the LIRC rework, would be ok if I would
> > merge it via the media tree?
> >
>
> It is okay by me. But the question remains why this patch wasn't
> already merged?
>
> Andrew: Any objections against this patch?
I'm assuming that merging via media tree is ok for Andrew. So, I guess
I'll just go ahead and merge it via my tree.
Thanks,
Mauro