[PATCH] arm64: hugetlb: fix the wrong return value for huge_ptep_set_access_flags

Huang Shijie shijie.huang at arm.com
Tue Jan 10 22:00:46 PST 2017


On Wed, Jan 11, 2017 at 01:58:28PM +0800, Huang Shijie wrote:
> In current code, the @changed always returns the last one's
> status for the huge page with the contiguous bit set.
> This is really not what we want. Even one of the PTEs is changed,
> we should tell it to the caller.
> 
> This patch fixes this issue.
> 
> Fixes: 66b3923a1a0f ("arm64: hugetlb: add support for PTE contiguous bit")
> Cc: stable at vger.kernel.org
> Signed-off-by: Huang Shijie <shijie.huang at arm.com>
> ---
>  arch/arm64/mm/hugetlbpage.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
> index 964b7549af5c..e25584d72396 100644
> --- a/arch/arm64/mm/hugetlbpage.c
> +++ b/arch/arm64/mm/hugetlbpage.c
> @@ -239,7 +239,7 @@ int huge_ptep_set_access_flags(struct vm_area_struct *vma,
>  		ncontig = find_num_contig(vma->vm_mm, addr, cpte,
>  					  *cpte, &pgsize);
>  		for (i = 0; i < ncontig; ++i, ++cpte, addr += pgsize) {
> -			changed = ptep_set_access_flags(vma, addr, cpte,
> +			changed |= ptep_set_access_flags(vma, addr, cpte,
>  							pfn_pte(pfn,
>  								hugeprot),
>  							dirty);
> -- 
> 2.5.5
> 
sorry, I missed to remove the disclaimer.

Huang Shijie



More information about the linux-arm-kernel mailing list