All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/26] get_user_pages() cleanup
@ 2013-10-02 14:27 ` Jan Kara
  0 siblings, 0 replies; 142+ messages in thread
From: Jan Kara @ 2013-10-02 14:27 UTC (permalink / raw)
  To: LKML
  Cc: linux-mm, Jan Kara, Alexander Viro, Andreas Dilger, Andy Walls,
	Arnd Bergmann, Benjamin LaHaise, ceph-devel, Dan Williams,
	David Airlie, dri-devel, Gleb Natapov, Greg Kroah-Hartman,
	hpdd-discuss, Jarod Wilson, Jayant Mangalampalli,
	Jean-Christophe Plagniol-Villard, Jesper Nilsson, Kai Makisara,
	kvm, Laurent Pinchart, linux-aio, linux-cris-kernel, linux-fbdev,
	linux-fsdevel

  Hello,

  In my quest for changing locking around page faults to make things easier for
filesystems I found out get_user_pages() users could use a cleanup.  The
knowledge about necessary locking for get_user_pages() is in tons of places in
drivers and quite a few of them actually get it wrong (don't have mmap_sem when
calling get_user_pages() or hold mmap_sem when calling copy_from_user() in the
surrounding code). Rather often this actually doesn't seem necessary. This
patch series converts lots of places to use either get_user_pages_fast()
or a new simple wrapper get_user_pages_unlocked() to remove the knowledge
of mmap_sem from the drivers. I'm still looking into converting a few remaining
drivers (most notably v4l2) which are more complex.

As I already wrote, in some cases I actually think drivers were buggy (and I
note that in corresponding changelogs). I would really like to ask respective
maintainers to have a look at the patches in their area. Also any other
comments are welcome. Thanks.

								Honza

PS: Sorry for the huge recipient list but I don't really know how to trim it
    down...

CC: Alexander Viro <viro@zeniv.linux.org.uk>
CC: Andreas Dilger <andreas.dilger@intel.com>
CC: Andy Walls <awalls@md.metrocast.net>
CC: Arnd Bergmann <arnd@arndb.de>
CC: Benjamin LaHaise <bcrl@kvack.org>
CC: ceph-devel@vger.kernel.org
CC: Dan Williams <dan.j.williams@intel.com>
CC: David Airlie <airlied@linux.ie>
CC: dri-devel@lists.freedesktop.org
CC: Gleb Natapov <gleb@redhat.com>
CC: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
CC: hpdd-discuss@lists.01.org
CC: Jarod Wilson <jarod@wilsonet.com>
CC: Jayant Mangalampalli <jayant.mangalampalli@intel.com>
CC: Jean-Christophe Plagniol-Villard <plagnioj@jcrosoft.com>
CC: Jesper Nilsson <jesper.nilsson@axis.com>
CC: Kai Makisara <Kai.Makisara@kolumbus.fi>
CC: kvm@vger.kernel.org
CC: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
CC: linux-aio@kvack.org
CC: linux-cris-kernel@axis.com
CC: linux-fbdev@vger.kernel.org
CC: linux-fsdevel@vger.kernel.org
CC: linux-ia64@vger.kernel.org
CC: linux-media@vger.kernel.org
CC: linux-nfs@vger.kernel.org
CC: linux-rdma@vger.kernel.org
CC: linux-scsi@vger.kernel.org
CC: Manu Abraham <abraham.manu@gmail.com>
CC: Mark Allyn <mark.a.allyn@intel.com>
CC: Mikael Starvik <starvik@axis.com>
CC: Mike Marciniszyn <infinipath@intel.com>
CC: Naren Sankar <nsankar@broadcom.com>
CC: Paolo Bonzini <pbonzini@redhat.com>
CC: Peng Tao <tao.peng@emc.com>
CC: Roland Dreier <roland@kernel.org>
CC: Sage Weil <sage@inktank.com>
CC: Scott Davilla <davilla@4pi.com>
CC: Timur Tabi <timur@freescale.com>
CC: Tomi Valkeinen <tomi.valkeinen@ti.com>
CC: Tony Luck <tony.luck@intel.com>
CC: Trond Myklebust <Trond.Myklebust@netapp.com>

--
To unsubscribe, send a message with 'unsubscribe linux-aio' in
the body to majordomo@kvack.org.  For more info on Linux AIO,
see: http://www.kvack.org/aio/
Don't email: <a href=mailto:"aart@kvack.org">aart@kvack.org</a>

^ permalink raw reply	[flat|nested] 142+ messages in thread

end of thread, other threads:[~2013-10-16 21:40 UTC | newest]

Thread overview: 142+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-10-02 14:27 [PATCH 0/26] get_user_pages() cleanup Jan Kara
2013-10-02 14:27 ` Jan Kara
2013-10-02 14:27 ` [PATCH 01/26] cris: Convert cryptocop to use get_user_pages_fast() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 02/26] ia64: Use get_user_pages_fast() in err_inject.c Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 03/26] dma: Use get_user_pages_fast() in dma_pin_iovec_pages() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 04/26] drm: Convert via driver to use get_user_pages_fast() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 05/26] omap3isp: Make isp_video_buffer_prepare_user() " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 19:41   ` Laurent Pinchart
2013-10-02 19:41     ` Laurent Pinchart
2013-10-02 20:18     ` Jan Kara
2013-10-02 20:18       ` Jan Kara
2013-10-02 14:27 ` [PATCH 06/26] vmw_vmci: Convert driver to " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 07/26] st: Convert sgl_map_user_pages() " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 08/26] ced1401: Convert driver " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 09/26] crystalhd: Convert crystalhd_map_dio() " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 10/26] lustre: Convert ll_get_user_pages() " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-05  6:27   ` Dilger, Andreas
2013-10-05  6:27     ` Dilger, Andreas
2013-10-02 14:27 ` [PATCH 11/26] sep: Convert sep_lock_user_pages() to get_user_pages_fast() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 12/26] pvr2fb: Convert pvr2fb_write() to use get_user_pages_fast() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 13/26] fsl_hypervisor: Convert ioctl_memcpy() " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-04  2:38   ` Timur Tabi
2013-10-04  2:38     ` Timur Tabi
2013-10-02 14:27 ` [PATCH 14/26] nfs: Convert direct IO " Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 15/26] ceph: Convert ceph_get_direct_page_vector() to get_user_pages_fast() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:27 ` [PATCH 16/26] mm: Provide get_user_pages_unlocked() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 16:25   ` Christoph Hellwig
2013-10-02 16:25     ` Christoph Hellwig
2013-10-02 16:28   ` KOSAKI Motohiro
2013-10-02 16:28     ` KOSAKI Motohiro
2013-10-02 19:39     ` Jan Kara
2013-10-02 19:39       ` Jan Kara
2013-10-02 14:27 ` [PATCH 17/26] kvm: Use get_user_pages_unlocked() in async_pf_execute() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 14:59   ` Gleb Natapov
2013-10-02 14:59     ` Gleb Natapov
2013-10-02 14:27 ` [PATCH 18/26] mm: Convert process_vm_rw_pages() to use get_user_pages_unlocked() Jan Kara
2013-10-02 14:27   ` Jan Kara
2013-10-02 16:32   ` KOSAKI Motohiro
2013-10-02 16:32     ` KOSAKI Motohiro
2013-10-02 19:36     ` Jan Kara
2013-10-02 19:36       ` Jan Kara
2013-10-03 22:40       ` KOSAKI Motohiro
2013-10-03 22:40         ` KOSAKI Motohiro
2013-10-07 20:55         ` Jan Kara
2013-10-07 20:55           ` Jan Kara
2013-10-08  0:10           ` KOSAKI Motohiro
2013-10-08  0:10             ` KOSAKI Motohiro
2013-10-02 14:28 ` [PATCH 19/26] ivtv: Convert driver " Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-05 12:02   ` Andy Walls
2013-10-05 12:02     ` Andy Walls
2013-10-07 17:22     ` Jan Kara
2013-10-07 17:22       ` Jan Kara
2013-10-02 14:28 ` [PATCH 20/26] ib: Convert ib_umem_get() to get_user_pages_unlocked() Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28 ` [PATCH 21/26] ib: Convert ipath_get_user_pages() " Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28 ` [PATCH 22/26] ib: Convert ipath_user_sdma_pin_pages() to use get_user_pages_unlocked() Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28 ` [PATCH 23/26] ib: Convert qib_get_user_pages() to get_user_pages_unlocked() Jan Kara
2013-10-02 14:28   ` Jan Kara
     [not found]   ` <1380724087-13927-24-git-send-email-jack-AlSwsSmVLrQ@public.gmane.org>
2013-10-02 14:54     ` Marciniszyn, Mike
2013-10-02 14:54       ` Marciniszyn, Mike
2013-10-02 14:54       ` Marciniszyn, Mike
     [not found]       ` <32E1700B9017364D9B60AED9960492BC211AEF75-AtyAts71sc9zLByeVOV5+bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-02 15:28         ` Jan Kara
2013-10-02 15:28           ` Jan Kara
2013-10-02 15:28           ` Jan Kara
     [not found]           ` <20131002152811.GC32181-+0h/O2h83AeN3ZZ/Hiejyg@public.gmane.org>
2013-10-02 15:32             ` Marciniszyn, Mike
2013-10-02 15:32               ` Marciniszyn, Mike
2013-10-02 15:32               ` Marciniszyn, Mike
     [not found]               ` <32E1700B9017364D9B60AED9960492BC211AF005-AtyAts71sc9zLByeVOV5+bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-02 15:38                 ` Jan Kara
2013-10-02 15:38                   ` Jan Kara
2013-10-02 15:38                   ` Jan Kara
     [not found]                   ` <20131002153842.GD32181-+0h/O2h83AeN3ZZ/Hiejyg@public.gmane.org>
2013-10-04 13:39                     ` Marciniszyn, Mike
2013-10-04 13:39                       ` Marciniszyn, Mike
2013-10-04 13:39                       ` Marciniszyn, Mike
     [not found]                       ` <32E1700B9017364D9B60AED9960492BC211B0123-AtyAts71sc9zLByeVOV5+bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-04 13:46                         ` Marciniszyn, Mike
2013-10-04 13:46                           ` Marciniszyn, Mike
2013-10-04 13:46                           ` Marciniszyn, Mike
2013-10-04 13:44               ` Marciniszyn, Mike
2013-10-04 13:44                 ` Marciniszyn, Mike
2013-10-04 13:52     ` Marciniszyn, Mike
2013-10-04 13:52       ` Marciniszyn, Mike
2013-10-04 13:52       ` Marciniszyn, Mike
     [not found]       ` <32E1700B9017364D9B60AED9960492BC211B0176-AtyAts71sc9zLByeVOV5+bfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2013-10-04 18:33         ` Jan Kara
2013-10-04 18:33           ` Jan Kara
2013-10-04 18:33           ` Jan Kara
     [not found]           ` <20131004183315.GA19557-+0h/O2h83AeN3ZZ/Hiejyg@public.gmane.org>
2013-10-07 15:20             ` Marciniszyn, Mike
2013-10-07 15:20               ` Marciniszyn, Mike
2013-10-07 15:20               ` Marciniszyn, Mike
2013-10-07 15:38           ` Marciniszyn, Mike
2013-10-07 15:38             ` Marciniszyn, Mike
2013-10-07 17:26             ` Jan Kara
2013-10-07 17:26               ` Jan Kara
2013-10-08 19:06               ` Jan Kara
2013-10-08 19:06                 ` Jan Kara
     [not found]                 ` <20131008190604.GB14223-+0h/O2h83AeN3ZZ/Hiejyg@public.gmane.org>
2013-10-16 21:39                   ` Jan Kara
2013-10-16 21:39                     ` Jan Kara
2013-10-16 21:39                     ` Jan Kara
2013-10-02 14:28 ` [PATCH 24/26] ib: Convert qib_user_sdma_pin_pages() to use get_user_pages_unlocked() Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28 ` [PATCH 25/26] ib: Convert mthca_map_user_db() to use get_user_pages_fast() Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28 ` [PATCH 26/26] aio: Remove useless get_user_pages() call Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 14:28   ` Jan Kara
2013-10-02 16:20 ` [PATCH 0/26] get_user_pages() cleanup Christoph Hellwig
2013-10-02 16:20   ` Christoph Hellwig
2013-10-02 20:29   ` Jan Kara
2013-10-02 20:29     ` Jan Kara
2013-10-04 20:31     ` KOSAKI Motohiro
2013-10-04 20:31       ` KOSAKI Motohiro
2013-10-04 20:42       ` KOSAKI Motohiro
2013-10-04 20:42         ` KOSAKI Motohiro
2013-10-07 21:18         ` Jan Kara
2013-10-07 21:18           ` Jan Kara
2013-10-07 21:18           ` Jan Kara
2013-10-08  0:27           ` KOSAKI Motohiro
2013-10-08  0:27             ` KOSAKI Motohiro
2013-10-08  0:27             ` KOSAKI Motohiro
2013-10-08  6:06             ` Jan Kara
2013-10-08  6:06               ` Jan Kara
2013-10-08  6:06               ` Jan Kara

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.