Commit 7bebd83d authored by David S. Miller's avatar David S. Miller

[SPARC64]: Fix off-by-1 error in TSB grow check.

The worst part about this bug is what it would cause
a hugepage TSB to be allocated for every address space
since "0 >= 0".
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 5d5d7727
...@@ -413,12 +413,12 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs) ...@@ -413,12 +413,12 @@ asmlinkage void __kprobes do_sparc64_fault(struct pt_regs *regs)
#ifdef CONFIG_HUGETLB_PAGE #ifdef CONFIG_HUGETLB_PAGE
mm_rss -= (mm->context.huge_pte_count * (HPAGE_SIZE / PAGE_SIZE)); mm_rss -= (mm->context.huge_pte_count * (HPAGE_SIZE / PAGE_SIZE));
#endif #endif
if (unlikely(mm_rss >= if (unlikely(mm_rss >
mm->context.tsb_block[MM_TSB_BASE].tsb_rss_limit)) mm->context.tsb_block[MM_TSB_BASE].tsb_rss_limit))
tsb_grow(mm, MM_TSB_BASE, mm_rss); tsb_grow(mm, MM_TSB_BASE, mm_rss);
#ifdef CONFIG_HUGETLB_PAGE #ifdef CONFIG_HUGETLB_PAGE
mm_rss = mm->context.huge_pte_count; mm_rss = mm->context.huge_pte_count;
if (unlikely(mm_rss >= if (unlikely(mm_rss >
mm->context.tsb_block[MM_TSB_HUGE].tsb_rss_limit)) mm->context.tsb_block[MM_TSB_HUGE].tsb_rss_limit))
tsb_grow(mm, MM_TSB_HUGE, mm_rss); tsb_grow(mm, MM_TSB_HUGE, mm_rss);
#endif #endif
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment