From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id E8396ECAAA1 for ; Tue, 1 Nov 2022 13:14:09 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230176AbiKANOI (ORCPT ); Tue, 1 Nov 2022 09:14:08 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47674 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229841AbiKANOH (ORCPT ); Tue, 1 Nov 2022 09:14:07 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [IPv6:2604:1380:4641:c500::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5173D63A4; Tue, 1 Nov 2022 06:14:06 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by dfw.source.kernel.org (Postfix) with ESMTPS id DFCE560B08; Tue, 1 Nov 2022 13:14:05 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 8FE1BC433D6; Tue, 1 Nov 2022 13:14:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1667308445; bh=HdynqWV3zJNf8wdpTZitVUjqPw4u0VHzGnPqRvKGnUQ=; h=From:To:Cc:Subject:Date:From; b=rCHiuN2j57z89+8MVaN1hHdTlBE/bmvPjcB3strnvvklfUWxRM8IEn7BIusFozlso fudevNRSh2d/IoNPnePTiaEEDG6jAFw0UUUbboC60c4hQdY28btkbzTNad62DVhCja wza6p4y9+047PTpA8qRoMKWIuTAST3ctw6V9R6KoZO6oUCgEf236TQHy6lrKM5Zsag afgps7gF67A62waXTnJfznUGlFalWtiqiVU8Ps7t12nSCvf94N1SwudHgqhCc9cca0 Ssyev8f0uu66j7SN676ruZNJfForqolgXbWUR5M/9CnJrJdfrUSO13s4yLDniBkJI3 vjPXU/fJPMzmA== From: "Masami Hiramatsu (Google)" To: Arnaldo Carvalho de Melo Cc: Peter Zijlstra , Ingo Molnar , Mark Rutland , Alexander Shishkin , Jiri Olsa , Namhyung Kim , linux-perf-users@vger.kernel.org, linux-kernel@vger.kernel.org, Masami Hiramatsu , Steven Rostedt Subject: [PATCH 0/3] tools/perf: Fix perf probe crash by broken DWARF file Date: Tue, 1 Nov 2022 22:14:01 +0900 Message-Id: <166730844138.2095228.4225918836201778608.stgit@devnote3> X-Mailer: git-send-email 2.38.1.273.g43a17bfeac-goog User-Agent: StGit/0.19 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-perf-users@vger.kernel.org Hi, Here is a series of patches for perf probe which improves the robustness against broken DWARF file. Since the Clang generates the out of standard DWARF5 file, the perf probe crashes or failed to analyze it. There are actually fragile code against it, so I fixed it ([1/3]) to avoid crash by SEGV. And make it accepts Clang's DWARF5 file ([2/3],[3/3]). Without this series, the perf probe crashes with the DWARF5 file which generated by clang as below; $ ./perf probe -k $BIN_PATH/vmlinux -s $SRC_PATH -L vfs_read:10 Segmentation fault This series fixes it to handle such file correctly; $ ./perf probe -k $BIN_PATH/vmlinux -s $SRC_PATH -L vfs_read:10 11 ret = rw_verify_area(READ, file, pos, count); 12 if (ret) return ret; This issue is reported on LLVM ML; https://www.mail-archive.com/dwarf-discuss@lists.dwarfstd.org/msg00884.html Thank you, --- Masami Hiramatsu (Google) (3): tools/perf: Fix to avoid crashing with a broken DWARF file tools/perf: Fix to use dwarf_attr_integrate for generic attr accessor tools/perf: Fix to get declared file name from broken DWARF5 tools/perf/util/dwarf-aux.c | 58 ++++++++++++++++++++++++++++------------ tools/perf/util/dwarf-aux.h | 3 ++ tools/perf/util/probe-finder.c | 37 +++++++++++++++++--------- 3 files changed, 68 insertions(+), 30 deletions(-) -- Masami Hiramatsu (Google)