diff mbox series

netfilter: bridge: initialize err to 0

Message ID 20231101032018.10616-1-xiaolinkui@kylinos.cn
State Accepted
Headers show
Series netfilter: bridge: initialize err to 0 | expand

Commit Message

xiaolinkui Nov. 1, 2023, 3:20 a.m. UTC
From: Linkui Xiao <xiaolinkui@kylinos.cn>

K2CI reported a problem:

	consume_skb(skb);
	return err;
[nf_br_ip_fragment() error]  uninitialized symbol 'err'.

err is not initialized, because returning 0 is expected, initialize err
to 0.

Reported-by: k2ci <kernel-bot@kylinos.cn>
Signed-off-by: Linkui Xiao <xiaolinkui@kylinos.cn>
---
 net/bridge/netfilter/nf_conntrack_bridge.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Nikolay Aleksandrov Nov. 1, 2023, 11:32 a.m. UTC | #1
On 11/1/23 05:20, xiaolinkui wrote:
> From: Linkui Xiao <xiaolinkui@kylinos.cn>
> 
> K2CI reported a problem:
> 
> 	consume_skb(skb);
> 	return err;
> [nf_br_ip_fragment() error]  uninitialized symbol 'err'.
> 
> err is not initialized, because returning 0 is expected, initialize err
> to 0.
> 
> Reported-by: k2ci <kernel-bot@kylinos.cn>
> Signed-off-by: Linkui Xiao <xiaolinkui@kylinos.cn>
> ---
>   net/bridge/netfilter/nf_conntrack_bridge.c | 2 +-
>   1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/net/bridge/netfilter/nf_conntrack_bridge.c b/net/bridge/netfilter/nf_conntrack_bridge.c
> index 71056ee84773..0fcf357ea7ad 100644
> --- a/net/bridge/netfilter/nf_conntrack_bridge.c
> +++ b/net/bridge/netfilter/nf_conntrack_bridge.c
> @@ -37,7 +37,7 @@ static int nf_br_ip_fragment(struct net *net, struct sock *sk,
>   	ktime_t tstamp = skb->tstamp;
>   	struct ip_frag_state state;
>   	struct iphdr *iph;
> -	int err;
> +	int err = 0;
>   
>   	/* for offloaded checksums cleanup checksum before fragmentation */
>   	if (skb->ip_summed == CHECKSUM_PARTIAL &&

The patch looks good, but needs a Fixes: tag. It's also not easy to say
if err can remain uninitialized, I think in theory (and maybe with a
specially crafted skb) it can be.
diff mbox series

Patch

diff --git a/net/bridge/netfilter/nf_conntrack_bridge.c b/net/bridge/netfilter/nf_conntrack_bridge.c
index 71056ee84773..0fcf357ea7ad 100644
--- a/net/bridge/netfilter/nf_conntrack_bridge.c
+++ b/net/bridge/netfilter/nf_conntrack_bridge.c
@@ -37,7 +37,7 @@  static int nf_br_ip_fragment(struct net *net, struct sock *sk,
 	ktime_t tstamp = skb->tstamp;
 	struct ip_frag_state state;
 	struct iphdr *iph;
-	int err;
+	int err = 0;
 
 	/* for offloaded checksums cleanup checksum before fragmentation */
 	if (skb->ip_summed == CHECKSUM_PARTIAL &&