[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAKMK7uHnNdjOYX5Rhj=uGMz7hSz12JhgkZJCfiqgkpjXnMfL4A@mail.gmail.com>
Date: Wed, 3 Feb 2021 09:52:22 +0100
From: Daniel Vetter <daniel.vetter@...ll.ch>
To: Matthew Wilcox <willy@...radead.org>
Cc: Suren Baghdasaryan <surenb@...gle.com>,
"moderated list:DMA BUFFER SHARING FRAMEWORK"
<linaro-mm-sig@...ts.linaro.org>,
Sandeep Patil <sspatil@...gle.com>,
Christian König <christian.koenig@....com>,
Android Kernel Team <kernel-team@...roid.com>,
James Jones <jajones@...dia.com>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
Liam Mark <lmark@...eaurora.org>,
Brian Starkey <Brian.Starkey@....com>,
Christoph Hellwig <hch@...radead.org>,
Minchan Kim <minchan@...nel.org>,
Linux MM <linux-mm@...ck.org>,
John Stultz <john.stultz@...aro.org>,
dri-devel <dri-devel@...ts.freedesktop.org>,
Chris Goldsworthy <cgoldswo@...eaurora.org>,
Hridya Valsaraju <hridya@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Robin Murphy <robin.murphy@....com>,
"open list:DMA BUFFER SHARING FRAMEWORK"
<linux-media@...r.kernel.org>
Subject: Re: [Linaro-mm-sig] [PATCH 1/2] mm: replace BUG_ON in vm_insert_page
with a return of an error
On Wed, Feb 3, 2021 at 2:57 AM Matthew Wilcox <willy@...radead.org> wrote:
>
> On Tue, Feb 02, 2021 at 04:31:33PM -0800, Suren Baghdasaryan wrote:
> > Replace BUG_ON(vma->vm_flags & VM_PFNMAP) in vm_insert_page with
> > WARN_ON_ONCE and returning an error. This is to ensure users of the
> > vm_insert_page that set VM_PFNMAP are notified of the wrong flag usage
> > and get an indication of an error without panicing the kernel.
> > This will help identifying drivers that need to clear VM_PFNMAP before
> > using dmabuf system heap which is moving to use vm_insert_page.
>
> NACK.
>
> The system may not _panic_, but it is clearly now _broken_. The device
> doesn't work, and so the system is useless. You haven't really improved
> anything here. Just bloated the kernel with yet another _ONCE variable
> that in a normal system will never ever ever be triggered.
Also, what the heck are you doing with your drivers? dma-buf mmap must
call dma_buf_mmap(), even for forwarded/redirected mmaps from driver
char nodes. If that doesn't work we have some issues with the calling
contract for that function, not in vm_insert_page.
Finally why exactly do we need to make this switch for system heap?
I've recently looked at gup usage by random drivers, and found a lot
of worrying things there. gup on dma-buf is really bad idea in
general.
-Daniel
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Powered by blists - more mailing lists