From: Daniel Vetter <daniel.vetter@ffwll.ch> To: Christoph Hellwig <hch@infradead.org> Cc: linux-s390 <linux-s390@vger.kernel.org>, linux-samsung-soc <linux-samsung-soc@vger.kernel.org>, KVM list <kvm@vger.kernel.org>, LKML <linux-kernel@vger.kernel.org>, DRI Development <dri-devel@lists.freedesktop.org>, Linux MM <linux-mm@kvack.org>, Linux ARM <linux-arm-kernel@lists.infradead.org>, "open list:DMA BUFFER SHARING FRAMEWORK" <linux-media@vger.kernel.org> Subject: Re: [PATCH v4 00/15] follow_pfn and other iomap races Date: Thu, 29 Oct 2020 10:38:16 +0100 Message-ID: <CAKMK7uG=R2372bVTK1Zh+P7uRd2QJSw5EgcJ6JJwVtNyJ7SJtQ@mail.gmail.com> (raw) In-Reply-To: <20201029092800.GA494@infradead.org> On Thu, Oct 29, 2020 at 10:28 AM Christoph Hellwig <hch@infradead.org> wrote: > > On Thu, Oct 29, 2020 at 10:25:16AM +0100, Daniel Vetter wrote: > > On Thu, Oct 29, 2020 at 9:57 AM Christoph Hellwig <hch@infradead.org> wrote: > > > > > > Maybe I'm missing something, but shouldn't follow_pfn be unexported > > > at the end of the series? > > > > kvm is a legit user and modular afaict. But since you can't use this > > without an mmu_notifier anyway (or digging around in pagetable > > locking), maybe it should be EXPORT_SYMBOL_GPL now at least? > > I think it should then take the notifier as an argument even if it isn't > diretly used as a safety check, and get a new name describing it. Hm so Jason and me discussed this, but e.g. the s390 is safe with with just the pagetable locks. So we'd need two versions. The more practical problem is that I haven't found a reasonable way to check that a passed in mmu_notifier is registered against the mm we're working on, and without that check it feels a bit silly. But if you see how to do that I think we can do an EXPORT_SYMBOL_GPL follow_pfn which takes the notifier, and an __follow_pfn for s390 and similar internal code which isn't exported. > EXPORT_SYMBOL_GPL is probably ok for now, but I'm drafting a new > EXPORT_SYMBOL_FOR_MODULE() which will export symbols that can only be > used by one specific module, with kvm being a prime user due to all > the odd exports it requires that aren't really the kernel interface by > any normal means. Hm yeah that's another one. There's also some virt stuff that's currently on unsafe_follow_pfn and needs to be switched over, and I think that would also need an mmu notifier of some sorts to close the gaps. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel
prev parent reply index Thread overview: 23+ messages / expand[flat|nested] mbox.gz Atom feed top 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 ` [PATCH v4 02/15] drm/exynos: Use FOLL_LONGTERM for g2d cmdlists 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 ` [PATCH v4 04/15] misc/habana: Use FOLL_LONGTERM for userptr Daniel Vetter 2020-10-26 10:58 ` [PATCH v4 05/15] mm/frame-vector: Use FOLL_LONGTERM Daniel Vetter 2020-10-26 22:15 ` Tomasz Figa 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 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 ` [PATCH v4 08/15] mm: Add unsafe_follow_pfn Daniel Vetter [not found] ` <20201029085644.GA25658@infradead.org> 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 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 ` [PATCH v4 11/15] PCI: Obey iomem restrictions for procfs mmap 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 ` [PATCH v4 13/15] resource: Move devmem revoke code to resource framework 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 ` [PATCH v4 15/15] PCI: Revoke mappings like devmem Daniel Vetter [not found] ` <20201029085749.GB25658@infradead.org> 2020-10-29 9:25 ` [PATCH v4 00/15] follow_pfn and other iomap races Daniel Vetter [not found] ` <20201029092800.GA494@infradead.org> 2020-10-29 9:38 ` Daniel Vetter [this message]
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='CAKMK7uG=R2372bVTK1Zh+P7uRd2QJSw5EgcJ6JJwVtNyJ7SJtQ@mail.gmail.com' \ --to=daniel.vetter@ffwll.ch \ --cc=dri-devel@lists.freedesktop.org \ --cc=hch@infradead.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
dri-devel Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dri-devel/0 dri-devel/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dri-devel dri-devel/ https://lore.kernel.org/dri-devel \ dri-devel@lists.freedesktop.org public-inbox-index dri-devel Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.freedesktop.lists.dri-devel AGPL code for this site: git clone https://public-inbox.org/public-inbox.git