From patchwork Tue Aug 24 21:30:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Matthias_M=C3=A4nnich?= X-Patchwork-Id: 44790 Return-Path: X-Original-To: patchwork@sourceware.org Delivered-To: patchwork@sourceware.org Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id A44EC3855008 for ; Tue, 24 Aug 2021 21:31:39 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A44EC3855008 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1629840699; bh=yIpgKwlwszPbx3Bkfn0huhAyUBdoOyIW7enxkFx4M4I=; h=Date:Subject:To:List-Id:List-Unsubscribe:List-Archive:List-Help: List-Subscribe:From:Reply-To:Cc:From; b=hKFH33RLDdMTgaIY8mmTKuyCoJUz4WwrvRfdUVU8Ez+YvBd06m0UVlv2WN3iWobQX mIqX0UX7zkFNU+VHIDgr7OUjc48/gpJ15KZDhUiByym4SCtRJhfjrkc2H6wRfh+LWa +SAIQesG4hkxgl2apH61IQT+1wPUVVOuCJn5xHpI= X-Original-To: libabigail@sourceware.org Delivered-To: libabigail@sourceware.org Received: from mail-qk1-x74a.google.com (mail-qk1-x74a.google.com [IPv6:2607:f8b0:4864:20::74a]) by sourceware.org (Postfix) with ESMTPS id 8D44A3858018 for ; Tue, 24 Aug 2021 21:30:47 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 8D44A3858018 Received: by mail-qk1-x74a.google.com with SMTP id s206-20020a3745d70000b02903b9207abc7bso15300443qka.4 for ; Tue, 24 Aug 2021 14:30:47 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:message-id:mime-version:subject:from:to:cc; bh=yIpgKwlwszPbx3Bkfn0huhAyUBdoOyIW7enxkFx4M4I=; b=PFRPC5m+kwB527UEvFb4rjeQ2lXGSKTJzZTe+hosDkimIyNxAUXeWTfn393BaSEnVE B+LOXgsNd21d2l2o5CQNKdnblYEQVtE/MNBH6F4+tWANkeu5RY5YHNQ+ChlSQSD1duXF ahI9m+jmVmVXQsH9AAMOPkbf/gBe7lfvwTaA9Gom4eaFXK30tRyqyAxCFVSVWb5loGit eym7TyL7HopDMaQL9cR1fxm75Jh+GItVz0P7cRWOxqKOGCQwNgyI4GbpoGWjrTiFvFiA jEJggRgM6PVUowGz+s9MSo4/6In3YeOhBgo3kTQjciq4wecNSvCdQWIyOaO4xRuU4bB9 EG9w== X-Gm-Message-State: AOAM530OZ+XjWY6Q4Za5uFjlFtgMQJZEUJA+uZ2yAi758gNNiVWPMP9I cAr4H29NjoUnG1hso97FVXML2xE9honsAF/JP+vpqtmOlmd3Xv6217TTZeFc3kV/OvoKwthNHVC vCRmzzoxpnssm3/C63Y0+w2PaCzibbUY1uzUHyMvila7K/rUf+/U8M1NXuwSxODnLznqAa4Y= X-Google-Smtp-Source: ABdhPJwpZADqbaLEBRZkhy5GLaoHlDtW0lL4awurPRTR57mk3+HWGZW/cOBIsyYRKL2hxgkdYMrVPzblZY8aLw== X-Received: from lux.lon.corp.google.com ([2a00:79e0:d:210:3c69:9c45:b829:8cc7]) (user=maennich job=sendgmr) by 2002:a05:6214:768:: with SMTP id f8mr41603639qvz.32.1629840647086; Tue, 24 Aug 2021 14:30:47 -0700 (PDT) Date: Tue, 24 Aug 2021 22:30:12 +0100 Message-Id: <20210824213012.2486940-1-maennich@google.com> Mime-Version: 1.0 X-Mailer: git-send-email 2.33.0.rc2.250.ged5fa647cd-goog Subject: [PATCH] tools-utils: Do not skip symbolic links when analyzing a linux tree To: libabigail@sourceware.org X-Spam-Status: No, score=-22.4 required=5.0 tests=BAYES_00, DKIMWL_WL_MED, DKIM_SIGNED, DKIM_VALID, DKIM_VALID_AU, DKIM_VALID_EF, GIT_PATCH_0, RCVD_IN_DNSWL_NONE, SPF_HELO_NONE, SPF_PASS, TXREP, USER_IN_DEF_DKIM_WL autolearn=ham autolearn_force=no version=3.4.4 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on server2.sourceware.org X-BeenThere: libabigail@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Mailing list of the Libabigail project List-Unsubscribe: , List-Archive: List-Help: List-Subscribe: , X-Patchwork-Original-From: Matthias Maennich via Libabigail From: =?utf-8?q?Matthias_M=C3=A4nnich?= Reply-To: Matthias Maennich Cc: maennich@google.com, kernel-team@android.com Errors-To: libabigail-bounces+patchwork=sourceware.org@sourceware.org Sender: "Libabigail" For various reasons, (parts of) a linux kernel tree containing vmlinux and kernel modules might be organized using symbolic links. One reason is that those binaries physically reside on a different storage and are linked into place. To support such scenarios by allowing to traverse symbolic links when discovering linux kernel binaries. I could not see a reason why this was disabled in the first place. Ignoring symbolic links had been the default since the inception of the kernel mode. Hence, allow valid symbolic links and that is what this patch does. * src/abg-tools-utils.cc (find_vmlinux_and_module_paths): Do not skip valid symbolic links. Signed-off-by: Matthias Maennich --- src/abg-tools-utils.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/abg-tools-utils.cc b/src/abg-tools-utils.cc index 2fb20c6e9e2c..cc9a23ea3497 100644 --- a/src/abg-tools-utils.cc +++ b/src/abg-tools-utils.cc @@ -2298,8 +2298,8 @@ find_vmlinux_and_module_paths(const string& from, FTSENT *entry; while ((entry = fts_read(file_hierarchy))) { - // Skip descendents of symbolic links. - if (entry->fts_info == FTS_SL || entry->fts_info == FTS_SLNONE) + // Skip descendents of dead symbolic links. + if (entry->fts_info == FTS_SLNONE) { fts_set(file_hierarchy, entry, FTS_SKIP); continue;