[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] BUG in xennet_make_frags with paged skb data
On 07.11.2014 12:22, Eric Dumazet wrote: > On Fri, 2014-11-07 at 09:25 +0000, Zoltan Kiss wrote: > > Please do not top post. > >> Hi, >> >> AFAIK in this scenario your skb frag is wrong. The page pointer should >> point to the original compound page (not a member of it), and offset >> should be set accordingly. >> For example, if your compound page is 16K (4 page), then the page >> pointer should point to the first page, and if the data starts at the >> 3rd page, then offset should be >8K > > This is not accurate. > > This BUG_ON() is wrong. > > It should instead be : > > BUG_ON(len + offset > PAGE_SIZE<<compound_order(compound_head(page))); would that not have to be BUG_ON((page-compound_head(page)*PAGE_SIZE)+offset+len > PAGE_SIZE<<compound_order(compound_head(page))); since offset is adjusted to start from the tail page in that case. > > splice() code can generate such cases. > > Attachment:
signature.asc _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |