Message ID | 20221107161740.144456-20-david@redhat.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | mm/gup: remove FOLL_FORCE usage from drivers (reliable R/O long-term pinning) | expand |
On Mon, Nov 7, 2022 at 6:19 PM David Hildenbrand <david@redhat.com> wrote: > > FOLL_FORCE is really only for debugger access. As we unpin the pinned pages > using unpin_user_pages_dirty_lock(true), the assumption is that all these > pages are writable. > > FOLL_FORCE in this case seems to be due to copy-and-past from other > drivers. Let's just remove it. > > Cc: Oded Gabbay <ogabbay@kernel.org> > Cc: Arnd Bergmann <arnd@arndb.de> > Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> > Signed-off-by: David Hildenbrand <david@redhat.com> > --- > drivers/misc/habanalabs/common/memory.c | 3 +-- > 1 file changed, 1 insertion(+), 2 deletions(-) > > diff --git a/drivers/misc/habanalabs/common/memory.c b/drivers/misc/habanalabs/common/memory.c > index ef28f3b37b93..e35cca96bbef 100644 > --- a/drivers/misc/habanalabs/common/memory.c > +++ b/drivers/misc/habanalabs/common/memory.c > @@ -2312,8 +2312,7 @@ static int get_user_memory(struct hl_device *hdev, u64 addr, u64 size, > if (!userptr->pages) > return -ENOMEM; > > - rc = pin_user_pages_fast(start, npages, > - FOLL_FORCE | FOLL_WRITE | FOLL_LONGTERM, > + rc = pin_user_pages_fast(start, npages, FOLL_WRITE | FOLL_LONGTERM, > userptr->pages); > > if (rc != npages) { > -- > 2.38.1 > > Acked-by: Oded Gabbay <ogabbay@kernel.org> Thanks, Oded
diff --git a/drivers/misc/habanalabs/common/memory.c b/drivers/misc/habanalabs/common/memory.c index ef28f3b37b93..e35cca96bbef 100644 --- a/drivers/misc/habanalabs/common/memory.c +++ b/drivers/misc/habanalabs/common/memory.c @@ -2312,8 +2312,7 @@ static int get_user_memory(struct hl_device *hdev, u64 addr, u64 size, if (!userptr->pages) return -ENOMEM; - rc = pin_user_pages_fast(start, npages, - FOLL_FORCE | FOLL_WRITE | FOLL_LONGTERM, + rc = pin_user_pages_fast(start, npages, FOLL_WRITE | FOLL_LONGTERM, userptr->pages); if (rc != npages) {
FOLL_FORCE is really only for debugger access. As we unpin the pinned pages using unpin_user_pages_dirty_lock(true), the assumption is that all these pages are writable. FOLL_FORCE in this case seems to be due to copy-and-past from other drivers. Let's just remove it. Cc: Oded Gabbay <ogabbay@kernel.org> Cc: Arnd Bergmann <arnd@arndb.de> Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org> Signed-off-by: David Hildenbrand <david@redhat.com> --- drivers/misc/habanalabs/common/memory.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)