perf: fix stack data leak
[firefly-linux-kernel-4.4.55.git] / kernel / perf_counter.c
index d55a50da2347f5c2177d3fd5cb0f7db28a7ff71b..7bc888dfd06ab890c2a55c9b3211f0785146e678 100644 (file)
@@ -2020,7 +2020,7 @@ fail:
 
 static void perf_mmap_free_page(unsigned long addr)
 {
-       struct page *page = virt_to_page(addr);
+       struct page *page = virt_to_page((void *)addr);
 
        page->mapping = NULL;
        __free_page(page);
@@ -2665,6 +2665,7 @@ static void perf_counter_output(struct perf_counter *counter, int nmi,
                header.size += sizeof(cpu_entry);
 
                cpu_entry.cpu = raw_smp_processor_id();
+               cpu_entry.reserved = 0;
        }
 
        if (sample_type & PERF_SAMPLE_PERIOD)