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

From: Christoph Hellwig
Date: Thu Dec 15 2022 - 07:49:08 EST


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.