Re: [PATCH v2 03/11] mm: Return the address from page_mapped_in_vma()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Apr 10, 2024 at 11:38:36AM +0200, Oscar Salvador wrote:
> On Mon, Apr 08, 2024 at 08:42:21PM +0100, Matthew Wilcox (Oracle) wrote:
> > The only user of this function calls page_address_in_vma() immediately
> > after page_mapped_in_vma() calculates it and uses it to return true/false.
> > Return the address instead, allowing memory-failure to skip the call
> > to page_address_in_vma().
> > 
> > Acked-by: Miaohe Lin <linmiaohe@xxxxxxxxxx>
> > Signed-off-by: Matthew Wilcox (Oracle) <willy@xxxxxxxxxxxxx>
> > ---
> >  mm/page_vma_mapped.c | 14 ++++++++------
> >  1 file changed, 8 insertions(+), 6 deletions(-)
> > 
> > diff --git a/mm/page_vma_mapped.c b/mm/page_vma_mapped.c
> > index 53b8868ede61..48bfc17934cd 100644
> > --- a/mm/page_vma_mapped.c
> > +++ b/mm/page_vma_mapped.c
> > @@ -319,9 +319,10 @@ bool page_vma_mapped_walk(struct page_vma_mapped_walk *pvmw)
> >   * @page: the page to test
> >   * @vma: the VMA to test
> >   *
> > - * Returns 1 if the page is mapped into the page tables of the VMA, 0
> > - * if the page is not mapped into the page tables of this VMA.  Only
> > - * valid for normal file or anonymous VMAs.
> > + * Return: The address the page is mapped at if the page is in the range
> > + * covered by the VMA and present in the page table.  If the page is
> > + * outside the VMA or not present, returns -EFAULT.
> > + * Only valid for normal file or anonymous VMAs.
> 
> I am probably missing something here but I am confused.
> Now we either return -EFAULT or the address.

I don't know where the other hunks from this patch went.  Going back
through git reflog, they're missing since the very first version applied
to the tree they're currently part of (using git-am, well actually b4,
I think).  I'll resurrect them from the original posting and resend the
whole patchset.




[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux