From: Adrian Hunter Date: Mon, 24 Jun 2024 20:10:58 +0000 (+0300) Subject: perf: Fix perf_aux_size() for greater-than 32-bit size X-Git-Tag: io_uring-6.11-20240722~76^2~32 X-Git-Url: https://git.kernel.dk/?a=commitdiff_plain;h=3df94a5b1078dfe2b0c03f027d018800faf44c82;p=linux-block.git perf: Fix perf_aux_size() for greater-than 32-bit size perf_buffer->aux_nr_pages uses a 32-bit type, so a cast is needed to calculate a 64-bit size. Fixes: 45bfb2e50471 ("perf: Add AUX area to ring buffer for raw data streams") Signed-off-by: Adrian Hunter Signed-off-by: Peter Zijlstra (Intel) Link: https://lore.kernel.org/r/20240624201101.60186-5-adrian.hunter@intel.com --- diff --git a/kernel/events/internal.h b/kernel/events/internal.h index 5150d5f84c03..386d21c7edfa 100644 --- a/kernel/events/internal.h +++ b/kernel/events/internal.h @@ -128,7 +128,7 @@ static inline unsigned long perf_data_size(struct perf_buffer *rb) static inline unsigned long perf_aux_size(struct perf_buffer *rb) { - return rb->aux_nr_pages << PAGE_SHIFT; + return (unsigned long)rb->aux_nr_pages << PAGE_SHIFT; } #define __DEFINE_OUTPUT_COPY_BODY(advance_buf, memcpy_func, ...) \