diff options
author | Jason Gunthorpe <jgg@mellanox.com> | 2019-11-12 16:22:31 -0400 |
---|---|---|
committer | Jason Gunthorpe <jgg@mellanox.com> | 2019-11-23 19:56:45 -0400 |
commit | d3eeb1d77c5d0af9df442db63722928238310a86 (patch) | |
tree | 99df12b44bbc7831e17a626e565e59245fd83ce8 /drivers/xen/gntdev-common.h | |
parent | a22dd506400d0f4784ad596f073b9eb5ed7c6a2a (diff) | |
download | linux-d3eeb1d77c5d0af9df442db63722928238310a86.tar.gz linux-d3eeb1d77c5d0af9df442db63722928238310a86.tar.bz2 linux-d3eeb1d77c5d0af9df442db63722928238310a86.zip |
xen/gntdev: use mmu_interval_notifier_insert
gntdev simply wants to monitor a specific VMA for any notifier events,
this can be done straightforwardly using mmu_interval_notifier_insert()
over the VMA's VA range.
The notifier should be attached until the original VMA is destroyed.
It is unclear if any of this is even sane, but at least a lot of duplicate
code is removed.
Link: https://lore.kernel.org/r/20191112202231.3856-15-jgg@ziepe.ca
Reviewed-by: Boris Ostrovsky <boris.ostrovsky@oracle.com>
Signed-off-by: Jason Gunthorpe <jgg@mellanox.com>
Diffstat (limited to 'drivers/xen/gntdev-common.h')
-rw-r--r-- | drivers/xen/gntdev-common.h | 8 |
1 files changed, 1 insertions, 7 deletions
diff --git a/drivers/xen/gntdev-common.h b/drivers/xen/gntdev-common.h index 2f8b949c3eeb..91e44c04f787 100644 --- a/drivers/xen/gntdev-common.h +++ b/drivers/xen/gntdev-common.h @@ -21,15 +21,8 @@ struct gntdev_dmabuf_priv; struct gntdev_priv { /* Maps with visible offsets in the file descriptor. */ struct list_head maps; - /* - * Maps that are not visible; will be freed on munmap. - * Only populated if populate_freeable_maps == 1 - */ - struct list_head freeable_maps; /* lock protects maps and freeable_maps. */ struct mutex lock; - struct mm_struct *mm; - struct mmu_notifier mn; #ifdef CONFIG_XEN_GRANT_DMA_ALLOC /* Device for which DMA memory is allocated. */ @@ -49,6 +42,7 @@ struct gntdev_unmap_notify { }; struct gntdev_grant_map { + struct mmu_interval_notifier notifier; struct list_head next; struct vm_area_struct *vma; int index; |