From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>,
LKML <linux-kernel@vger.kernel.org>
Cc: kvm@vger.kernel.org, linux-mm@kvack.org,
linux-arm-kernel@lists.infradead.org,
linux-samsung-soc@vger.kernel.org, linux-media@vger.kernel.org,
linux-s390@vger.kernel.org,
Daniel Vetter <daniel.vetter@ffwll.ch>
Subject: [PATCH v4 00/15] follow_pfn and other iomap races
Date: Mon, 26 Oct 2020 11:58:03 +0100 [thread overview]
Message-ID: <20201026105818.2585306-1-daniel.vetter@ffwll.ch> (raw)
Hi all
Round 3 of my patch series to clamp down a bunch of races and gaps
around follow_pfn and other access to iomem mmaps. Previous version:
v1: https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
v2: https://lore.kernel.org/dri-devel/20201009075934.3509076-1-daniel.vetter@ffwll.ch
v3: https://lore.kernel.org/dri-devel/20201021085655.1192025-1-daniel.vetter@ffwll.ch/
And the discussion that sparked this journey:
https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
Changes in v4:
- Drop the s390 patch, that was very stand-alone and now queued up to land
through s390 trees.
- Comment polish per Dan's review.
Changes in v3:
- Bunch of polish all over, no functional changes aside from one barrier
in the resource code, for consistency.
- A few more r-b tags.
Changes in v2:
- tons of small polish&fixes all over, thanks to all the reviewers who
spotted issues
- I managed to test at least the generic_access_phys and pci mmap revoke
stuff with a few gdb sessions using our i915 debug tools (hence now also
the drm/i915 patch to properly request all the pci bar regions)
- reworked approach for the pci mmap revoke: Infrastructure moved into
kernel/resource.c, address_space mapping is now set up at open time for
everyone (which required some sysfs changes). Does indeed look a lot
cleaner and a lot less invasive than I feared at first.
I feel like this is ready for some wider soaking. Since the remaining bits
are all kinda connnected probably simplest if it all goes through -mm.
Cheers, Daniel
Daniel Vetter (15):
drm/exynos: Stop using frame_vector helpers
drm/exynos: Use FOLL_LONGTERM for g2d cmdlists
misc/habana: Stop using frame_vector helpers
misc/habana: Use FOLL_LONGTERM for userptr
mm/frame-vector: Use FOLL_LONGTERM
media: videobuf2: Move frame_vector into media subsystem
mm: Close race in generic_access_phys
mm: Add unsafe_follow_pfn
media/videbuf1|2: Mark follow_pfn usage as unsafe
vfio/type1: Mark follow_pfn as unsafe
PCI: Obey iomem restrictions for procfs mmap
/dev/mem: Only set filp->f_mapping
resource: Move devmem revoke code to resource framework
sysfs: Support zapping of binary attr mmaps
PCI: Revoke mappings like devmem
drivers/char/mem.c | 86 +--------------
drivers/gpu/drm/exynos/Kconfig | 1 -
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 48 ++++-----
drivers/media/common/videobuf2/Kconfig | 1 -
drivers/media/common/videobuf2/Makefile | 1 +
.../media/common/videobuf2}/frame_vector.c | 54 ++++------
drivers/media/platform/omap/Kconfig | 1 -
drivers/media/v4l2-core/videobuf-dma-contig.c | 2 +-
drivers/misc/habanalabs/Kconfig | 1 -
drivers/misc/habanalabs/common/habanalabs.h | 6 +-
drivers/misc/habanalabs/common/memory.c | 50 ++++-----
drivers/pci/pci-sysfs.c | 4 +
drivers/pci/proc.c | 6 ++
drivers/vfio/vfio_iommu_type1.c | 4 +-
fs/sysfs/file.c | 11 ++
include/linux/ioport.h | 6 +-
include/linux/mm.h | 47 +-------
include/linux/sysfs.h | 2 +
include/media/frame_vector.h | 47 ++++++++
include/media/videobuf2-core.h | 1 +
kernel/resource.c | 101 +++++++++++++++++-
mm/Kconfig | 3 -
mm/Makefile | 1 -
mm/memory.c | 78 +++++++++++++-
mm/nommu.c | 17 +++
security/Kconfig | 13 +++
26 files changed, 347 insertions(+), 245 deletions(-)
rename {mm => drivers/media/common/videobuf2}/frame_vector.c (85%)
create mode 100644 include/media/frame_vector.h
--
2.28.0
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>,
LKML <linux-kernel@vger.kernel.org>
Cc: linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
kvm@vger.kernel.org, Daniel Vetter <daniel.vetter@ffwll.ch>,
linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org,
linux-media@vger.kernel.org
Subject: [PATCH v4 00/15] follow_pfn and other iomap races
Date: Mon, 26 Oct 2020 11:58:03 +0100 [thread overview]
Message-ID: <20201026105818.2585306-1-daniel.vetter@ffwll.ch> (raw)
Hi all
Round 3 of my patch series to clamp down a bunch of races and gaps
around follow_pfn and other access to iomem mmaps. Previous version:
v1: https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
v2: https://lore.kernel.org/dri-devel/20201009075934.3509076-1-daniel.vetter@ffwll.ch
v3: https://lore.kernel.org/dri-devel/20201021085655.1192025-1-daniel.vetter@ffwll.ch/
And the discussion that sparked this journey:
https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
Changes in v4:
- Drop the s390 patch, that was very stand-alone and now queued up to land
through s390 trees.
- Comment polish per Dan's review.
Changes in v3:
- Bunch of polish all over, no functional changes aside from one barrier
in the resource code, for consistency.
- A few more r-b tags.
Changes in v2:
- tons of small polish&fixes all over, thanks to all the reviewers who
spotted issues
- I managed to test at least the generic_access_phys and pci mmap revoke
stuff with a few gdb sessions using our i915 debug tools (hence now also
the drm/i915 patch to properly request all the pci bar regions)
- reworked approach for the pci mmap revoke: Infrastructure moved into
kernel/resource.c, address_space mapping is now set up at open time for
everyone (which required some sysfs changes). Does indeed look a lot
cleaner and a lot less invasive than I feared at first.
I feel like this is ready for some wider soaking. Since the remaining bits
are all kinda connnected probably simplest if it all goes through -mm.
Cheers, Daniel
Daniel Vetter (15):
drm/exynos: Stop using frame_vector helpers
drm/exynos: Use FOLL_LONGTERM for g2d cmdlists
misc/habana: Stop using frame_vector helpers
misc/habana: Use FOLL_LONGTERM for userptr
mm/frame-vector: Use FOLL_LONGTERM
media: videobuf2: Move frame_vector into media subsystem
mm: Close race in generic_access_phys
mm: Add unsafe_follow_pfn
media/videbuf1|2: Mark follow_pfn usage as unsafe
vfio/type1: Mark follow_pfn as unsafe
PCI: Obey iomem restrictions for procfs mmap
/dev/mem: Only set filp->f_mapping
resource: Move devmem revoke code to resource framework
sysfs: Support zapping of binary attr mmaps
PCI: Revoke mappings like devmem
drivers/char/mem.c | 86 +--------------
drivers/gpu/drm/exynos/Kconfig | 1 -
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 48 ++++-----
drivers/media/common/videobuf2/Kconfig | 1 -
drivers/media/common/videobuf2/Makefile | 1 +
.../media/common/videobuf2}/frame_vector.c | 54 ++++------
drivers/media/platform/omap/Kconfig | 1 -
drivers/media/v4l2-core/videobuf-dma-contig.c | 2 +-
drivers/misc/habanalabs/Kconfig | 1 -
drivers/misc/habanalabs/common/habanalabs.h | 6 +-
drivers/misc/habanalabs/common/memory.c | 50 ++++-----
drivers/pci/pci-sysfs.c | 4 +
drivers/pci/proc.c | 6 ++
drivers/vfio/vfio_iommu_type1.c | 4 +-
fs/sysfs/file.c | 11 ++
include/linux/ioport.h | 6 +-
include/linux/mm.h | 47 +-------
include/linux/sysfs.h | 2 +
include/media/frame_vector.h | 47 ++++++++
include/media/videobuf2-core.h | 1 +
kernel/resource.c | 101 +++++++++++++++++-
mm/Kconfig | 3 -
mm/Makefile | 1 -
mm/memory.c | 78 +++++++++++++-
mm/nommu.c | 17 +++
security/Kconfig | 13 +++
26 files changed, 347 insertions(+), 245 deletions(-)
rename {mm => drivers/media/common/videobuf2}/frame_vector.c (85%)
create mode 100644 include/media/frame_vector.h
--
2.28.0
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>,
LKML <linux-kernel@vger.kernel.org>
Cc: linux-s390@vger.kernel.org, linux-samsung-soc@vger.kernel.org,
kvm@vger.kernel.org, Daniel Vetter <daniel.vetter@ffwll.ch>,
linux-mm@kvack.org, linux-arm-kernel@lists.infradead.org,
linux-media@vger.kernel.org
Subject: [PATCH v4 00/15] follow_pfn and other iomap races
Date: Mon, 26 Oct 2020 11:58:03 +0100 [thread overview]
Message-ID: <20201026105818.2585306-1-daniel.vetter@ffwll.ch> (raw)
Hi all
Round 3 of my patch series to clamp down a bunch of races and gaps
around follow_pfn and other access to iomem mmaps. Previous version:
v1: https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
v2: https://lore.kernel.org/dri-devel/20201009075934.3509076-1-daniel.vetter@ffwll.ch
v3: https://lore.kernel.org/dri-devel/20201021085655.1192025-1-daniel.vetter@ffwll.ch/
And the discussion that sparked this journey:
https://lore.kernel.org/dri-devel/20201007164426.1812530-1-daniel.vetter@ffwll.ch/
Changes in v4:
- Drop the s390 patch, that was very stand-alone and now queued up to land
through s390 trees.
- Comment polish per Dan's review.
Changes in v3:
- Bunch of polish all over, no functional changes aside from one barrier
in the resource code, for consistency.
- A few more r-b tags.
Changes in v2:
- tons of small polish&fixes all over, thanks to all the reviewers who
spotted issues
- I managed to test at least the generic_access_phys and pci mmap revoke
stuff with a few gdb sessions using our i915 debug tools (hence now also
the drm/i915 patch to properly request all the pci bar regions)
- reworked approach for the pci mmap revoke: Infrastructure moved into
kernel/resource.c, address_space mapping is now set up at open time for
everyone (which required some sysfs changes). Does indeed look a lot
cleaner and a lot less invasive than I feared at first.
I feel like this is ready for some wider soaking. Since the remaining bits
are all kinda connnected probably simplest if it all goes through -mm.
Cheers, Daniel
Daniel Vetter (15):
drm/exynos: Stop using frame_vector helpers
drm/exynos: Use FOLL_LONGTERM for g2d cmdlists
misc/habana: Stop using frame_vector helpers
misc/habana: Use FOLL_LONGTERM for userptr
mm/frame-vector: Use FOLL_LONGTERM
media: videobuf2: Move frame_vector into media subsystem
mm: Close race in generic_access_phys
mm: Add unsafe_follow_pfn
media/videbuf1|2: Mark follow_pfn usage as unsafe
vfio/type1: Mark follow_pfn as unsafe
PCI: Obey iomem restrictions for procfs mmap
/dev/mem: Only set filp->f_mapping
resource: Move devmem revoke code to resource framework
sysfs: Support zapping of binary attr mmaps
PCI: Revoke mappings like devmem
drivers/char/mem.c | 86 +--------------
drivers/gpu/drm/exynos/Kconfig | 1 -
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 48 ++++-----
drivers/media/common/videobuf2/Kconfig | 1 -
drivers/media/common/videobuf2/Makefile | 1 +
.../media/common/videobuf2}/frame_vector.c | 54 ++++------
drivers/media/platform/omap/Kconfig | 1 -
drivers/media/v4l2-core/videobuf-dma-contig.c | 2 +-
drivers/misc/habanalabs/Kconfig | 1 -
drivers/misc/habanalabs/common/habanalabs.h | 6 +-
drivers/misc/habanalabs/common/memory.c | 50 ++++-----
drivers/pci/pci-sysfs.c | 4 +
drivers/pci/proc.c | 6 ++
drivers/vfio/vfio_iommu_type1.c | 4 +-
fs/sysfs/file.c | 11 ++
include/linux/ioport.h | 6 +-
include/linux/mm.h | 47 +-------
include/linux/sysfs.h | 2 +
include/media/frame_vector.h | 47 ++++++++
include/media/videobuf2-core.h | 1 +
kernel/resource.c | 101 +++++++++++++++++-
mm/Kconfig | 3 -
mm/Makefile | 1 -
mm/memory.c | 78 +++++++++++++-
mm/nommu.c | 17 +++
security/Kconfig | 13 +++
26 files changed, 347 insertions(+), 245 deletions(-)
rename {mm => drivers/media/common/videobuf2}/frame_vector.c (85%)
create mode 100644 include/media/frame_vector.h
--
2.28.0
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
next reply other threads:[~2020-10-26 11:00 UTC|newest]
Thread overview: 88+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-10-26 10:58 Daniel Vetter [this message]
2020-10-26 10:58 ` [PATCH v4 00/15] follow_pfn and other iomap races Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 01/15] drm/exynos: Stop using frame_vector helpers Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 02/15] drm/exynos: Use FOLL_LONGTERM for g2d cmdlists Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 03/15] misc/habana: Stop using frame_vector helpers Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 04/15] misc/habana: Use FOLL_LONGTERM for userptr Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 05/15] mm/frame-vector: Use FOLL_LONGTERM Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 22:15 ` Tomasz Figa
2020-10-26 22:15 ` Tomasz Figa
2020-10-26 22:15 ` Tomasz Figa
2020-10-26 22:15 ` Tomasz Figa
2020-10-27 8:05 ` Daniel Vetter
2020-10-27 8:05 ` Daniel Vetter
2020-10-27 8:05 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 06/15] media: videobuf2: Move frame_vector into media subsystem Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 22:03 ` Tomasz Figa
2020-10-26 22:03 ` Tomasz Figa
2020-10-26 22:03 ` Tomasz Figa
2020-10-26 22:03 ` Tomasz Figa
2020-10-26 10:58 ` [PATCH v4 07/15] mm: Close race in generic_access_phys Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 08/15] mm: Add unsafe_follow_pfn Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-29 8:56 ` Christoph Hellwig
2020-10-29 8:56 ` Christoph Hellwig
2020-10-29 9:23 ` Daniel Vetter
2020-10-29 9:23 ` Daniel Vetter
2020-10-29 9:23 ` Daniel Vetter
2020-10-29 9:23 ` Daniel Vetter
2020-10-29 9:23 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 09/15] media/videbuf1|2: Mark follow_pfn usage as unsafe Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 22:02 ` Tomasz Figa
2020-10-26 22:02 ` Tomasz Figa
2020-10-26 22:02 ` Tomasz Figa
2020-10-26 22:02 ` Tomasz Figa
2020-10-26 10:58 ` [PATCH v4 10/15] vfio/type1: Mark follow_pfn " Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 11/15] PCI: Obey iomem restrictions for procfs mmap Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 12/15] /dev/mem: Only set filp->f_mapping Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 13/15] resource: Move devmem revoke code to resource framework Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 14/15] sysfs: Support zapping of binary attr mmaps Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` [PATCH v4 15/15] PCI: Revoke mappings like devmem Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-26 10:58 ` Daniel Vetter
2020-10-29 8:57 ` [PATCH v4 00/15] follow_pfn and other iomap races Christoph Hellwig
2020-10-29 8:57 ` Christoph Hellwig
2020-10-29 9:25 ` Daniel Vetter
2020-10-29 9:25 ` Daniel Vetter
2020-10-29 9:25 ` Daniel Vetter
2020-10-29 9:25 ` Daniel Vetter
2020-10-29 9:25 ` Daniel Vetter
2020-10-29 9:28 ` Christoph Hellwig
2020-10-29 9:28 ` Christoph Hellwig
2020-10-29 9:28 ` Christoph Hellwig
2020-10-29 9:38 ` Daniel Vetter
2020-10-29 9:38 ` Daniel Vetter
2020-10-29 9:38 ` Daniel Vetter
2020-10-29 9:38 ` Daniel Vetter
2020-10-29 9:38 ` Daniel Vetter
2020-10-29 10:01 ` Christoph Hellwig
2020-10-29 10:01 ` Christoph Hellwig
2020-10-29 10:01 ` Christoph Hellwig
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=20201026105818.2585306-1-daniel.vetter@ffwll.ch \
--to=daniel.vetter@ffwll.ch \
--cc=dri-devel@lists.freedesktop.org \
--cc=kvm@vger.kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mm@kvack.org \
--cc=linux-s390@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.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.