From: Chuck Lever cache_initialize() was introduced by commit 8eab945c5616 ("sunrpc: make the cache cleaner workqueue deferrable", 2010) and placed in the public include/linux/sunrpc/cache.h from the start, but it has never been EXPORT_SYMBOL_GPL'd. The only caller, init_sunrpc() in net/sunrpc/sunrpc_syms.c, is built into the same module that defines the function, so external modules could not link against the symbol even if they tried. The public declaration has been a stale-public hygiene leak ever since. Relocate the declaration to net/sunrpc/sunrpc.h alongside other sunrpc-internal helpers and include that header from net/sunrpc/cache.c so the compiler enforces prototype consistency at the definition site. The public include/linux/sunrpc/cache.h now reflects the actual external API surface. No functional change. Assisted-by: Claude:claude-opus-4-7[1m] Signed-off-by: Chuck Lever --- include/linux/sunrpc/cache.h | 1 - net/sunrpc/cache.c | 1 + net/sunrpc/sunrpc.h | 1 + 3 files changed, 2 insertions(+), 1 deletion(-) diff --git a/include/linux/sunrpc/cache.h b/include/linux/sunrpc/cache.h index 2735c332ddb7..83c88dc82e69 100644 --- a/include/linux/sunrpc/cache.h +++ b/include/linux/sunrpc/cache.h @@ -237,7 +237,6 @@ extern int cache_check(struct cache_detail *detail, extern void cache_flush(void); extern void cache_purge(struct cache_detail *detail); #define NEVER (0x7FFFFFFF) -extern void __init cache_initialize(void); extern int cache_register_net(struct cache_detail *cd, struct net *net); extern void cache_unregister_net(struct cache_detail *cd, struct net *net); diff --git a/net/sunrpc/cache.c b/net/sunrpc/cache.c index 391037f15292..488a14961b19 100644 --- a/net/sunrpc/cache.c +++ b/net/sunrpc/cache.c @@ -39,6 +39,7 @@ #include "netns.h" #include "netlink.h" #include "fail.h" +#include "sunrpc.h" #define RPCDBG_FACILITY RPCDBG_CACHE diff --git a/net/sunrpc/sunrpc.h b/net/sunrpc/sunrpc.h index e3c6e3b63f0b..7fa35ee8f9a4 100644 --- a/net/sunrpc/sunrpc.h +++ b/net/sunrpc/sunrpc.h @@ -41,6 +41,7 @@ struct svc_rqst; int rpc_clients_notifier_register(void); void rpc_clients_notifier_unregister(void); void auth_domain_cleanup(void); +void __init cache_initialize(void); void svc_sock_update_bufs(struct svc_serv *serv); enum svc_auth_status svc_authenticate(struct svc_rqst *rqstp); #endif /* _NET_SUNRPC_SUNRPC_H */ -- 2.53.0