Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit bb8236f2 authored by David S. Miller's avatar David S. Miller
Browse files

[SPARC64]: Add missing HPAGE_MASK masks on address parameters.



These pte loops all assume the passed in address is HPAGE
aligned, make sure that is actually true.

Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 50d266a3
Loading
Loading
Loading
Loading
+3 −0
Original line number Original line Diff line number Diff line
@@ -248,6 +248,7 @@ void set_huge_pte_at(struct mm_struct *mm, unsigned long addr,
	if (!pte_present(*ptep) && pte_present(entry))
	if (!pte_present(*ptep) && pte_present(entry))
		mm->context.huge_pte_count++;
		mm->context.huge_pte_count++;


	addr &= HPAGE_MASK;
	for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) {
	for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) {
		set_pte_at(mm, addr, ptep, entry);
		set_pte_at(mm, addr, ptep, entry);
		ptep++;
		ptep++;
@@ -266,6 +267,8 @@ pte_t huge_ptep_get_and_clear(struct mm_struct *mm, unsigned long addr,
	if (pte_present(entry))
	if (pte_present(entry))
		mm->context.huge_pte_count--;
		mm->context.huge_pte_count--;


	addr &= HPAGE_MASK;

	for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) {
	for (i = 0; i < (1 << HUGETLB_PAGE_ORDER); i++) {
		pte_clear(mm, addr, ptep);
		pte_clear(mm, addr, ptep);
		addr += PAGE_SIZE;
		addr += PAGE_SIZE;