On Fri, 2012-05-18 at 18:10 +0800, Jason Wang wrote:The difference between first frags and others is other frags might notOn Thu, 2012-05-17 at 10:59 +0800, Jason Wang wrote:firstDidn't see how this affact skb->len. And for truesize, I think theyWhat I meant that the code for skb->truesize has double added the
are
different, when the offset were not zero, the data in this vector
were
divided into two parts. First part is copied into skb directly, and
the
second were pinned from a whole userspace page by
get_user_pages_fast(),
so we need count the whole page to the socket limit to prevent evil
application.
offset if any left from that vector (partically copied into skb(truesize +=
directly, and then count pagesize which includes the offset
PAGE_SIZE)).Yes, I get you mean. There's no difference between first frag and
others: it's also possible for other frags that didn't occupy the
whole
page. Since we pin the whole user page, better to count the whole
page
size to prevent evil application.
occupy the whole page, but the first frags extra offset was doubled
added in skb truesize.
So it's ok for skb->truesize to be bigger than all the skb pinned pages
here?
Thanks
Shirley
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html