All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: "Christian König" <ckoenig.leichtzumerken@gmail.com>
Cc: akpm@linux-foundation.org, sumit.semwal@linaro.org,
	linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org,
	linux-mm@kvack.org, Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: Re: Changing vma->vm_file in dma_buf_mmap()
Date: Mon, 14 Sep 2020 11:06:32 -0300	[thread overview]
Message-ID: <20200914140632.GD1221970@ziepe.ca> (raw)
In-Reply-To: <40cd26ae-b855-4627-5a13-4dcea5d622f6@gmail.com>

On Mon, Sep 14, 2020 at 03:30:47PM +0200, Christian König wrote:
> Am 14.09.20 um 15:29 schrieb Christian König:
> > Hi Andrew,
> > 
> > I'm the new DMA-buf maintainer and Daniel and others came up with
> > patches extending the use of the dma_buf_mmap() function.
> > 
> > Now this function is doing something a bit odd by changing the
> > vma->vm_file while installing a VMA in the mmap() system call

It doesn't look obviously safe as mmap_region() has an interesting mix
of file and vma->file

Eg it calls mapping_unmap_writable() using both routes

What about security? Is it OK that some other random file, maybe in
another process, is being linked to this mmap?

> > The background here is that DMA-buf allows device drivers to
> > export buffer which are then imported into another device
> > driver. The mmap() handler of the importing device driver then
> > find that the pgoff belongs to the exporting device and so
> > redirects the mmap() call there.

So the pgoff is some virtualized thing?

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: "Christian König" <ckoenig.leichtzumerken@gmail.com>
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
	linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, linux-mm@kvack.org,
	akpm@linux-foundation.org, linux-media@vger.kernel.org
Subject: Re: Changing vma->vm_file in dma_buf_mmap()
Date: Mon, 14 Sep 2020 11:06:32 -0300	[thread overview]
Message-ID: <20200914140632.GD1221970@ziepe.ca> (raw)
In-Reply-To: <40cd26ae-b855-4627-5a13-4dcea5d622f6@gmail.com>

On Mon, Sep 14, 2020 at 03:30:47PM +0200, Christian König wrote:
> Am 14.09.20 um 15:29 schrieb Christian König:
> > Hi Andrew,
> > 
> > I'm the new DMA-buf maintainer and Daniel and others came up with
> > patches extending the use of the dma_buf_mmap() function.
> > 
> > Now this function is doing something a bit odd by changing the
> > vma->vm_file while installing a VMA in the mmap() system call

It doesn't look obviously safe as mmap_region() has an interesting mix
of file and vma->file

Eg it calls mapping_unmap_writable() using both routes

What about security? Is it OK that some other random file, maybe in
another process, is being linked to this mmap?

> > The background here is that DMA-buf allows device drivers to
> > export buffer which are then imported into another device
> > driver. The mmap() handler of the importing device driver then
> > find that the pgoff belongs to the exporting device and so
> > redirects the mmap() call there.

So the pgoff is some virtualized thing?

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-09-14 14:07 UTC|newest]

