diff options
author | Marcelo Ricardo Leitner <marcelo.leitner@gmail.com> | 2016-12-28 09:26:33 -0200 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2016-12-28 14:06:31 -0500 |
commit | 0630c56e40b0bcca299d3b4c20ffcfddbe6a0218 (patch) | |
tree | e64b6bbd854d3f08b948572bf44b7932caf82e6a /net/sctp/ipv6.c | |
parent | 1ff0156167dfb625c2e82aefded6b4cf245476ce (diff) | |
download | linux-0630c56e40b0bcca299d3b4c20ffcfddbe6a0218.tar.gz linux-0630c56e40b0bcca299d3b4c20ffcfddbe6a0218.tar.bz2 linux-0630c56e40b0bcca299d3b4c20ffcfddbe6a0218.zip |
sctp: simplify addr copy
Make it a bit easier to read.
Signed-off-by: Marcelo Ricardo Leitner <marcelo.leitner@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp/ipv6.c')
-rw-r--r-- | net/sctp/ipv6.c | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/net/sctp/ipv6.c b/net/sctp/ipv6.c index 5ed8e79bf102..6619367bb6ca 100644 --- a/net/sctp/ipv6.c +++ b/net/sctp/ipv6.c @@ -412,22 +412,20 @@ static void sctp_v6_copy_addrlist(struct list_head *addrlist, static void sctp_v6_from_skb(union sctp_addr *addr, struct sk_buff *skb, int is_saddr) { - __be16 *port; - struct sctphdr *sh; + /* Always called on head skb, so this is safe */ + struct sctphdr *sh = sctp_hdr(skb); + struct sockaddr_in6 *sa = &addr->v6; - port = &addr->v6.sin6_port; addr->v6.sin6_family = AF_INET6; addr->v6.sin6_flowinfo = 0; /* FIXME */ addr->v6.sin6_scope_id = ((struct inet6_skb_parm *)skb->cb)->iif; - /* Always called on head skb, so this is safe */ - sh = sctp_hdr(skb); if (is_saddr) { - *port = sh->source; - addr->v6.sin6_addr = ipv6_hdr(skb)->saddr; + sa->sin6_port = sh->source; + sa->sin6_addr = ipv6_hdr(skb)->saddr; } else { - *port = sh->dest; - addr->v6.sin6_addr = ipv6_hdr(skb)->daddr; + sa->sin6_port = sh->dest; + sa->sin6_addr = ipv6_hdr(skb)->daddr; } } |