All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: "DRI Development" <dri-devel@lists.freedesktop.org>,
	LKML <linux-kernel@vger.kernel.org>,
	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,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Christoph Hellwig" <hch@infradead.org>,
	"Kees Cook" <keescook@chromium.org>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	"John Hubbard" <jhubbard@nvidia.com>,
	"Jérôme Glisse" <jglisse@redhat.com>, "Jan Kara" <jack@suse.cz>
Subject: Re: [PATCH v6 17/17] RFC: mm: add mmu_notifier argument to follow_pfn
Date: Fri, 20 Nov 2020 14:30:29 -0400	[thread overview]
Message-ID: <20201120183029.GQ244516@ziepe.ca> (raw)
In-Reply-To: <20201119144146.1045202-18-daniel.vetter@ffwll.ch>

On Thu, Nov 19, 2020 at 03:41:46PM +0100, Daniel Vetter wrote:
> @@ -4805,21 +4824,15 @@ EXPORT_SYMBOL(follow_pte_pmd);
>   * Return: zero and the pfn at @pfn on success, -ve otherwise.
>   */
>  int follow_pfn(struct vm_area_struct *vma, unsigned long address,
> -	unsigned long *pfn)
> +	unsigned long *pfn, struct mmu_notifier *subscription)
>  {
> -	int ret = -EINVAL;
> -	spinlock_t *ptl;
> -	pte_t *ptep;
> +	if (WARN_ON(!subscription->mm))
> +		return -EINVAL;
>  
> +	if (WARN_ON(subscription->mm != vma->vm_mm))
> +		return -EINVAL;

These two things are redundant right? vma->vm_mm != NULL?

BTW, why do we even have this for nommu? If the only caller is kvm,
can you even compile kvm on nommu??

Jason

WARNING: multiple messages have this Message-ID (diff)
From: Jason Gunthorpe <jgg@ziepe.ca>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: linux-samsung-soc@vger.kernel.org, "Jan Kara" <jack@suse.cz>,
	"Kees Cook" <keescook@chromium.org>,
	kvm@vger.kernel.org, "John Hubbard" <jhubbard@nvidia.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"DRI Development" <dri-devel@lists.freedesktop.org>,
	"Christoph Hellwig" <hch@infradead.org>,
	linux-mm@kvack.org, "Jérôme Glisse" <jglisse@redhat.com>,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v6 17/17] RFC: mm: add mmu_notifier argument to follow_pfn
Date: Fri, 20 Nov 2020 14:30:29 -0400	[thread overview]
Message-ID: <20201120183029.GQ244516@ziepe.ca> (raw)
In-Reply-To: <20201119144146.1045202-18-daniel.vetter@ffwll.ch>

On Thu, Nov 19, 2020 at 03:41:46PM +0100, Daniel Vetter wrote:
> @@ -4805,21 +4824,15 @@ EXPORT_SYMBOL(follow_pte_pmd);
>   * Return: zero and the pfn at @pfn on success, -ve otherwise.
>   */
>  int follow_pfn(struct vm_area_struct *vma, unsigned long address,
> -	unsigned long *pfn)
> +	unsigned long *pfn, struct mmu_notifier *subscription)
>  {
> -	int ret = -EINVAL;
> -	spinlock_t *ptl;
> -	pte_t *ptep;
> +	if (WARN_ON(!subscription->mm))
> +		return -EINVAL;
>  
> +	if (WARN_ON(subscription->mm != vma->vm_mm))
> +		return -EINVAL;

These two things are redundant right? vma->vm_mm != NULL?

BTW, why do we even have this for nommu? If the only caller is kvm,
can you even compile kvm on nommu??

Jason

_______________________________________________
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: Jason Gunthorpe <jgg@ziepe.ca>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: linux-samsung-soc@vger.kernel.org, "Jan Kara" <jack@suse.cz>,
	"Kees Cook" <keescook@chromium.org>,
	kvm@vger.kernel.org, "John Hubbard" <jhubbard@nvidia.com>,
	LKML <linux-kernel@vger.kernel.org>,
	"DRI Development" <dri-devel@lists.freedesktop.org>,
	"Christoph Hellwig" <hch@infradead.org>,
	linux-mm@kvack.org, "Jérôme Glisse" <jglisse@redhat.com>,
	"Daniel Vetter" <daniel.vetter@intel.com>,
	"Dan Williams" <dan.j.williams@intel.com>,
	"Andrew Morton" <akpm@linux-foundation.org>,
	linux-arm-kernel@lists.infradead.org,
	linux-media@vger.kernel.org
Subject: Re: [PATCH v6 17/17] RFC: mm: add mmu_notifier argument to follow_pfn
Date: Fri, 20 Nov 2020 14:30:29 -0400	[thread overview]
Message-ID: <20201120183029.GQ244516@ziepe.ca> (raw)
In-Reply-To: <20201119144146.1045202-18-daniel.vetter@ffwll.ch>

On Thu, Nov 19, 2020 at 03:41:46PM +0100, Daniel Vetter wrote:
> @@ -4805,21 +4824,15 @@ EXPORT_SYMBOL(follow_pte_pmd);
>   * Return: zero and the pfn at @pfn on success, -ve otherwise.
>   */
>  int follow_pfn(struct vm_area_struct *vma, unsigned long address,
> -	unsigned long *pfn)
> +	unsigned long *pfn, struct mmu_notifier *subscription)
>  {
> -	int ret = -EINVAL;
> -	spinlock_t *ptl;
> -	pte_t *ptep;
> +	if (WARN_ON(!subscription->mm))
> +		return -EINVAL;
>  
> +	if (WARN_ON(subscription->mm != vma->vm_mm))
> +		return -EINVAL;

These two things are redundant right? vma->vm_mm != NULL?

BTW, why do we even have this for nommu? If the only caller is kvm,
can you even compile kvm on nommu??

Jason
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2020-11-20 18:31 UTC|newest]

Thread overview: 117+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-11-19 14:41 [PATCH v6 00/17] follow_pfn and other iomap races Daniel Vetter
2020-11-19 14:41 ` Daniel Vetter
2020-11-19 14:41 ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 01/17] drm/exynos: Stop using frame_vector helpers Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 02/17] drm/exynos: Use FOLL_LONGTERM for g2d cmdlists Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 03/17] misc/habana: Stop using frame_vector helpers Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-21 12:47   ` Oded Gabbay
2020-11-21 12:47     ` Oded Gabbay
2020-11-21 12:47     ` Oded Gabbay
2020-11-19 14:41 ` [PATCH v6 04/17] misc/habana: Use FOLL_LONGTERM for userptr Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-21 10:15   ` Oded Gabbay
2020-11-21 10:15     ` Oded Gabbay
2020-11-21 10:15     ` Oded Gabbay
2020-11-19 14:41 ` [PATCH v6 05/17] mm/frame-vector: Use FOLL_LONGTERM Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 06/17] media: videobuf2: Move frame_vector into media subsystem Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-20  8:07   ` Hans Verkuil
2020-11-20  8:07     ` Hans Verkuil
2020-11-20  8:07     ` Hans Verkuil
2020-11-19 14:41 ` [PATCH v6 07/17] mm: Close race in generic_access_phys Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 08/17] mm: Add unsafe_follow_pfn Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 09/17] media/videbuf1|2: Mark follow_pfn usage as unsafe Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-20  8:06   ` Hans Verkuil
2020-11-20  8:06     ` Hans Verkuil
2020-11-20  8:06     ` Hans Verkuil
2020-11-20  8:28     ` Hans Verkuil
2020-11-20  8:28       ` Hans Verkuil
2020-11-20  8:28       ` Hans Verkuil
2020-11-20  8:32       ` Tomasz Figa
2020-11-20  8:32         ` Tomasz Figa
2020-11-20  8:32         ` Tomasz Figa
2020-11-20  9:18       ` Daniel Vetter
2020-11-20  9:18         ` Daniel Vetter
2020-11-20  9:18         ` Daniel Vetter
2020-11-20 10:38         ` Hans Verkuil
2020-11-20 10:38           ` Hans Verkuil
2020-11-20 10:38           ` Hans Verkuil
2020-11-20 10:51           ` Daniel Vetter
2020-11-20 10:51             ` Daniel Vetter
2020-11-20 10:51             ` Daniel Vetter
2020-11-20 12:08             ` Hans Verkuil
2020-11-20 12:08               ` Hans Verkuil
2020-11-20 12:08               ` Hans Verkuil
2020-11-20 12:23               ` Tomasz Figa
2020-11-20 12:23                 ` Tomasz Figa
2020-11-20 12:23                 ` Tomasz Figa
2020-11-24 14:16                 ` Daniel Vetter
2020-11-24 14:16                   ` Daniel Vetter
2020-11-24 14:16                   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 10/17] vfio/type1: Mark follow_pfn " Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 11/17] PCI: Obey iomem restrictions for procfs mmap Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 12/17] /dev/mem: Only set filp->f_mapping Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 13/17] resource: Move devmem revoke code to resource framework Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 14/17] sysfs: Support zapping of binary attr mmaps Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 15/17] PCI: Revoke mappings like devmem Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41 ` [PATCH v6 16/17] RFC: kvm: pass kvm argument to follow_pfn callsites Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-20 15:33   ` Paolo Bonzini
2020-11-20 15:33     ` Paolo Bonzini
2020-11-20 15:33     ` Paolo Bonzini
2020-11-20 15:44     ` Daniel Vetter
2020-11-20 15:44       ` Daniel Vetter
2020-11-20 15:44       ` Daniel Vetter
2020-11-20 15:55       ` Paolo Bonzini
2020-11-20 15:55         ` Paolo Bonzini
2020-11-20 15:55         ` Paolo Bonzini
2020-11-19 14:41 ` [PATCH v6 17/17] RFC: mm: add mmu_notifier argument to follow_pfn Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-19 14:41   ` Daniel Vetter
2020-11-20 18:30   ` Jason Gunthorpe [this message]
2020-11-20 18:30     ` Jason Gunthorpe
2020-11-20 18:30     ` Jason Gunthorpe
2020-11-24 14:28     ` Daniel Vetter
2020-11-24 14:28       ` Daniel Vetter
2020-11-24 14:28       ` Daniel Vetter
2020-11-24 15:55       ` Jason Gunthorpe
2020-11-24 15:55         ` Jason Gunthorpe
2020-11-24 15:55         ` Jason Gunthorpe
2020-11-25  9:00         ` Daniel Vetter
2020-11-25  9:00           ` Daniel Vetter
2020-11-25  9:00           ` Daniel Vetter
2020-11-27 13:12 ` [PATCH v6 00/17] follow_pfn and other iomap races Jason Gunthorpe
2020-11-27 13:12   ` Jason Gunthorpe
2020-11-27 13:12   ` Jason Gunthorpe
2020-11-27 15:36   ` Daniel Vetter
2020-11-27 15:36     ` Daniel Vetter
2020-11-27 15:36     ` Daniel Vetter

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=20201120183029.GQ244516@ziepe.ca \
    --to=jgg@ziepe.ca \
    --cc=akpm@linux-foundation.org \
    --cc=dan.j.williams@intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=daniel.vetter@intel.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=hch@infradead.org \
    --cc=jack@suse.cz \
    --cc=jglisse@redhat.com \
    --cc=jhubbard@nvidia.com \
    --cc=keescook@chromium.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-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.