Message ID | 20201217185243.3288048-8-pasha.tatashin@soleen.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | prohibit pinning pages in ZONE_MOVABLE | expand |
On Thu 17-12-20 13:52:40, Pavel Tatashin wrote: > In __get_user_pages_locked() i counts number of pages which should be > long. Do we know of any caller who would like to pin so many pages it wouldn't fit into an int? I suspect this is more to sync types of nr_pages and the iterator right. It would be better to be explicit about this in the changelog. > Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> Acked-by: Michal Hocko <mhocko@suse.com> > --- > mm/gup.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/gup.c b/mm/gup.c > index 591d8e2dfc70..1ebb7cc2fbe4 100644 > --- a/mm/gup.c > +++ b/mm/gup.c > @@ -1481,7 +1481,7 @@ static long __get_user_pages_locked(struct mm_struct *mm, unsigned long start, > { > struct vm_area_struct *vma; > unsigned long vm_flags; > - int i; > + long i; > > /* calculate required read or write permissions. > * If FOLL_FORCE is set, we only require the "MAY" flags. > -- > 2.25.1
On Fri, Dec 18, 2020 at 4:51 AM Michal Hocko <mhocko@suse.com> wrote: > > On Thu 17-12-20 13:52:40, Pavel Tatashin wrote: > > In __get_user_pages_locked() i counts number of pages which should be > > long. > > Do we know of any caller who would like to pin so many pages it wouldn't > fit into an int? I suspect this is more to sync types of nr_pages and > the iterator right. It would be better to be explicit about this in the > changelog. It is to sync types. I will add it to the changelog. But, in general 32-bit increasingly becomes too small for handling page count proportional values. It is 8T for npages. For pinning may be a bit too large today, but I can image RDMA this size in the future. > > > Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> > > Acked-by: Michal Hocko <mhocko@suse.com> > > > --- > > mm/gup.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/gup.c b/mm/gup.c > > index 591d8e2dfc70..1ebb7cc2fbe4 100644 > > --- a/mm/gup.c > > +++ b/mm/gup.c > > @@ -1481,7 +1481,7 @@ static long __get_user_pages_locked(struct mm_struct *mm, unsigned long start, > > { > > struct vm_area_struct *vma; > > unsigned long vm_flags; > > - int i; > > + long i; > > > > /* calculate required read or write permissions. > > * If FOLL_FORCE is set, we only require the "MAY" flags. > > -- > > 2.25.1 > > -- > Michal Hocko > SUSE Labs
diff --git a/mm/gup.c b/mm/gup.c index 591d8e2dfc70..1ebb7cc2fbe4 100644 --- a/mm/gup.c +++ b/mm/gup.c @@ -1481,7 +1481,7 @@ static long __get_user_pages_locked(struct mm_struct *mm, unsigned long start, { struct vm_area_struct *vma; unsigned long vm_flags; - int i; + long i; /* calculate required read or write permissions. * If FOLL_FORCE is set, we only require the "MAY" flags.
In __get_user_pages_locked() i counts number of pages which should be long. Signed-off-by: Pavel Tatashin <pasha.tatashin@soleen.com> --- mm/gup.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)