Loading net/dccp/ipv4.c +2 −0 Original line number Diff line number Diff line Loading @@ -463,6 +463,7 @@ static int dccp_v4_send_response(struct sock *sk, struct request_sock *req, if (skb != NULL) { const struct inet_request_sock *ireq = inet_rsk(req); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_build_and_send_pkt(skb, sk, ireq->loc_addr, ireq->rmt_addr, ireq->opt); Loading Loading @@ -647,6 +648,7 @@ int dccp_v4_send_reset(struct sock *sk, enum dccp_reset_codes code) if (skb != NULL) { const struct inet_sock *inet = inet_sk(sk); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_build_and_send_pkt(skb, sk, inet->saddr, inet->daddr, NULL); if (err == NET_XMIT_CN) Loading net/dccp/output.c +5 −5 Original line number Diff line number Diff line Loading @@ -62,10 +62,8 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) skb->h.raw = skb_push(skb, dccp_header_size); dh = dccp_hdr(skb); /* * Data packets are not cloned as they are never retransmitted */ if (skb_cloned(skb)) if (!skb->sk) skb_set_owner_w(skb, sk); /* Build DCCP header and checksum it. */ Loading Loading @@ -102,6 +100,7 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) DCCP_INC_STATS(DCCP_MIB_OUTSEGS); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_queue_xmit(skb, 0); if (err <= 0) return err; Loading Loading @@ -243,7 +242,8 @@ int dccp_write_xmit(struct sock *sk, struct sk_buff *skb, long *timeo) err = dccp_transmit_skb(sk, skb); ccid_hc_tx_packet_sent(dp->dccps_hc_tx_ccid, sk, 0, len); } } else kfree_skb(skb); return err; } Loading net/dccp/proto.c +0 −2 Original line number Diff line number Diff line Loading @@ -402,8 +402,6 @@ int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, * This bug was _quickly_ found & fixed by just looking at an OSTRA * generated callgraph 8) -acme */ if (rc != 0) goto out_discard; out_release: release_sock(sk); return rc ? : len; Loading net/ipv4/tcp_output.c +1 −11 Original line number Diff line number Diff line Loading @@ -435,17 +435,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss int nsize, old_factor; u16 flags; if (unlikely(len >= skb->len)) { if (net_ratelimit()) { printk(KERN_DEBUG "TCP: seg_size=%u, mss=%u, seq=%u, " "end_seq=%u, skb->len=%u.\n", len, mss_now, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq, skb->len); WARN_ON(1); } return 0; } BUG_ON(len > skb->len); nsize = skb_headlen(skb) - len; if (nsize < 0) nsize = 0; Loading Loading
net/dccp/ipv4.c +2 −0 Original line number Diff line number Diff line Loading @@ -463,6 +463,7 @@ static int dccp_v4_send_response(struct sock *sk, struct request_sock *req, if (skb != NULL) { const struct inet_request_sock *ireq = inet_rsk(req); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_build_and_send_pkt(skb, sk, ireq->loc_addr, ireq->rmt_addr, ireq->opt); Loading Loading @@ -647,6 +648,7 @@ int dccp_v4_send_reset(struct sock *sk, enum dccp_reset_codes code) if (skb != NULL) { const struct inet_sock *inet = inet_sk(sk); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_build_and_send_pkt(skb, sk, inet->saddr, inet->daddr, NULL); if (err == NET_XMIT_CN) Loading
net/dccp/output.c +5 −5 Original line number Diff line number Diff line Loading @@ -62,10 +62,8 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) skb->h.raw = skb_push(skb, dccp_header_size); dh = dccp_hdr(skb); /* * Data packets are not cloned as they are never retransmitted */ if (skb_cloned(skb)) if (!skb->sk) skb_set_owner_w(skb, sk); /* Build DCCP header and checksum it. */ Loading Loading @@ -102,6 +100,7 @@ int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) DCCP_INC_STATS(DCCP_MIB_OUTSEGS); memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt)); err = ip_queue_xmit(skb, 0); if (err <= 0) return err; Loading Loading @@ -243,7 +242,8 @@ int dccp_write_xmit(struct sock *sk, struct sk_buff *skb, long *timeo) err = dccp_transmit_skb(sk, skb); ccid_hc_tx_packet_sent(dp->dccps_hc_tx_ccid, sk, 0, len); } } else kfree_skb(skb); return err; } Loading
net/dccp/proto.c +0 −2 Original line number Diff line number Diff line Loading @@ -402,8 +402,6 @@ int dccp_sendmsg(struct kiocb *iocb, struct sock *sk, struct msghdr *msg, * This bug was _quickly_ found & fixed by just looking at an OSTRA * generated callgraph 8) -acme */ if (rc != 0) goto out_discard; out_release: release_sock(sk); return rc ? : len; Loading
net/ipv4/tcp_output.c +1 −11 Original line number Diff line number Diff line Loading @@ -435,17 +435,7 @@ int tcp_fragment(struct sock *sk, struct sk_buff *skb, u32 len, unsigned int mss int nsize, old_factor; u16 flags; if (unlikely(len >= skb->len)) { if (net_ratelimit()) { printk(KERN_DEBUG "TCP: seg_size=%u, mss=%u, seq=%u, " "end_seq=%u, skb->len=%u.\n", len, mss_now, TCP_SKB_CB(skb)->seq, TCP_SKB_CB(skb)->end_seq, skb->len); WARN_ON(1); } return 0; } BUG_ON(len > skb->len); nsize = skb_headlen(skb) - len; if (nsize < 0) nsize = 0; Loading