diff mbox series

[-next] mm/mmap: fix error return code in do_mas_align_munmap()

Message ID 20220623134237.2127440-1-yangyingliang@huawei.com (mailing list archive)
State New
Headers show
Series [-next] mm/mmap: fix error return code in do_mas_align_munmap() | expand

Commit Message

Yang Yingliang June 23, 2022, 1:42 p.m. UTC
Return error code when munmap_sidetree() fails in do_mas_align_munmap().

Fixes: 81f5504dfb36 ("mm/mmap: change do_mas_align_munmap() to avoid preallocations for sidetree")
Reported-by: Hulk Robot <hulkci@huawei.com>
Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
---
 mm/mmap.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

Comments

Liam R. Howlett June 23, 2022, 2:24 p.m. UTC | #1
I actually have the same patch sitting on my branch, reported by Dan.  I
have been testing this code before sending it out.

Reviewed-by: Liam R. Howlett <Liam.Howlett@oracle.com>

* Yang Yingliang <yangyingliang@huawei.com> [220623 09:32]:
> Return error code when munmap_sidetree() fails in do_mas_align_munmap().
> 
> Fixes: 81f5504dfb36 ("mm/mmap: change do_mas_align_munmap() to avoid preallocations for sidetree")
> Reported-by: Hulk Robot <hulkci@huawei.com>
> Signed-off-by: Yang Yingliang <yangyingliang@huawei.com>
> ---
>  mm/mmap.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/mmap.c b/mm/mmap.c
> index 1bdf56804048..bb978061a790 100644
> --- a/mm/mmap.c
> +++ b/mm/mmap.c
> @@ -2427,7 +2427,8 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
>  
>  			mas_set(mas, end);
>  			split = mas_prev(mas, 0);
> -			if (munmap_sidetree(split, &mas_detach))
> +			error = munmap_sidetree(split, &mas_detach);
> +			if (error)
>  				goto munmap_sidetree_failed;
>  
>  			count++;
> @@ -2435,7 +2436,8 @@ do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
>  				vma = split;
>  			break;
>  		}
> -		if (munmap_sidetree(next, &mas_detach))
> +		error = munmap_sidetree(next, &mas_detach);
> +		if (error)
>  			goto munmap_sidetree_failed;
>  
>  		count++;
> -- 
> 2.25.1
>
diff mbox series

Patch

diff --git a/mm/mmap.c b/mm/mmap.c
index 1bdf56804048..bb978061a790 100644
--- a/mm/mmap.c
+++ b/mm/mmap.c
@@ -2427,7 +2427,8 @@  do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
 
 			mas_set(mas, end);
 			split = mas_prev(mas, 0);
-			if (munmap_sidetree(split, &mas_detach))
+			error = munmap_sidetree(split, &mas_detach);
+			if (error)
 				goto munmap_sidetree_failed;
 
 			count++;
@@ -2435,7 +2436,8 @@  do_mas_align_munmap(struct ma_state *mas, struct vm_area_struct *vma,
 				vma = split;
 			break;
 		}
-		if (munmap_sidetree(next, &mas_detach))
+		error = munmap_sidetree(next, &mas_detach);
+		if (error)
 			goto munmap_sidetree_failed;
 
 		count++;