From: Souptick Joarder <jrdr.linux@gmail.com>
To: akpm@linux-foundation.org, willy@infradead.org, mhocko@suse.com,
kirill.shutemov@linux.intel.com, vbabka@suse.cz,
riel@surriel.com, sfr@canb.auug.org.au, rppt@linux.vnet.ibm.com,
peterz@infradead.org, linux@armlinux.org.uk,
robin.murphy@arm.com, iamjoonsoo.kim@lge.com, treding@nvidia.com,
keescook@chromium.org, m.szyprowski@samsung.com,
stefanr@s5r6.in-berlin.de, hjc@rock-chips.com, heiko@sntech.de,
airlied@linux.ie, oleksandr_andrushchenko@epam.com,
joro@8bytes.org, pawel@osciak.com, kyungmin.park@samsung.com,
mchehab@kernel.org, boris.ostrovsky@oracle.com, jgross@suse.com
Cc: linux-kernel@vger.kernel.org, linux-mm@kvack.org,
linux-arm-kernel@lists.infradead.org,
linux1394-devel@lists.sourceforge.net,
dri-devel@lists.freedesktop.org,
linux-rockchip@lists.infradead.org, xen-devel@lists.xen.org,
iommu@lists.linux-foundation.org, linux-media@vger.kernel.org
Subject: [PATCH 0/9] Use vm_insert_range and vm_insert_range_buggy
Date: Fri, 11 Jan 2019 20:35:41 +0530 [thread overview]
Message-ID: <20190111150541.GA2670@jordon-HP-15-Notebook-PC> (raw)
Previouly drivers have their own way of mapping range of
kernel pages/memory into user vma and this was done by
invoking vm_insert_page() within a loop.
As this pattern is common across different drivers, it can
be generalized by creating new functions and use it across
the drivers.
vm_insert_range() is the API which could be used to mapped
kernel memory/pages in drivers which has considered vm_pgoff
vm_insert_range_buggy() is the API which could be used to map
range of kernel memory/pages in drivers which has not considered
vm_pgoff. vm_pgoff is passed default as 0 for those drivers.
We _could_ then at a later "fix" these drivers which are using
vm_insert_range_buggy() to behave according to the normal vm_pgoff
offsetting simply by removing the _buggy suffix on the function
name and if that causes regressions, it gives us an easy way to revert.
There is an existing bug in [7/9], where user passed length is not
verified against object_count. For any value of length > object_count
it will end up overrun page array which could lead to a potential bug.
This is fixed as part of these conversion.
Souptick Joarder (9):
mm: Introduce new vm_insert_range and vm_insert_range_buggy API
arch/arm/mm/dma-mapping.c: Convert to use vm_insert_range
drivers/firewire/core-iso.c: Convert to use vm_insert_range_buggy
drm/rockchip/rockchip_drm_gem.c: Convert to use vm_insert_range
drm/xen/xen_drm_front_gem.c: Convert to use vm_insert_range
iommu/dma-iommu.c: Convert to use vm_insert_range
videobuf2/videobuf2-dma-sg.c: Convert to use vm_insert_range_buggy
xen/gntdev.c: Convert to use vm_insert_range
xen/privcmd-buf.c: Convert to use vm_insert_range_buggy
arch/arm/mm/dma-mapping.c | 22 ++----
drivers/firewire/core-iso.c | 15 +----
drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 17 +----
drivers/gpu/drm/xen/xen_drm_front_gem.c | 18 ++---
drivers/iommu/dma-iommu.c | 12 +---
drivers/media/common/videobuf2/videobuf2-dma-sg.c | 22 ++----
drivers/xen/gntdev.c | 16 ++---
drivers/xen/privcmd-buf.c | 8 +--
include/linux/mm.h | 4 ++
mm/memory.c | 81 +++++++++++++++++++++++
mm/nommu.c | 14 ++++
11 files changed, 129 insertions(+), 100 deletions(-)
--
1.9.1
next reply other threads:[~2019-01-11 15:01 UTC|newest]
Thread overview: 2+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-11 15:05 Souptick Joarder [this message]
2019-01-17 11:39 ` [PATCH 0/9] Use vm_insert_range and vm_insert_range_buggy Souptick Joarder
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190111150541.GA2670@jordon-HP-15-Notebook-PC \
--to=jrdr.linux@gmail.com \
--cc=airlied@linux.ie \
--cc=akpm@linux-foundation.org \
--cc=boris.ostrovsky@oracle.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=iamjoonsoo.kim@lge.com \
--cc=iommu@lists.linux-foundation.org \
--cc=jgross@suse.com \
--cc=joro@8bytes.org \
--cc=keescook@chromium.org \
--cc=kirill.shutemov@linux.intel.com \
--cc=kyungmin.park@samsung.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux1394-devel@lists.sourceforge.net \
--cc=linux@armlinux.org.uk \
--cc=m.szyprowski@samsung.com \
--cc=mchehab@kernel.org \
--cc=mhocko@suse.com \
--cc=oleksandr_andrushchenko@epam.com \
--cc=pawel@osciak.com \
--cc=peterz@infradead.org \
--cc=riel@surriel.com \
--cc=robin.murphy@arm.com \
--cc=rppt@linux.vnet.ibm.com \
--cc=sfr@canb.auug.org.au \
--cc=stefanr@s5r6.in-berlin.de \
--cc=treding@nvidia.com \
--cc=vbabka@suse.cz \
--cc=willy@infradead.org \
--cc=xen-devel@lists.xen.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).