On Mon, Oct 1, 2018 at 7:31 AM, Jann Horn <jannh@xxxxxxxxxx> wrote: > commit 5dd0b16cdaff ("mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED > available even on UP") made the availability of the NR_TLB_REMOTE_FLUSH* > counters inside the kernel unconditional to reduce #ifdef soup, but > (either to avoid showing dummy zero counters to userspace, or because that > code was missed) didn't update the vmstat_array, meaning that all following > counters would be shown with incorrect values. > > This only affects kernel builds with > CONFIG_VM_EVENT_COUNTERS=y && CONFIG_DEBUG_TLBFLUSH=y && CONFIG_SMP=n. > > Fixes: 5dd0b16cdaff ("mm/vmstat: Make NR_TLB_REMOTE_FLUSH_RECEIVED available even on UP") > Cc: stable@xxxxxxxxxxxxxxx > Signed-off-by: Jann Horn <jannh@xxxxxxxxxx> Reviewed-by: Kees Cook <keescook@xxxxxxxxxxxx> -Kees > --- > mm/vmstat.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/mm/vmstat.c b/mm/vmstat.c > index 4cea7b8f519d..7878da76abf2 100644 > --- a/mm/vmstat.c > +++ b/mm/vmstat.c > @@ -1275,6 +1275,9 @@ const char * const vmstat_text[] = { > #ifdef CONFIG_SMP > "nr_tlb_remote_flush", > "nr_tlb_remote_flush_received", > +#else > + "", /* nr_tlb_remote_flush */ > + "", /* nr_tlb_remote_flush_received */ > #endif /* CONFIG_SMP */ > "nr_tlb_local_flush_all", > "nr_tlb_local_flush_one", > -- > 2.19.0.605.g01d371f741-goog > -- Kees Cook Pixel Security