There is a segmentation fault in update_page_info() when the requested page is not loaded, handle->cpu_data[cpu].page is NULL. The problematic flow starts from tracecmd_read_at() API, when reading offset in the first page (less than 4K), and this page is still not loaded yet. The problem can be observed randomly - there is a sporadic KernelShark crash when loading a file, browsing and zooming events. https://bugzilla.kernel.org/show_bug.cgi?id=205165 Signed-off-by: Tzvetomir Stoyanov (VMware) <tz.stoyanov@xxxxxxxxx> --- lib/trace-cmd/trace-input.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/trace-cmd/trace-input.c b/lib/trace-cmd/trace-input.c index 6102eb3..da77418 100644 --- a/lib/trace-cmd/trace-input.c +++ b/lib/trace-cmd/trace-input.c @@ -1278,7 +1278,8 @@ tracecmd_read_at(struct tracecmd_input *handle, unsigned long long offset, /* check to see if we have this page already */ for (cpu = 0; cpu < handle->cpus; cpu++) { if (handle->cpu_data[cpu].offset == page_offset && - handle->cpu_data[cpu].file_size) + handle->cpu_data[cpu].file_size && + handle->cpu_data[cpu].page) break; } -- 2.21.0