Thread overview: 87+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-14 13:29 Changing vma->vm_file in dma_buf_mmap() Christian König
2020-09-14 13:29 ` Christian König
2020-09-14 13:29 ` [PATCH 1/2] drm/shmem-helpers: revert "Redirect mmap for imported dma-buf" Christian König
2020-09-14 13:29   ` Christian König
2020-09-15 10:39   ` Daniel Vetter
2020-09-15 10:39     ` Daniel Vetter
2020-09-15 10:39     ` Daniel Vetter
2020-09-15 11:03     ` Christian König
2020-09-15 11:03       ` Christian König
2020-09-15 11:03       ` Christian König
2020-09-15 11:07       ` Daniel Vetter
2020-09-15 11:07         ` Daniel Vetter
2020-09-15 11:07         ` Daniel Vetter
2020-09-14 13:29 ` [PATCH 2/2] mm: introduce vma_set_file function Christian König
2020-09-14 13:29   ` Christian König
2020-09-15  9:19   ` kernel test robot
2020-09-15  9:19     ` kernel test robot
2020-09-15  9:19     ` kernel test robot
2020-09-15 11:57   ` kernel test robot
2020-09-15 11:57     ` kernel test robot
2020-09-15 11:57     ` kernel test robot
2020-09-14 13:30 ` Changing vma->vm_file in dma_buf_mmap() Christian König
2020-09-14 13:30   ` Christian König
2020-09-14 14:06   ` Jason Gunthorpe [this message]
2020-09-14 14:06     ` Jason Gunthorpe
2020-09-14 18:26     ` Christian König
2020-09-14 18:26       ` Christian König
2020-09-16  9:53       ` Daniel Vetter
2020-09-16  9:53         ` Daniel Vetter
2020-09-16 10:14         ` Christian König
2020-09-16 10:14           ` Christian König
2020-09-16 11:45           ` Christian König
2020-09-16 11:45             ` Christian König
2020-09-16 12:41             ` Daniel Vetter
2020-09-16 12:41               ` Daniel Vetter
2020-09-16 12:41               ` Daniel Vetter
2020-09-16 14:07         ` Jason Gunthorpe
2020-09-16 14:07           ` Jason Gunthorpe
2020-09-16 14:14           ` Christian König
2020-09-16 14:14             ` Christian König
2020-09-16 15:24             ` Daniel Vetter
2020-09-16 15:24               ` Daniel Vetter
2020-09-16 15:24               ` Daniel Vetter
2020-09-16 15:31               ` [Linaro-mm-sig] " Christian König
2020-09-16 15:31                 ` Christian König
2020-09-16 15:31                 ` Christian König
2020-09-17  6:23                 ` Daniel Vetter
2020-09-17  6:23                   ` Daniel Vetter
2020-09-17  6:23                   ` Daniel Vetter
2020-09-17  7:11                   ` Christian König
2020-09-17  7:11                     ` Christian König
2020-09-17  7:11                     ` Christian König
2020-09-17  8:09                     ` Daniel Vetter
2020-09-17  8:09                       ` Daniel Vetter
2020-09-17  8:09                       ` Daniel Vetter
2020-09-17 11:31                       ` Jason Gunthorpe
2020-09-17 11:31                         ` Jason Gunthorpe
2020-09-17 12:03                         ` Christian König
2020-09-17 12:03                           ` Christian König
2020-09-17 12:18                           ` Jason Gunthorpe
2020-09-17 12:18                             ` Jason Gunthorpe
2020-09-17 12:18                             ` Jason Gunthorpe
2020-09-17 12:24                             ` Christian König
2020-09-17 12:24                               ` Christian König
2020-09-17 12:24                               ` Christian König
2020-09-17 12:26                               ` Daniel Vetter
2020-09-17 12:26                                 ` Daniel Vetter
2020-09-17 12:26                                 ` Daniel Vetter
2020-09-17 14:35                               ` Jason Gunthorpe
2020-09-17 14:35                                 ` Jason Gunthorpe
2020-09-17 14:35                                 ` Jason Gunthorpe
2020-09-17 14:54                                 ` Christian König
2020-09-17 14:54                                   ` Christian König
2020-09-17 14:54                                   ` Christian König
2020-09-17 15:24                                   ` Jason Gunthorpe
2020-09-17 15:24                                     ` Jason Gunthorpe
2020-09-17 15:24                                     ` Jason Gunthorpe
2020-09-17 15:37                                     ` Daniel Vetter
2020-09-17 15:37                                       ` Daniel Vetter
2020-09-17 16:06                                       ` Christian König
2020-09-17 16:06                                         ` Christian König
2020-09-17 16:06                                         ` Christian König
2020-09-17 16:39                                         ` Jason Gunthorpe
2020-09-17 16:39                                           ` Jason Gunthorpe
2020-09-17 16:39                                           ` Jason Gunthorpe
2020-09-17 17:23                                           ` Daniel Vetter
2020-09-17 17:23                                             ` Daniel Vetter

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=20200914140632.GD1221970@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=akpm@linux-foundation.org \
    --cc=ckoenig.leichtzumerken@gmail.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=linux-mm@kvack.org \
    --cc=sumit.semwal@linaro.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.