Re: [PATCH] net: socket: add missing declaration for update_socket_protocol

From: Kuniyuki Iwashima

Date: Sat Nov 22 2025 - 00:45:06 EST


On Fri, Nov 21, 2025 at 9:11 PM Chia-Liang Wang <wjliang627@xxxxxxxxx> wrote:
>
> When building with C=1, sparse reports the following warning:
>
> net/socket.c:1735:21: warning: symbol 'update_socket_protocol' was not declared. Should it be static?
>
> The function update_socket_protocol() is defined as __weak, intended
> to be overwritten by architecture-specific implementations. Therefore,
> it cannot be static.
>
> Add a declaration in include/net/sock.h to fix this sparse warning.

Sparse just doesn't understand the context.

The function is wrapped with __bpf_hook_start() that
should suppress the real warning by compilers.


>
> Signed-off-by: Chia-Liang Wang <a0979625527@xxxxxxxxxx>
> ---
> include/net/sock.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/include/net/sock.h b/include/net/sock.h
> index 60bcb13f045c..2081b6599edc 100644
> --- a/include/net/sock.h
> +++ b/include/net/sock.h
> @@ -3103,4 +3103,6 @@ static inline bool sk_is_readable(struct sock *sk)
>
> return false;
> }
> +
> +int update_socket_protocol(int family, int type, int protocol);
> #endif /* _SOCK_H */
> --
> 2.43.0
>