diff options
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index 221224e72507..c66b90f71c9b 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -1299,7 +1299,8 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1299 | /* Clone pktoptions received with SYN */ | 1299 | /* Clone pktoptions received with SYN */ |
1300 | newnp->pktoptions = NULL; | 1300 | newnp->pktoptions = NULL; |
1301 | if (treq->pktopts != NULL) { | 1301 | if (treq->pktopts != NULL) { |
1302 | newnp->pktoptions = skb_clone(treq->pktopts, GFP_ATOMIC); | 1302 | newnp->pktoptions = skb_clone(treq->pktopts, |
1303 | sk_gfp_atomic(sk, GFP_ATOMIC)); | ||
1303 | consume_skb(treq->pktopts); | 1304 | consume_skb(treq->pktopts); |
1304 | treq->pktopts = NULL; | 1305 | treq->pktopts = NULL; |
1305 | if (newnp->pktoptions) | 1306 | if (newnp->pktoptions) |
@@ -1349,7 +1350,8 @@ static struct sock * tcp_v6_syn_recv_sock(struct sock *sk, struct sk_buff *skb, | |||
1349 | * across. Shucks. | 1350 | * across. Shucks. |
1350 | */ | 1351 | */ |
1351 | tcp_md5_do_add(newsk, (union tcp_md5_addr *)&newnp->daddr, | 1352 | tcp_md5_do_add(newsk, (union tcp_md5_addr *)&newnp->daddr, |
1352 | AF_INET6, key->key, key->keylen, GFP_ATOMIC); | 1353 | AF_INET6, key->key, key->keylen, |
1354 | sk_gfp_atomic(sk, GFP_ATOMIC)); | ||
1353 | } | 1355 | } |
1354 | #endif | 1356 | #endif |
1355 | 1357 | ||
@@ -1442,7 +1444,7 @@ static int tcp_v6_do_rcv(struct sock *sk, struct sk_buff *skb) | |||
1442 | --ANK (980728) | 1444 | --ANK (980728) |
1443 | */ | 1445 | */ |
1444 | if (np->rxopt.all) | 1446 | if (np->rxopt.all) |
1445 | opt_skb = skb_clone(skb, GFP_ATOMIC); | 1447 | opt_skb = skb_clone(skb, sk_gfp_atomic(sk, GFP_ATOMIC)); |
1446 | 1448 | ||
1447 | if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ | 1449 | if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */ |
1448 | sock_rps_save_rxhash(sk, skb); | 1450 | sock_rps_save_rxhash(sk, skb); |
@@ -2015,7 +2017,7 @@ struct proto tcpv6_prot = { | |||
2015 | .compat_setsockopt = compat_tcp_setsockopt, | 2017 | .compat_setsockopt = compat_tcp_setsockopt, |
2016 | .compat_getsockopt = compat_tcp_getsockopt, | 2018 | .compat_getsockopt = compat_tcp_getsockopt, |
2017 | #endif | 2019 | #endif |
2018 | #ifdef CONFIG_CGROUP_MEM_RES_CTLR_KMEM | 2020 | #ifdef CONFIG_MEMCG_KMEM |
2019 | .proto_cgroup = tcp_proto_cgroup, | 2021 | .proto_cgroup = tcp_proto_cgroup, |
2020 | #endif | 2022 | #endif |
2021 | }; | 2023 | }; |