Just a concern, allocating an skb in tcp_send_fin(), instead of using
gfp_mask as GFP_KERNEL, I think it should be sk->sk_allocation. Is there
any particular reason for using GFP_KERNEL? 

Here is the code:

    if (sk->sk_send_head != NULL) {
        TCP_SKB_CB(skb)->flags |= TCPCB_FLAG_FIN;
        TCP_SKB_CB(skb)->end_seq++;
        tp->write_seq++;
    } else {
        /* Socket is locked, keep trying until memory is available. */
        for (;;) {
>>>>        skb = alloc_skb(MAX_TCP_HEADER, GFP_KERNEL);
                                            ^^^^^^^^^^
            if (skb)
                break;
            yield();
        }

it should be:
        skb = alloc_skb(MAX_TCP_HEADER, sk->sk_allocation)
                                        ^^^^^^^^^^^^^^^^^  

thanks
-Rajneesh

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to