forked from luck/tmp_suning_uos_patched
[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:
parent
5d5d7727a8
commit
7bebd83dbf
|
@ -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
|
||||||
|
|
Loading…
Reference in New Issue
Block a user