* Re: [Xen-devel] [PATCH v4 8/9] xen/gntdev.c: Convert to use vm_map_pages() [not found] ` <20190730142233.GR1250@mail-itl> @ 2019-07-30 14:52 ` Souptick Joarder 2019-07-30 15:01 ` Marek Marczykowski-Górecki 0 siblings, 1 reply; 2+ messages in thread From: Souptick Joarder @ 2019-07-30 14:52 UTC (permalink / raw) To: Marek Marczykowski-Górecki Cc: Boris Ostrovsky, Andrew Morton, Matthew Wilcox, Michal Hocko, Juergen Gross, Russell King - ARM Linux, robin.murphy, xen-devel, linux-kernel, Linux-MM, stable, Greg KH On Tue, Jul 30, 2019 at 7:52 PM Marek Marczykowski-Górecki <marmarek@invisiblethingslab.com> wrote: > > On Tue, Jul 30, 2019 at 10:05:42AM -0400, Boris Ostrovsky wrote: > > On 7/30/19 2:03 AM, Souptick Joarder wrote: > > > On Mon, Jul 29, 2019 at 7:06 PM Marek Marczykowski-Górecki > > > <marmarek@invisiblethingslab.com> wrote: > > >> On Mon, Jul 29, 2019 at 02:02:54PM +0530, Souptick Joarder wrote: > > >>> On Mon, Jul 29, 2019 at 1:35 PM Souptick Joarder <jrdr.linux@gmail.com> wrote: > > >>>> On Sun, Jul 28, 2019 at 11:36 PM Marek Marczykowski-Górecki > > >>>> <marmarek@invisiblethingslab.com> wrote: > > >>>>> On Fri, Feb 15, 2019 at 08:18:31AM +0530, Souptick Joarder wrote: > > >>>>>> Convert to use vm_map_pages() to map range of kernel > > >>>>>> memory to user vma. > > >>>>>> > > >>>>>> map->count is passed to vm_map_pages() and internal API > > >>>>>> verify map->count against count ( count = vma_pages(vma)) > > >>>>>> for page array boundary overrun condition. > > >>>>> This commit breaks gntdev driver. If vma->vm_pgoff > 0, vm_map_pages > > >>>>> will: > > >>>>> - use map->pages starting at vma->vm_pgoff instead of 0 > > >>>> The actual code ignores vma->vm_pgoff > 0 scenario and mapped > > >>>> the entire map->pages[i]. Why the entire map->pages[i] needs to be mapped > > >>>> if vma->vm_pgoff > 0 (in original code) ? > > >> vma->vm_pgoff is used as index passed to gntdev_find_map_index. It's > > >> basically (ab)using this parameter for "which grant reference to map". > > >> > > >>>> are you referring to set vma->vm_pgoff = 0 irrespective of value passed > > >>>> from user space ? If yes, using vm_map_pages_zero() is an alternate > > >>>> option. > > >> Yes, that should work. > > > I prefer to use vm_map_pages_zero() to resolve both the issues. Alternatively > > > the patch can be reverted as you suggested. Let me know you opinion and wait > > > for feedback from others. > > > > > > Boris, would you like to give any feedback ? > > > > vm_map_pages_zero() looks good to me. Marek, does it work for you? > > Yes, replacing vm_map_pages() with vm_map_pages_zero() fixes the > problem for me. Marek, I can send a patch for the same if you are ok. We need to cc stable as this changes are available in 5.2.4. > > -- > Best Regards, > Marek Marczykowski-Górecki > Invisible Things Lab > A: Because it messes up the order in which people normally read text. > Q: Why is top-posting such a bad thing? ^ permalink raw reply [flat|nested] 2+ messages in thread
* Re: [Xen-devel] [PATCH v4 8/9] xen/gntdev.c: Convert to use vm_map_pages() 2019-07-30 14:52 ` [Xen-devel] [PATCH v4 8/9] xen/gntdev.c: Convert to use vm_map_pages() Souptick Joarder @ 2019-07-30 15:01 ` Marek Marczykowski-Górecki 0 siblings, 0 replies; 2+ messages in thread From: Marek Marczykowski-Górecki @ 2019-07-30 15:01 UTC (permalink / raw) To: Souptick Joarder Cc: Boris Ostrovsky, Andrew Morton, Matthew Wilcox, Michal Hocko, Juergen Gross, Russell King - ARM Linux, robin.murphy, xen-devel, linux-kernel, Linux-MM, stable, Greg KH [-- Attachment #1: Type: text/plain, Size: 2658 bytes --] On Tue, Jul 30, 2019 at 08:22:02PM +0530, Souptick Joarder wrote: > On Tue, Jul 30, 2019 at 7:52 PM Marek Marczykowski-Górecki > <marmarek@invisiblethingslab.com> wrote: > > > > On Tue, Jul 30, 2019 at 10:05:42AM -0400, Boris Ostrovsky wrote: > > > On 7/30/19 2:03 AM, Souptick Joarder wrote: > > > > On Mon, Jul 29, 2019 at 7:06 PM Marek Marczykowski-Górecki > > > > <marmarek@invisiblethingslab.com> wrote: > > > >> On Mon, Jul 29, 2019 at 02:02:54PM +0530, Souptick Joarder wrote: > > > >>> On Mon, Jul 29, 2019 at 1:35 PM Souptick Joarder <jrdr.linux@gmail.com> wrote: > > > >>>> On Sun, Jul 28, 2019 at 11:36 PM Marek Marczykowski-Górecki > > > >>>> <marmarek@invisiblethingslab.com> wrote: > > > >>>>> On Fri, Feb 15, 2019 at 08:18:31AM +0530, Souptick Joarder wrote: > > > >>>>>> Convert to use vm_map_pages() to map range of kernel > > > >>>>>> memory to user vma. > > > >>>>>> > > > >>>>>> map->count is passed to vm_map_pages() and internal API > > > >>>>>> verify map->count against count ( count = vma_pages(vma)) > > > >>>>>> for page array boundary overrun condition. > > > >>>>> This commit breaks gntdev driver. If vma->vm_pgoff > 0, vm_map_pages > > > >>>>> will: > > > >>>>> - use map->pages starting at vma->vm_pgoff instead of 0 > > > >>>> The actual code ignores vma->vm_pgoff > 0 scenario and mapped > > > >>>> the entire map->pages[i]. Why the entire map->pages[i] needs to be mapped > > > >>>> if vma->vm_pgoff > 0 (in original code) ? > > > >> vma->vm_pgoff is used as index passed to gntdev_find_map_index. It's > > > >> basically (ab)using this parameter for "which grant reference to map". > > > >> > > > >>>> are you referring to set vma->vm_pgoff = 0 irrespective of value passed > > > >>>> from user space ? If yes, using vm_map_pages_zero() is an alternate > > > >>>> option. > > > >> Yes, that should work. > > > > I prefer to use vm_map_pages_zero() to resolve both the issues. Alternatively > > > > the patch can be reverted as you suggested. Let me know you opinion and wait > > > > for feedback from others. > > > > > > > > Boris, would you like to give any feedback ? > > > > > > vm_map_pages_zero() looks good to me. Marek, does it work for you? > > > > Yes, replacing vm_map_pages() with vm_map_pages_zero() fixes the > > problem for me. > > Marek, I can send a patch for the same if you are ok. > We need to cc stable as this changes are available in 5.2.4. Sounds good, thanks! -- Best Regards, Marek Marczykowski-Górecki Invisible Things Lab A: Because it messes up the order in which people normally read text. Q: Why is top-posting such a bad thing? [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2019-07-30 15:01 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <20190215024830.GA26477@jordon-HP-15-Notebook-PC>
[not found] ` <20190728180611.GA20589@mail-itl>
[not found] ` <CAFqt6zaMDnpB-RuapQAyYAub1t7oSdHH_pTD=f5k-s327ZvqMA@mail.gmail.com>
[not found] ` <CAFqt6zY+07JBxAVfMqb+X78mXwFOj2VBh0nbR2tGnQOP9RrNkQ@mail.gmail.com>
[not found] ` <20190729133642.GQ1250@mail-itl>
[not found] ` <CAFqt6zZN+6r6wYJY+f15JAjj8dY+o30w_+EWH9Vy2kUXCKSBog@mail.gmail.com>
[not found] ` <bf02becc-9db0-bb78-8efc-9e25cc115237@oracle.com>
[not found] ` <20190730142233.GR1250@mail-itl>
2019-07-30 14:52 ` [Xen-devel] [PATCH v4 8/9] xen/gntdev.c: Convert to use vm_map_pages() Souptick Joarder
2019-07-30 15:01 ` Marek Marczykowski-Górecki
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox