From patchwork Sat Nov 23 13:33:37 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 13883868 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1284566A; Sat, 23 Nov 2024 13:33:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; cv=none; b=oXWNsbSmTUAiE1EvKsmbS0fKJvYzimlDNUOK7u18nGW1OhM2sD7ySsCskpFsWTzZ9iOrAsLgZ0e2fBcbUMLDk0AusaSvP+fRbnqWn7g8KslPk5QFiRA/ghX9rynpFA7BlXBnU+GS90Y6Ih6efV5JdQYhiLU5YDabSheIfNT7vik= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; c=relaxed/simple; bh=c6CdDGMpfwLEdjJ2eCMkd1FUqsRSkbiB2A1jKRSH2R0=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YJCkZZyJAjzTfxEsuOuYKn+cu2yOVJ2+Cg1N3slkaU7fWak3O6I9lsaR54mQgUs1KQM6aKlDETuQneG6evu6dMbYBKDFxYTdFl62k1yYg7tEOGmSL455FKYeFtWgt6ETArOriCzdjPp74KumC0178N+lFB2KJgDJHSzNJKtCQtI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=G+1EnYnP; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="G+1EnYnP" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1732368822; bh=c6CdDGMpfwLEdjJ2eCMkd1FUqsRSkbiB2A1jKRSH2R0=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=G+1EnYnP3Wvn/a4GhQ/bIL6JW6Sje4DBg+z/58yTceYS3vIUcNc1c/4ZRDXni9W+B jNfzv4xmfcsNJcrPmElsrdQuUNXwLn0hATH+gyzDyv4FWWL22xdzc3T+fZS1EptR9t +8NcbdlzGmJ6lHnAqqkcnnjCEpzC79PJldePy6d0= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Sat, 23 Nov 2024 14:33:37 +0100 Subject: [PATCH 1/3] kbuild: add dependency from vmlinux to resolve_btfids Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241123-resolve_btfids-v1-1-927700b641d1@weissschuh.net> References: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> In-Reply-To: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> To: Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1732368820; l=909; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=c6CdDGMpfwLEdjJ2eCMkd1FUqsRSkbiB2A1jKRSH2R0=; b=CrIzTkeL7ZmqLczaKpIoJ60WdaDLhaFzDtFg5Lu3jJ7df/Ynj6jOHRyWKqMwNBE00uKC/Ray7 tJ9W426ko4xCnkfQkPmpcjG69itJainyqwfO7PhORkaALNUwsEX8WpH X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= resolve_btfids is used by link-vmlinux.sh. In contrast to other configuration options and targets no transitive dependency between resolve_btfids and vmlinux. Add an explicit one. Signed-off-by: Thomas Weißschuh --- scripts/Makefile.vmlinux | 3 +++ 1 file changed, 3 insertions(+) diff --git a/scripts/Makefile.vmlinux b/scripts/Makefile.vmlinux index 1284f05555b97f726c6d167a09f6b92f20e120a2..599b486adb31cfb653e54707b7d77052d372b7c1 100644 --- a/scripts/Makefile.vmlinux +++ b/scripts/Makefile.vmlinux @@ -32,6 +32,9 @@ cmd_link_vmlinux = \ targets += vmlinux vmlinux: scripts/link-vmlinux.sh vmlinux.o $(KBUILD_LDS) FORCE +$(call if_changed_dep,link_vmlinux) +ifdef CONFIG_DEBUG_INFO_BTF +vmlinux: $(RESOLVE_BTFIDS) +endif # module.builtin.ranges # --------------------------------------------------------------------------- From patchwork Sat Nov 23 13:33:38 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 13883866 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 231EC195; Sat, 23 Nov 2024 13:33:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; cv=none; b=b7FaYjDBvAHBX6jY8a5P05a+FajfN1rMXXVHfM/aisa0o9BAnKwVUzWlxRakd92O54v6gz2xiAJeyjXTKuoe+mP05GMZE4owtkM6KMtQ447A5uz0ibxw9wSqJFIK3/N44jbU3SG3wHcV0KwWUprFStbclBjYlbovvLnDobdEE38= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; c=relaxed/simple; bh=b2w80aj/337drIii2E6x6QjQqcUkYdT/ByK0kIRLqXE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dqHa2xGdTEYDJQ5cVyp7ZqwwEzI4a4MaD1dphY6BVn5Lck2cQit3Du++fdqFsyeior+gtVh9XT6x9q5gux29rQocY+4p6h238j70w/wzbRSz80xu2PYpy4UD8l4gcLOXVEE/yTx0uefsh0YxI4InndbLSrNpX3MMB5psyvFCmq0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=Oq9aIHEk; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="Oq9aIHEk" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1732368822; bh=b2w80aj/337drIii2E6x6QjQqcUkYdT/ByK0kIRLqXE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Oq9aIHEktYwMJqjdQSAInSwjkc/qEgdDS+PFYTXNpNUL1Oei0x6N/kMmO7kvL9JBP gUBhFVsGHoVjjR3N98darrrj3nTZnktHQ96DOucH6lz5FJ34kztgVq+DFHlnCjH1I4 FyAT74Yf9GQD4np3nBgXVC3hC7zfQk0EKuzPHy04= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Sat, 23 Nov 2024 14:33:38 +0100 Subject: [PATCH 2/3] tools/resolve_btfids: Add --fatal-warnings option Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241123-resolve_btfids-v1-2-927700b641d1@weissschuh.net> References: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> In-Reply-To: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> To: Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1732368820; l=2182; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=b2w80aj/337drIii2E6x6QjQqcUkYdT/ByK0kIRLqXE=; b=G0B/rmQnA2tpKvxmlrof8LTfU+EcPwyPnajMu4SUpWefSNYVbb8eTcZKdcbmR/BmI9L2Kr1kJ +YCDtia4zbAD0mG7LFGVg+I8LiVPCZMoLMjMl0Hs0GzHAIl6PjfLCuD X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Currently warnings emitted by resolve_btfids are buried in the build log and are slipping into mainline frequently. Add an option to elevate warnings to hard errors so the CI bots can catch any new warnings. Signed-off-by: Thomas Weißschuh --- tools/bpf/resolve_btfids/main.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/tools/bpf/resolve_btfids/main.c b/tools/bpf/resolve_btfids/main.c index bd9f960bce3d5b74dc34159b35af1e0b33524d2d..a6ffd6b5fc3ebe9e0983556bfb178642a1c6639d 100644 --- a/tools/bpf/resolve_btfids/main.c +++ b/tools/bpf/resolve_btfids/main.c @@ -141,6 +141,7 @@ struct object { }; static int verbose; +static int warnings; static int eprintf(int level, int var, const char *fmt, ...) { @@ -604,6 +605,7 @@ static int symbols_resolve(struct object *obj) if (id->id) { pr_info("WARN: multiple IDs found for '%s': %d, %d - using %d\n", str, id->id, type_id, id->id); + warnings++; } else { id->id = type_id; (*nr)--; @@ -625,8 +627,10 @@ static int id_patch(struct object *obj, struct btf_id *id) int i; /* For set, set8, id->id may be 0 */ - if (!id->id && !id->is_set && !id->is_set8) + if (!id->id && !id->is_set && !id->is_set8) { pr_err("WARN: resolve_btfids: unresolved symbol %s\n", id->name); + warnings++; + } for (i = 0; i < id->addr_cnt; i++) { unsigned long addr = id->addr[i]; @@ -782,9 +786,12 @@ int main(int argc, const char **argv) .funcs = RB_ROOT, .sets = RB_ROOT, }; + int fatal_warnings; struct option btfid_options[] = { OPT_INCR('v', "verbose", &verbose, "be more verbose (show errors, etc)"), + OPT_INCR(0, "fatal-warnings", &fatal_warnings, + "turn warnings into errors"), OPT_STRING(0, "btf", &obj.btf, "BTF data", "BTF data"), OPT_STRING('b', "btf_base", &obj.base_btf_path, "file", @@ -823,7 +830,8 @@ int main(int argc, const char **argv) if (symbols_patch(&obj)) goto out; - err = 0; + if (!(fatal_warnings && warnings)) + err = 0; out: if (obj.efile.elf) { elf_end(obj.efile.elf); From patchwork Sat Nov 23 13:33:39 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Patchwork-Id: 13883867 Received: from todd.t-8ch.de (todd.t-8ch.de [159.69.126.157]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A12B5D530; Sat, 23 Nov 2024 13:33:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=159.69.126.157 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; cv=none; b=ZomkbxI0nUsEycqj3W81h8b5IZUugjaQO8RB9h55YJznVQG6GyOtZpW0nReaYUv6tSiKp65Uh0HzKZlYR1V7KcvWnjJn/UY8nhF5M2ugEEUqSALpynNvSN7fgWJemsehSzO5xD7njG55Z+dM5pzQtV7ZUEOA3ZzFCfPJfWcjZAM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732368827; c=relaxed/simple; bh=/06I1MoPIpkLkreP+KQguVn1tqSQj5oeCpTznnOHjbM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IdTKUUWkB3DfTad2ZuylTrNedh+qQYt2MQTAf0+FCoamcleOsXa8Xe9AERiPVJDAzbpsAVAwtjdzl75t253iwLqUYiW+2RUqQ7dghJGcbxW0USOAYbCts1KzpSDw3+otGe+ilvgic1iFGIRu1O0M5nJtpgJfPpKLfblLbVIzkc8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net; spf=pass smtp.mailfrom=weissschuh.net; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b=uFkttppJ; arc=none smtp.client-ip=159.69.126.157 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=quarantine dis=none) header.from=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=weissschuh.net Authentication-Results: smtp.subspace.kernel.org; dkim=pass (1024-bit key) header.d=weissschuh.net header.i=@weissschuh.net header.b="uFkttppJ" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=weissschuh.net; s=mail; t=1732368822; bh=/06I1MoPIpkLkreP+KQguVn1tqSQj5oeCpTznnOHjbM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=uFkttppJJwmvrOYW9H2Ach4pr6cGoGtG3/phWY/8ed+Yb1cUS3OIHYRhn4HDXS7FP RJRNEj8hfr7FrlpdjkjHozQlaVTPTq1c/YXKwZ6uMVsGigBkgKvJdpECpepgYDmGx6 TWtPI/QgDafJLjzNqkDWdAuNu4oAq3gguhqgAj7I= From: =?utf-8?q?Thomas_Wei=C3=9Fschuh?= Date: Sat, 23 Nov 2024 14:33:39 +0100 Subject: [PATCH 3/3] kbuild: propagate CONFIG_WERROR to resolve_btfids Precedence: bulk X-Mailing-List: linux-kbuild@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Message-Id: <20241123-resolve_btfids-v1-3-927700b641d1@weissschuh.net> References: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> In-Reply-To: <20241123-resolve_btfids-v1-0-927700b641d1@weissschuh.net> To: Masahiro Yamada , Nathan Chancellor , Nicolas Schier , Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Martin KaFai Lau , Eduard Zingerman , Song Liu , Yonghong Song , John Fastabend , KP Singh , Stanislav Fomichev , Hao Luo , Jiri Olsa Cc: linux-kbuild@vger.kernel.org, linux-kernel@vger.kernel.org, bpf@vger.kernel.org, =?utf-8?q?Thomas_Wei=C3=9Fschuh?= X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=ed25519-sha256; t=1732368820; l=888; i=linux@weissschuh.net; s=20221212; h=from:subject:message-id; bh=/06I1MoPIpkLkreP+KQguVn1tqSQj5oeCpTznnOHjbM=; b=/jYbuVCPM0A6oIljCDR4iF1HCMJnWdK2l0duNbTV74jCkkW0qfY3GRz3j7bO9rBomPgYzsrxf DYnks9cVXG7D04vUD+AbSYLD2CYvd1lXm2TEyKfP/BfukoAUV4V97Lc X-Developer-Key: i=linux@weissschuh.net; a=ed25519; pk=KcycQgFPX2wGR5azS7RhpBqedglOZVgRPfdFSPB1LNw= Use CONFIG_WERROR to also fail on warnings emitted by resolve_btfids. Allow the CI bots to prevent the introduction of new warnings. Signed-off-by: Thomas Weißschuh --- scripts/link-vmlinux.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/scripts/link-vmlinux.sh b/scripts/link-vmlinux.sh index a9b3f34a78d2cd4514e73a728f1a784eee891768..61f1f670291351a276221153146d66001eca556c 100755 --- a/scripts/link-vmlinux.sh +++ b/scripts/link-vmlinux.sh @@ -274,7 +274,11 @@ vmlinux_link vmlinux # fill in BTF IDs if is_enabled CONFIG_DEBUG_INFO_BTF; then info BTFIDS vmlinux - ${RESOLVE_BTFIDS} vmlinux + RESOLVE_BTFIDS_ARGS="" + if is_enabled CONFIG_WERROR; then + RESOLVE_BTFIDS_ARGS=" --fatal-warnings " + fi + ${RESOLVE_BTFIDS} ${RESOLVE_BTFIDS_ARGS} vmlinux fi mksysmap vmlinux System.map