Message ID | 20190807013340.9706-12-jhubbard@nvidia.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | put_user_pages(): miscellaneous call sites | expand |
On Tue, Aug 06, 2019 at 06:33:10PM -0700, john.hubbard@gmail.com wrote: > From: John Hubbard <jhubbard@nvidia.com> > > For pages that were retained via get_user_pages*(), release those pages > via the new put_user_page*() routines, instead of via put_page() or > release_pages(). > > This is part a tree-wide conversion, as described in commit fc1d8e7cca2d > ("mm: introduce put_user_page*(), placeholder versions"). > > Cc: Mauro Carvalho Chehab <mchehab@kernel.org> > Cc: Kees Cook <keescook@chromium.org> > Cc: Hans Verkuil <hans.verkuil@cisco.com> > Cc: Sakari Ailus <sakari.ailus@linux.intel.com> > Cc: Jan Kara <jack@suse.cz> > Cc: Robin Murphy <robin.murphy@arm.com> > Cc: Souptick Joarder <jrdr.linux@gmail.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: linux-media@vger.kernel.org > Signed-off-by: John Hubbard <jhubbard@nvidia.com> Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
On 8/7/19 3:33 AM, john.hubbard@gmail.com wrote: > From: John Hubbard <jhubbard@nvidia.com> > > For pages that were retained via get_user_pages*(), release those pages > via the new put_user_page*() routines, instead of via put_page() or > release_pages(). > > This is part a tree-wide conversion, as described in commit fc1d8e7cca2d > ("mm: introduce put_user_page*(), placeholder versions"). > > Cc: Mauro Carvalho Chehab <mchehab@kernel.org> > Cc: Kees Cook <keescook@chromium.org> > Cc: Hans Verkuil <hans.verkuil@cisco.com> > Cc: Sakari Ailus <sakari.ailus@linux.intel.com> > Cc: Jan Kara <jack@suse.cz> > Cc: Robin Murphy <robin.murphy@arm.com> > Cc: Souptick Joarder <jrdr.linux@gmail.com> > Cc: Dan Williams <dan.j.williams@intel.com> > Cc: linux-media@vger.kernel.org > Signed-off-by: John Hubbard <jhubbard@nvidia.com> Acked-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> > --- > drivers/media/v4l2-core/videobuf-dma-sg.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c b/drivers/media/v4l2-core/videobuf-dma-sg.c > index 66a6c6c236a7..d6eeb437ec19 100644 > --- a/drivers/media/v4l2-core/videobuf-dma-sg.c > +++ b/drivers/media/v4l2-core/videobuf-dma-sg.c > @@ -349,8 +349,7 @@ int videobuf_dma_free(struct videobuf_dmabuf *dma) > BUG_ON(dma->sglen); > > if (dma->pages) { > - for (i = 0; i < dma->nr_pages; i++) > - put_page(dma->pages[i]); > + put_user_pages(dma->pages, dma->nr_pages); > kfree(dma->pages); > dma->pages = NULL; > } >
diff --git a/drivers/media/v4l2-core/videobuf-dma-sg.c b/drivers/media/v4l2-core/videobuf-dma-sg.c index 66a6c6c236a7..d6eeb437ec19 100644 --- a/drivers/media/v4l2-core/videobuf-dma-sg.c +++ b/drivers/media/v4l2-core/videobuf-dma-sg.c @@ -349,8 +349,7 @@ int videobuf_dma_free(struct videobuf_dmabuf *dma) BUG_ON(dma->sglen); if (dma->pages) { - for (i = 0; i < dma->nr_pages; i++) - put_page(dma->pages[i]); + put_user_pages(dma->pages, dma->nr_pages); kfree(dma->pages); dma->pages = NULL; }