+CC vma reviewers
On Wed, Aug 28, 2024 at 10:55:21PM GMT, jef...@chromium.org wrote:
> From: Jeff Xu <jef...@chromium.org>
> 
> mmap(MAP_FIXED) should return EPERM when memory is sealed.
> 
> Fixes: 4205a39e06da ("mm/munmap: replace can_modify_mm with can_modify_vma")

Thank you for the patch!
This Fixes: is wrong, the bug was added during Liam's rebasing of his munmap 
patch
set on mine.

> Signed-off-by: Jeff Xu <jef...@chromium.org>
> ---
>  mm/mmap.c | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)
> 
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 80d70ed099cf..0cd0c0ef03c7 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -1386,7 +1386,10 @@ unsigned long mmap_region(struct file *file, unsigned 
> long addr,
>               mt_on_stack(mt_detach);
>               mas_init(&mas_detach, &mt_detach, /* addr = */ 0);
>               /* Prepare to unmap any existing mapping in the area */
> -             if (vms_gather_munmap_vmas(&vms, &mas_detach))
> +             error = vms_gather_munmap_vmas(&vms, &mas_detach);
> +             if (error == -EPERM)
> +                     return -EPERM;

Not sure if it makes sense to special case this. We should probably deal with 
this inside
vms_gather_munmap_vmas and just pass through the error we get.

Otherwise LGTM. Liam?

(we should also squash this into the offending commit)

-- 
Pedro

Reply via email to