From effd809b088b4282b4c3711ef21e398269321fdd Mon Sep 17 00:00:00 2001 From: Herbert Xu Date: Sun, 30 Oct 2005 11:20:59 +1100 Subject: [PATCH] --- yaml --- r: 12115 b: refs/heads/master c: edc9e81917157d1e73bf081d4fbcad7c34d32783 h: refs/heads/master i: 12113: bd999cf24cacc9d31f033c01133692b93a838e5b 12111: 9ca2f02b659ccdc85a1cfb7a2a29b9830171d6f4 v: v3 --- [refs] | 2 +- trunk/net/dccp/output.c | 17 +++++++++++------ 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/[refs] b/[refs] index add6454ab714..6da9454cd97d 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 48918a4dbd6c599d6af30bd64cb355fadca708eb +refs/heads/master: edc9e81917157d1e73bf081d4fbcad7c34d32783 diff --git a/trunk/net/dccp/output.c b/trunk/net/dccp/output.c index c25b0423887a..74ff87025878 100644 --- a/trunk/net/dccp/output.c +++ b/trunk/net/dccp/output.c @@ -58,10 +58,21 @@ static int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) switch (dcb->dccpd_type) { case DCCP_PKT_DATA: set_ack = 0; + /* fall through */ + case DCCP_PKT_DATAACK: break; + case DCCP_PKT_SYNC: case DCCP_PKT_SYNCACK: ackno = dcb->dccpd_seq; + /* fall through */ + default: + /* + * Only data packets should come through with skb->sk + * set. + */ + WARN_ON(skb->sk); + skb_set_owner_w(skb, sk); break; } @@ -71,12 +82,6 @@ static int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb) skb->h.raw = skb_push(skb, dccp_header_size); dh = dccp_hdr(skb); - /* - * Only data packets should come through with skb->sk set. - */ - if (!skb->sk) - skb_set_owner_w(skb, sk); - /* Build DCCP header and checksum it. */ memset(dh, 0, dccp_header_size); dh->dccph_type = dcb->dccpd_type;