All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH net-next 1/2] net: add EXPORT_INDIRECT_CALLABLE wrapper
@ 2021-02-04 18:18 Brian Vazquez
  2021-02-04 18:18 ` [PATCH net-next 2/2] net: fix building errors on powerpc when CONFIG_RETPOLINE is not set Brian Vazquez
  2021-02-05  2:30 ` [PATCH net-next 1/2] net: add EXPORT_INDIRECT_CALLABLE wrapper patchwork-bot+netdevbpf
  0 siblings, 2 replies; 4+ messages in thread
From: Brian Vazquez @ 2021-02-04 18:18 UTC (permalink / raw)
  To: Brian Vazquez, Brian Vazquez, Eric Dumazet, David S . Miller
  Cc: linux-kernel, netdev, Stephen Rothwell

When a static function is annotated with INDIRECT_CALLABLE_SCOPE and
CONFIG_RETPOLINE is set, the static keyword is removed. Sometimes the
function needs to be exported but EXPORT_SYMBOL can't be used because if
CONFIG_RETPOLINE is not set, we will attempt to export a static symbol.

This patch introduces a new indirect call wrapper:
EXPORT_INDIRECT_CALLABLE. This basically does EXPORT_SYMBOL when
CONFIG_RETPOLINE is set, but does nothing when it's not.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Brian Vazquez <brianvv@google.com>
---
 include/linux/indirect_call_wrapper.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/indirect_call_wrapper.h b/include/linux/indirect_call_wrapper.h
index 54c02c84906a..a8345c8a613d 100644
--- a/include/linux/indirect_call_wrapper.h
+++ b/include/linux/indirect_call_wrapper.h
@@ -36,6 +36,7 @@
 
 #define INDIRECT_CALLABLE_DECLARE(f)	f
 #define INDIRECT_CALLABLE_SCOPE
+#define EXPORT_INDIRECT_CALLABLE(f)	EXPORT_SYMBOL(f)
 
 #else
 #define INDIRECT_CALL_1(f, f1, ...) f(__VA_ARGS__)
@@ -44,6 +45,7 @@
 #define INDIRECT_CALL_4(f, f4, f3, f2, f1, ...) f(__VA_ARGS__)
 #define INDIRECT_CALLABLE_DECLARE(f)
 #define INDIRECT_CALLABLE_SCOPE		static
+#define EXPORT_INDIRECT_CALLABLE(f)
 #endif
 
 /*
-- 
2.30.0.365.g02bc693789-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread
* [PATCH net-next 1/2] net: add EXPORT_INDIRECT_CALLABLE wrapper
@ 2021-02-04 17:19 Brian Vazquez
  2021-02-04 17:19 ` [PATCH net-next 2/2] net: fix building errors on powerpc when CONFIG_RETPOLINE is not set Brian Vazquez
  0 siblings, 1 reply; 4+ messages in thread
From: Brian Vazquez @ 2021-02-04 17:19 UTC (permalink / raw)
  To: Brian Vazquez, Brian Vazquez, Eric Dumazet, David S . Miller
  Cc: linux-kernel, netdev, Stephen Rothwell

When a static function is annotated with INDIRECT_CALLABLE_SCOPE and
CONFIG_RETPOLINE is set, the static keyword is removed. Sometimes the
function needs to be exported but EXPORT_SYMBOL can't be used because if
CONFIG_RETPOLINE is not set, we will attempt to export a static symbol.

This patch introduces a new indirect call wrapper:
EXPORT_INDIRECT_CALLABLE. This basically does EXPORT_SYMBOL when
CONFIG_RETPOLINE is set, but does nothing when it's not.

Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Brian Vazquez <brianvv@google.com>
---
 include/linux/indirect_call_wrapper.h | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/include/linux/indirect_call_wrapper.h b/include/linux/indirect_call_wrapper.h
index 54c02c84906a..a8345c8a613d 100644
--- a/include/linux/indirect_call_wrapper.h
+++ b/include/linux/indirect_call_wrapper.h
@@ -36,6 +36,7 @@
 
 #define INDIRECT_CALLABLE_DECLARE(f)	f
 #define INDIRECT_CALLABLE_SCOPE
+#define EXPORT_INDIRECT_CALLABLE(f)	EXPORT_SYMBOL(f)
 
 #else
 #define INDIRECT_CALL_1(f, f1, ...) f(__VA_ARGS__)
@@ -44,6 +45,7 @@
 #define INDIRECT_CALL_4(f, f4, f3, f2, f1, ...) f(__VA_ARGS__)
 #define INDIRECT_CALLABLE_DECLARE(f)
 #define INDIRECT_CALLABLE_SCOPE		static
+#define EXPORT_INDIRECT_CALLABLE(f)
 #endif
 
 /*
-- 
2.30.0.365.g02bc693789-goog


^ permalink raw reply related	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-02-05  2:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-02-04 18:18 [PATCH net-next 1/2] net: add EXPORT_INDIRECT_CALLABLE wrapper Brian Vazquez
2021-02-04 18:18 ` [PATCH net-next 2/2] net: fix building errors on powerpc when CONFIG_RETPOLINE is not set Brian Vazquez
2021-02-05  2:30 ` [PATCH net-next 1/2] net: add EXPORT_INDIRECT_CALLABLE wrapper patchwork-bot+netdevbpf
  -- strict thread matches above, loose matches on Subject: below --
2021-02-04 17:19 Brian Vazquez
2021-02-04 17:19 ` [PATCH net-next 2/2] net: fix building errors on powerpc when CONFIG_RETPOLINE is not set Brian Vazquez

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.