From: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> We calculate nr_pages with f->flush_end and f->flush_start, both of which are virtual addresses. However, we only divide f->flush_start by PAGE_SIZE, and missed f->flush_end. This patch adds some parenthesis to catch f->flush_end as well. nr_pages is only used for a trace point. This should not have any functional impact other than keeping the trace point from spitting out garbage for the flush length. Signed-off-by: Dave Hansen <dave.hansen@xxxxxxxxxxxxxxx> Cc: stable@xxxxxxxxxxxxxxx --- b/arch/x86/mm/tlb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff -puN arch/x86/mm/tlb.c~x86-tlb-fix-tracepoint-data arch/x86/mm/tlb.c --- a/arch/x86/mm/tlb.c~x86-tlb-fix-tracepoint-data 2014-12-08 10:58:22.245782512 -0800 +++ b/arch/x86/mm/tlb.c 2014-12-08 10:58:22.248782647 -0800 @@ -129,7 +129,7 @@ static void flush_tlb_func(void *info) } else { unsigned long addr; unsigned long nr_pages = - f->flush_end - f->flush_start / PAGE_SIZE; + (f->flush_end - f->flush_start) / PAGE_SIZE; addr = f->flush_start; while (addr < f->flush_end) { __flush_tlb_single(addr); _ -- To unsubscribe from this list: send the line "unsubscribe stable" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html