Re: [PATCH] userfaultfd: reset err when move_pages_ptes succeeded

Ali Nasrolahi <[email protected]>
Newsgroups org.kernel.vger.linux-newbie
Message-ID <aoCJXlrOG3VvCGLt@zephyr>
On 26/08/15 09:13PM, Foxie Flakey wrote:
> 
> There is an edge case when move_pages_ptes fails with EAGAIN and then outer
> loop attempt to retry and succeeded but "err" isn't reset. This leads to
> outer loop retry erroneously on same set of pages that was successfully
> moved. This is fixed by resetting "err" when move_pages_ptes succeeded.
> 
> Fixes: 50944692052b ("userfaultfd: opportunistic TLB-flush batching for present pages in MOVE")
> Signed-off-by: Foxie Flakey <[email protected]>
> Assisted-by: ChatGPT:GPT-5.6-Luna
> ---
>  mm/userfaultfd.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/mm/userfaultfd.c b/mm/userfaultfd.c
> index c3adedaaf7d5..595e7e232f90 100644
> --- a/mm/userfaultfd.c
> +++ b/mm/userfaultfd.c
> @@ -2069,10 +2069,12 @@ static ssize_t move_pages(struct userfaultfd_ctx *ctx, unsigned long dst_start,
>  			ret = move_pages_ptes(mm, dst_pmd, src_pmd,
>  					      dst_vma, src_vma, dst_addr,
>  					      src_addr, src_end - src_addr, mode);
> -			if (ret < 0)
> +			if (ret < 0) {
>  				err = ret;
> -			else
> +			} else {
> +				err = 0;
>  				step_size = ret;
> +			}
>  		}
> 
>  		cond_resched();
> 
> base-commit: 62cc90241548d5570ee68e01aaba6506964e9811
> -- 
> 2.55.0
> 
> 

Hi,

Use `./scripts/get_maintainer.pl <file>` to figure out to which mailing
list you should send your patches. Also don't forget to CC the subsytem
and the file maintainer. I don't think this is the correct mailing list
for your patch :)

Cheers,
    Ali
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.