From patchwork Wed Apr 27 21:03:41 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jiri Olsa X-Patchwork-Id: 12829540 X-Patchwork-Delegate: bpf@iogearbox.net 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 42B35C433EF for ; Wed, 27 Apr 2022 21:04:07 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236763AbiD0VHR (ORCPT ); Wed, 27 Apr 2022 17:07:17 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48072 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233639AbiD0VHQ (ORCPT ); Wed, 27 Apr 2022 17:07:16 -0400 Received: from dfw.source.kernel.org (dfw.source.kernel.org [139.178.84.217]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id AD1ECBF43; Wed, 27 Apr 2022 14:04:02 -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 468C461D94; Wed, 27 Apr 2022 21:04:02 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 867E6C385A9; Wed, 27 Apr 2022 21:03:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1651093441; bh=syZvsfkXqWjSBvMqPMOPO0J8VKUuLeAVtPJLh94JYZo=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=ks5R5o4rby5MKu2lFnaXpPgnj3to+HEWAZHDiKBD4OIbHi7tKvaS7RVYc412pRSm8 /FXTBnXDCJbZMoxpSAsK2fxcqQR7HTlOVOELVHtJe/a7pzJRrLf8UEUHbClE9guWYf j5BbGjDfQ/ANf6QD0z8xkBdPmy4gc2MrWGlP82TOtqkbcCLmwriPy9dnwP8UuoJYPC kW5wQPl3a8nW8+YsP/ykndZU5PkFPgSjgZQVM69E+MFUedCTA0j9yEOeFmmidButBo 2IN6a+Ok+L0oMtLvGoJ14+BAq+LM5ry0XJLz35JaqK8x7N49JIP0AYAdtsZ3S4InoI DCmSbNfOcNSLQ== From: Jiri Olsa To: Alexei Starovoitov , Daniel Borkmann , Andrii Nakryiko , Masami Hiramatsu Cc: Christoph Hellwig , netdev@vger.kernel.org, bpf@vger.kernel.org, lkml , Martin KaFai Lau , Song Liu , Yonghong Song , John Fastabend , KP Singh , Steven Rostedt Subject: [PATCHv3 bpf-next 1/5] kallsyms: Fully export kallsyms_on_each_symbol function Date: Wed, 27 Apr 2022 23:03:41 +0200 Message-Id: <20220427210345.455611-2-jolsa@kernel.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220427210345.455611-1-jolsa@kernel.org> References: <20220427210345.455611-1-jolsa@kernel.org> MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: bpf@iogearbox.net Fully exporting kallsyms_on_each_symbol function, so it can be used in following changes. Rather than adding another ifdef option let's export the function completely (when CONFIG_KALLSYMS option is defined). Cc: Christoph Hellwig Signed-off-by: Jiri Olsa --- include/linux/kallsyms.h | 5 +++++ kernel/kallsyms.c | 2 -- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/include/linux/kallsyms.h b/include/linux/kallsyms.h index ce1bd2fbf23e..d423f3cffa6d 100644 --- a/include/linux/kallsyms.h +++ b/include/linux/kallsyms.h @@ -163,6 +163,11 @@ static inline bool kallsyms_show_value(const struct cred *cred) return false; } +static inline int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, unsigned long), + void *data) +{ + return -EOPNOTSUPP; +} #endif /*CONFIG_KALLSYMS*/ static inline void print_ip_sym(const char *loglvl, unsigned long ip) diff --git a/kernel/kallsyms.c b/kernel/kallsyms.c index 79f2eb617a62..fdfd308bebc4 100644 --- a/kernel/kallsyms.c +++ b/kernel/kallsyms.c @@ -228,7 +228,6 @@ unsigned long kallsyms_lookup_name(const char *name) return module_kallsyms_lookup_name(name); } -#ifdef CONFIG_LIVEPATCH /* * Iterate over all symbols in vmlinux. For symbols from modules use * module_kallsyms_on_each_symbol instead. @@ -251,7 +250,6 @@ int kallsyms_on_each_symbol(int (*fn)(void *, const char *, struct module *, } return 0; } -#endif /* CONFIG_LIVEPATCH */ static unsigned long get_symbol_pos(unsigned long addr, unsigned long *symbolsize,