[PATCH v8 17/26] media/v4l2-core: set pages dirty upon releasing DMA buffers

John Hubbard jhubbard at nvidia.com
Tue Dec 10 16:48:24 AEDT 2019


On 12/9/19 4:56 PM, Andrew Morton wrote:
> On Mon, 9 Dec 2019 14:53:35 -0800 John Hubbard <jhubbard at nvidia.com> wrote:
> 
>> After DMA is complete, and the device and CPU caches are synchronized,
>> it's still required to mark the CPU pages as dirty, if the data was
>> coming from the device. However, this driver was just issuing a
>> bare put_page() call, without any set_page_dirty*() call.
>>
>> Fix the problem, by calling set_page_dirty_lock() if the CPU pages
>> were potentially receiving data from the device.
>>
>> Reviewed-by: Christoph Hellwig <hch at lst.de>
>> Acked-by: Hans Verkuil <hverkuil-cisco at xs4all.nl>
>> Cc: Mauro Carvalho Chehab <mchehab at kernel.org>
>> Cc: <stable at vger.kernel.org>
> 
> What are the user-visible effects of this change?

I'll have to defer to Hans or other experts, because I merely spotted
this by reading the code.

> 
> As it's cc:stable I'd normally send this to Linus within 1-2 weeks, or
> sooner.  Please confirm that this is a standalone fix, independent of
> the rest of this series.
> 
> 

Yes, this is a stand-alone fix. Of course, as part of this series, the
put_page() gets converted to put_user_pages_dirty() in the next patch,
and that in turn gets renamed to unpin_user_pages_dirty() in a later
patch. Just so we keep that in mind when moving patches around.


thanks,
-- 
John Hubbard
NVIDIA


More information about the Linuxppc-dev mailing list