return;
 
        if (tcp_write_xmit(sk, cur_mss, nonagle, 0,
-                          sk_gfp_atomic(sk, GFP_ATOMIC)))
+                          sk_gfp_mask(sk, GFP_ATOMIC)))
                tcp_check_probe_timer(sk);
 }
 
         * tcp_transmit_skb() will set the ownership to this
         * sock.
         */
-       buff = alloc_skb(MAX_TCP_HEADER, sk_gfp_atomic(sk, GFP_ATOMIC));
-       if (!buff) {
+       buff = alloc_skb(MAX_TCP_HEADER,
+                        sk_gfp_mask(sk, GFP_ATOMIC | __GFP_NOWARN));
+       if (unlikely(!buff)) {
                inet_csk_schedule_ack(sk);
                inet_csk(sk)->icsk_ack.ato = TCP_ATO_MIN;
                inet_csk_reset_xmit_timer(sk, ICSK_TIME_DACK,
 
        /* Send it off, this clears delayed acks for us. */
        skb_mstamp_get(&buff->skb_mstamp);
-       tcp_transmit_skb(sk, buff, 0, sk_gfp_atomic(sk, GFP_ATOMIC));
+       tcp_transmit_skb(sk, buff, 0, (__force gfp_t)0);
 }
 EXPORT_SYMBOL_GPL(tcp_send_ack);
 
        struct sk_buff *skb;
 
        /* We don't queue it, tcp_transmit_skb() sets ownership. */
-       skb = alloc_skb(MAX_TCP_HEADER, sk_gfp_atomic(sk, GFP_ATOMIC));
+       skb = alloc_skb(MAX_TCP_HEADER,
+                       sk_gfp_mask(sk, GFP_ATOMIC | __GFP_NOWARN));
        if (!skb)
                return -1;
 
        tcp_init_nondata_skb(skb, tp->snd_una - !urgent, TCPHDR_ACK);
        skb_mstamp_get(&skb->skb_mstamp);
        NET_INC_STATS(sock_net(sk), mib);
-       return tcp_transmit_skb(sk, skb, 0, GFP_ATOMIC);
+       return tcp_transmit_skb(sk, skb, 0, (__force gfp_t)0);
 }
 
 void tcp_send_window_probe(struct sock *sk)
 
                 */
                tcp_md5_do_add(newsk, (union tcp_md5_addr *)&newsk->sk_v6_daddr,
                               AF_INET6, key->key, key->keylen,
-                              sk_gfp_atomic(sk, GFP_ATOMIC));
+                              sk_gfp_mask(sk, GFP_ATOMIC));
        }
 #endif
 
                /* Clone pktoptions received with SYN, if we own the req */
                if (ireq->pktopts) {
                        newnp->pktoptions = skb_clone(ireq->pktopts,
-                                                     sk_gfp_atomic(sk, GFP_ATOMIC));
+                                                     sk_gfp_mask(sk, GFP_ATOMIC));
                        consume_skb(ireq->pktopts);
                        ireq->pktopts = NULL;
                        if (newnp->pktoptions)
                                               --ANK (980728)
         */
        if (np->rxopt.all)
-               opt_skb = skb_clone(skb, sk_gfp_atomic(sk, GFP_ATOMIC));
+               opt_skb = skb_clone(skb, sk_gfp_mask(sk, GFP_ATOMIC));
 
        if (sk->sk_state == TCP_ESTABLISHED) { /* Fast path */
                struct dst_entry *dst = sk->sk_rx_dst;