]> git.hungrycats.org Git - linux/commitdiff
[IPV6] put appropriate checksum for rawv6 sockets even if it was not initialized.
authorHideaki Yoshifuji <yoshfuji@linux-ipv6.org>
Fri, 21 May 2004 03:33:44 +0000 (12:33 +0900)
committerHideaki Yoshifuji <yoshfuji@linux-ipv6.org>
Fri, 21 May 2004 03:33:44 +0000 (12:33 +0900)
net/ipv6/raw.c

index ccc4c719c04acb4f48c7e392830e994e656f937a..24b72752a41f556cd53ba34976b0b819386d7bd3 100644 (file)
@@ -481,6 +481,10 @@ static int rawv6_push_pending_frames(struct sock *sk, struct flowi *fl, struct r
                }
        }
 
+       /* in case cksum was not initialized */
+       if (unlikely(*csum))
+               tmp_csum = csum_sub(tmp_csum, *csum);
+
        *csum = csum_ipv6_magic(&fl->fl6_src,
                                &fl->fl6_dst,
                                len, fl->proto, tmp_csum);