[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: David S. Miller <davem@davemloft.net>
This commit is contained in:
David S. Miller 2006-03-27 01:07:55 -08:00
parent 5d5d7727a8
commit 7bebd83dbf

View File

@ -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