Message ID | 1474992504-20133-12-git-send-email-jack@suse.cz (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
On Tue, Sep 27, 2016 at 06:08:15PM +0200, Jan Kara wrote: > We don't check whether vma->vm_ops is NULL in do_shared_fault() so > there's hardly any point in checking it in wp_page_shared() which gets > called only for shared file mappings as well. > > Signed-off-by: Jan Kara <jack@suse.cz> > --- > mm/memory.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/mm/memory.c b/mm/memory.c > index a4522e8999b2..63d9c1a54caf 100644 > --- a/mm/memory.c > +++ b/mm/memory.c > @@ -2301,7 +2301,7 @@ static int wp_page_shared(struct vm_fault *vmf, struct page *old_page) > > get_page(old_page); > > - if (vma->vm_ops && vma->vm_ops->page_mkwrite) { > + if (vma->vm_ops->page_mkwrite) { > int tmp; > > pte_unmap_unlock(vmf->pte, vmf->ptl); > -- > 2.6.6 Does this apply equally to the check in wp_pfn_shared()? Both wp_page_shared() and wp_pfn_shared() are called for shared file mappings via do_wp_page().
On Mon 17-10-16 13:40:41, Ross Zwisler wrote: > On Tue, Sep 27, 2016 at 06:08:15PM +0200, Jan Kara wrote: > > We don't check whether vma->vm_ops is NULL in do_shared_fault() so > > there's hardly any point in checking it in wp_page_shared() which gets > > called only for shared file mappings as well. > > > > Signed-off-by: Jan Kara <jack@suse.cz> > > --- > > mm/memory.c | 2 +- > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/mm/memory.c b/mm/memory.c > > index a4522e8999b2..63d9c1a54caf 100644 > > --- a/mm/memory.c > > +++ b/mm/memory.c > > @@ -2301,7 +2301,7 @@ static int wp_page_shared(struct vm_fault *vmf, struct page *old_page) > > > > get_page(old_page); > > > > - if (vma->vm_ops && vma->vm_ops->page_mkwrite) { > > + if (vma->vm_ops->page_mkwrite) { > > int tmp; > > > > pte_unmap_unlock(vmf->pte, vmf->ptl); > > -- > > 2.6.6 > > Does this apply equally to the check in wp_pfn_shared()? Both > wp_page_shared() and wp_pfn_shared() are called for shared file mappings via > do_wp_page(). Yes, it does apply there as well. Added to the commit. There are actually more places with these checks which don't seem necessary but I didn't want to do more cleanups than I need... But at least these two come logically together. Honza
diff --git a/mm/memory.c b/mm/memory.c index a4522e8999b2..63d9c1a54caf 100644 --- a/mm/memory.c +++ b/mm/memory.c @@ -2301,7 +2301,7 @@ static int wp_page_shared(struct vm_fault *vmf, struct page *old_page) get_page(old_page); - if (vma->vm_ops && vma->vm_ops->page_mkwrite) { + if (vma->vm_ops->page_mkwrite) { int tmp; pte_unmap_unlock(vmf->pte, vmf->ptl);
We don't check whether vma->vm_ops is NULL in do_shared_fault() so there's hardly any point in checking it in wp_page_shared() which gets called only for shared file mappings as well. Signed-off-by: Jan Kara <jack@suse.cz> --- mm/memory.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)