Re: bug in 2.1.89 include/net/sock.h?

Bill Hawes (whawes@star.net)
Sun, 22 Mar 1998 19:15:59 -0500


Linus Torvalds wrote:

> > Outside of the ACK cases, the other bogus case as I mentioned is for
> > clones of real outgoing data packets, used for transmission, the SOCK
> > gets charged again for the entire data area when in reality only
> > sizeof(struct sk_buff) more memory is being tied up due to the clone.
>
> I think this is bogus. I have a strong memory of _not_ updating the socket
> counters at all for cloned skb's, exactly because that would have gotten
> the counts wrong. The thing used to set "skb->truesize" to zero for this
> reason.

But if you don't update the socket counters for cloned skb's, could you get a
situation where the counter appears to be back to zero, but there's still a
clone skb being processed? This could possibly lead to a socket being destroyed
to early, as the memory counters determine when to delay destruction.

So it seems that a clone skb should be counted for some non-zero amount, if not
the full data size.

Regards,
Bill

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu