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