2024-05-09 10:02:31

by Oscar Salvador

[permalink] [raw]
Subject: [PATCH 0/2] Minor fixups for hugetlb fault path

Hi,

this series contains a couple of fixups for hugetlb_fault and hugetlb_wp
respectively, where a VM_FAULT_SET_HINDEX call was missing.

I did not bother with a Fixes tag because the missing piece here is that
we will not report to userspace the right extension of the faulty area
by adjusting struct kernel_siginfo.si_addr_lsb, but I do not consider that
to be a big issue because I assume that userspace already knows the size
of the mapping anyway.

Oscar Salvador (2):
mm/hugetlb: Add missing VM_FAULT_SET_HINDEX in hugetlb_fault
mm/hugetlb: Add missing VM_FAULT_SET_HINDEX in hugetlb_wp

mm/hugetlb.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

--
2.44.0



2024-05-09 10:02:45

by Oscar Salvador

[permalink] [raw]
Subject: [PATCH 2/2] mm/hugetlb: Add missing VM_FAULT_SET_HINDEX in hugetlb_wp

commit 1cb9dc4b475c ("mm: hwpoison: support recovery from HugePage
copy-on-write faults") added support to use the mc variants when
coping hugetlb pages on CoW faults.
Add the missing VM_FAULT_SET_HINDEX, so the right si_addr_lsb will be
passed to userspace to report the extension of the faulty area.

Signed-off-by: Oscar Salvador <[email protected]>
---
mm/hugetlb.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/mm/hugetlb.c b/mm/hugetlb.c
index 262456daf327..6be78e7d4f6e 100644
--- a/mm/hugetlb.c
+++ b/mm/hugetlb.c
@@ -6067,7 +6067,7 @@ static vm_fault_t hugetlb_wp(struct folio *pagecache_folio,
goto out_release_all;

if (copy_user_large_folio(new_folio, old_folio, vmf->real_address, vma)) {
- ret = VM_FAULT_HWPOISON_LARGE;
+ ret = VM_FAULT_HWPOISON_LARGE | VM_FAULT_SET_HINDEX(hstate_index(h));
goto out_release_all;
}
__folio_mark_uptodate(new_folio);
--
2.44.0


2024-05-09 13:26:14

by Peter Xu

[permalink] [raw]
Subject: Re: [PATCH 0/2] Minor fixups for hugetlb fault path

On Thu, May 09, 2024 at 12:01:46PM +0200, Oscar Salvador wrote:
> Hi,
>
> this series contains a couple of fixups for hugetlb_fault and hugetlb_wp
> respectively, where a VM_FAULT_SET_HINDEX call was missing.
>
> I did not bother with a Fixes tag because the missing piece here is that
> we will not report to userspace the right extension of the faulty area
> by adjusting struct kernel_siginfo.si_addr_lsb, but I do not consider that
> to be a big issue because I assume that userspace already knows the size
> of the mapping anyway.

Acked-by: Peter Xu <[email protected]>

--
Peter Xu


2024-05-09 18:14:42

by Axel Rasmussen

[permalink] [raw]
Subject: Re: [PATCH 0/2] Minor fixups for hugetlb fault path

On Thu, May 9, 2024 at 6:26 AM Peter Xu <[email protected]> wrote:
>
> On Thu, May 09, 2024 at 12:01:46PM +0200, Oscar Salvador wrote:
> > Hi,
> >
> > this series contains a couple of fixups for hugetlb_fault and hugetlb_wp
> > respectively, where a VM_FAULT_SET_HINDEX call was missing.
> >
> > I did not bother with a Fixes tag because the missing piece here is that
> > we will not report to userspace the right extension of the faulty area
> > by adjusting struct kernel_siginfo.si_addr_lsb, but I do not consider that
> > to be a big issue because I assume that userspace already knows the size
> > of the mapping anyway.
>
> Acked-by: Peter Xu <[email protected]>

Looks correct to me as well. Thanks!

Acked-by: Axel Rasmussen <[email protected]>

>
> --
> Peter Xu
>