From nobody Sun Sep 14 22:48:29 2025 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 53259C6FA82 for ; Tue, 13 Sep 2022 15:11:15 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235473AbiIMPLN (ORCPT ); Tue, 13 Sep 2022 11:11:13 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:60930 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235800AbiIMPJY (ORCPT ); Tue, 13 Sep 2022 11:09:24 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2AEC877544; Tue, 13 Sep 2022 07:32: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 ams.source.kernel.org (Postfix) with ESMTPS id 5D623B80EF8; Tue, 13 Sep 2022 14:21:27 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id C027FC433C1; Tue, 13 Sep 2022 14:21:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1663078886; bh=DCbveamGbgtaYN1SY5j/jewkUNGShxwvdYSd92uBLLE=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=mBk7lqiScNrAMFE6LQQAeko8Ff2m7+tJhI9mdR8njL94i9aq1Ci/l8SrwCyVsVOmK sF/Ly2vnN2TZa/J9C/pYpBwBIsHd8jbhpSBSQiqgDZM88hGq/C3QZ2rAifGfXh+z+o zur6UB9Di1qL8m94D5MtzwZOmbHbtUed3H85qXaw= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Adrian Hunter , Ian Rogers , Jiri Olsa , Namhyung Kim , Arnaldo Carvalho de Melo , Jisheng Zhang Subject: [PATCH 5.15 120/121] perf machine: Use path__join() to compose a path instead of snprintf(dir, /, filename) Date: Tue, 13 Sep 2022 16:05:11 +0200 Message-Id: <20220913140402.519862310@linuxfoundation.org> X-Mailer: git-send-email 2.37.3 In-Reply-To: <20220913140357.323297659@linuxfoundation.org> References: <20220913140357.323297659@linuxfoundation.org> User-Agent: quilt/0.67 MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Arnaldo Carvalho de Melo commit 9d5f0c36438eeae7566ca383b2b673179e3cc613 upstream. Its more intention revealing, and if we're interested in the odd cases where this may end up truncating we can do debug checks at one centralized place. Motivation, of all the container builds, fedora rawhide started complaining of: util/machine.c: In function =E2=80=98machine__create_modules=E2=80=99: util/machine.c:1419:50: error: =E2=80=98%s=E2=80=99 directive output may = be truncated writing up to 255 bytes into a region of size between 0 and 40= 95 [-Werror=3Dformat-truncation=3D] 1419 | snprintf(path, sizeof(path), "%s/%s", dir_name, d= ent->d_name); | ^~ In file included from /usr/include/stdio.h:894, from util/branch.h:9, from util/callchain.h:8, from util/machine.c:7: In function =E2=80=98snprintf=E2=80=99, inlined from =E2=80=98maps__set_modules_path_dir=E2=80=99 at util/mac= hine.c:1419:3, inlined from =E2=80=98machine__set_modules_path=E2=80=99 at util/mach= ine.c:1473:9, inlined from =E2=80=98machine__create_modules=E2=80=99 at util/machin= e.c:1519:7: /usr/include/bits/stdio2.h:71:10: note: =E2=80=98__builtin___snprintf_chk= =E2=80=99 output between 2 and 4352 bytes into a destination of size 4096 There are other places where we should use path__join(), but lets get rid of this one first. Cc: Adrian Hunter Cc: Ian Rogers Cc: Jiri Olsa Cc: Namhyung Kim Acked-by: Ian Rogers Link: Link: https://lore.kernel.org/r/YebZKjwgfdOz0lAs@kernel.org Signed-off-by: Arnaldo Carvalho de Melo Signed-off-by: Jisheng Zhang Signed-off-by: Greg Kroah-Hartman --- tools/perf/util/machine.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/tools/perf/util/machine.c +++ b/tools/perf/util/machine.c @@ -16,6 +16,7 @@ #include "map_symbol.h" #include "branch.h" #include "mem-events.h" +#include "path.h" #include "srcline.h" #include "symbol.h" #include "sort.h" @@ -1407,7 +1408,7 @@ static int maps__set_modules_path_dir(st struct stat st; =20 /*sshfs might return bad dent->d_type, so we have to stat*/ - snprintf(path, sizeof(path), "%s/%s", dir_name, dent->d_name); + path__join(path, sizeof(path), dir_name, dent->d_name); if (stat(path, &st)) continue; =20