Re: [PATCH v3 2/2] media: uvcvideo: Do not alloc dev->status

From: Ricardo Ribalda
Date: Tue Dec 20 2022 - 17:59:40 EST


Hi Christoph

On Thu, 15 Dec 2022 at 13:48, Christoph Hellwig <hch@xxxxxx> wrote:
>
> On Thu, Dec 15, 2022 at 11:57:19AM +0100, Ricardo Ribalda wrote:
> > + /*
> > + * Ensure that status is aligned, making it safe to use with
> > + * non-coherent DMA.
> > + */
> > + struct uvc_status status __aligned(ARCH_KMALLOC_MINALIGN);
>
> This should be ARCH_DMA_MINALIGN, not ARCH_KMALLOC_MINALIGN.
>
> Note that without an __aligned tag on the next member as well, those
> next members might get cache corrupted.
>
> >
> > struct input_dev *input;
>
> .. and without also aligning the next member you'll might still
> corrupt everything adter the DMAed member.
>
> That's the reason why I generall advocate against playing these
> __aligned games as they can easily go wrong if someone reorders
> the structure.

Thanks a lot for the explanation. I agree, we should keep the
allocation as it is :). Sorry for the noise

Best regards!



--
Ricardo Ribalda