On Wed, Feb 3, 2021 at 2:57 AM Matthew Wilcox <wi...@infradead.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