diff options
author | Gerd Hoffmann <kraxel@redhat.com> | 2018-06-25 02:44:52 -0400 |
---|---|---|
committer | Alex Williamson <alex.williamson@redhat.com> | 2018-06-26 02:27:23 -0400 |
commit | 7733e05b34f5d855c5590d816b41ddfee972d188 (patch) | |
tree | 392a39c4b933378a88435fd39691a64ead80ca7a /samples/vfio-mdev | |
parent | 2203d8a76ea3b962559acfe3bb80eddfdfbc9cee (diff) |
sample/mdev/mbochs: add mbochs_kunmap_dmabuf
There is no default implementation for dma_buf_ops->unmap.
So add a function unmapping the page, otherwise we'll leak them.
Signed-off-by: Gerd Hoffmann <kraxel@redhat.com>
Signed-off-by: Alex Williamson <alex.williamson@redhat.com>
Diffstat (limited to 'samples/vfio-mdev')
-rw-r--r-- | samples/vfio-mdev/mbochs.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/samples/vfio-mdev/mbochs.c b/samples/vfio-mdev/mbochs.c index aa25cda21d22..85ac6037696f 100644 --- a/samples/vfio-mdev/mbochs.c +++ b/samples/vfio-mdev/mbochs.c | |||
@@ -811,11 +811,18 @@ static void *mbochs_kmap_dmabuf(struct dma_buf *buf, unsigned long page_num) | |||
811 | return kmap(page); | 811 | return kmap(page); |
812 | } | 812 | } |
813 | 813 | ||
814 | static void mbochs_kunmap_dmabuf(struct dma_buf *buf, unsigned long page_num, | ||
815 | void *vaddr) | ||
816 | { | ||
817 | kunmap(vaddr); | ||
818 | } | ||
819 | |||
814 | static struct dma_buf_ops mbochs_dmabuf_ops = { | 820 | static struct dma_buf_ops mbochs_dmabuf_ops = { |
815 | .map_dma_buf = mbochs_map_dmabuf, | 821 | .map_dma_buf = mbochs_map_dmabuf, |
816 | .unmap_dma_buf = mbochs_unmap_dmabuf, | 822 | .unmap_dma_buf = mbochs_unmap_dmabuf, |
817 | .release = mbochs_release_dmabuf, | 823 | .release = mbochs_release_dmabuf, |
818 | .map = mbochs_kmap_dmabuf, | 824 | .map = mbochs_kmap_dmabuf, |
825 | .unmap = mbochs_kunmap_dmabuf, | ||
819 | .mmap = mbochs_mmap_dmabuf, | 826 | .mmap = mbochs_mmap_dmabuf, |
820 | }; | 827 | }; |
821 | 828 | ||