]> git.proxmox.com Git - mirror_ubuntu-jammy-kernel.git/blobdiff - net/dccp/ipv4.c
net: Convert protocol error handlers from void to int
[mirror_ubuntu-jammy-kernel.git] / net / dccp / ipv4.c
index 8e08cea6f17866b5fb1619f570de747c6a837cbd..26a21d97b6b078558b125134ebe326bf27dc08d6 100644 (file)
@@ -231,7 +231,7 @@ EXPORT_SYMBOL(dccp_req_err);
  * check at all. A more general error queue to queue errors for later handling
  * is probably better.
  */
-static void dccp_v4_err(struct sk_buff *skb, u32 info)
+static int dccp_v4_err(struct sk_buff *skb, u32 info)
 {
        const struct iphdr *iph = (struct iphdr *)skb->data;
        const u8 offset = iph->ihl << 2;
@@ -259,16 +259,18 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)
                                       inet_iif(skb), 0);
        if (!sk) {
                __ICMP_INC_STATS(net, ICMP_MIB_INERRORS);
-               return;
+               return -ENOENT;
        }
 
        if (sk->sk_state == DCCP_TIME_WAIT) {
                inet_twsk_put(inet_twsk(sk));
-               return;
+               return 0;
        }
        seq = dccp_hdr_seq(dh);
-       if (sk->sk_state == DCCP_NEW_SYN_RECV)
-               return dccp_req_err(sk, seq);
+       if (sk->sk_state == DCCP_NEW_SYN_RECV) {
+               dccp_req_err(sk, seq);
+               return 0;
+       }
 
        bh_lock_sock(sk);
        /* If too many ICMPs get dropped on busy
@@ -357,6 +359,7 @@ static void dccp_v4_err(struct sk_buff *skb, u32 info)
 out:
        bh_unlock_sock(sk);
        sock_put(sk);
+       return 0;
 }
 
 static inline __sum16 dccp_v4_csum_finish(struct sk_buff *skb,