summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHuang Shijie <shijie.huang@arm.com>2017-01-11 14:02:00 +0800
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-19 20:18:08 +0100
commitb90a617fef04ae2e2394fead9eb8de5fcf8c7fdc (patch)
tree943fb17e92e785bc605978c89f04e908cbfcdd81
parent2021e55d719acfebdabbb4d6d0104465f76c9158 (diff)
arm64: hugetlb: fix the wrong return value for huge_ptep_set_access_flags
commit 69d012345a1a32d3f03957f14d972efccc106a98 upstream. 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") Signed-off-by: Huang Shijie <shijie.huang@arm.com> Signed-off-by: Catalin Marinas <catalin.marinas@arm.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--arch/arm64/mm/hugetlbpage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/mm/hugetlbpage.c b/arch/arm64/mm/hugetlbpage.c
index fd96ba77389c..45bec627bae3 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);