|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [Xen-users] kernel 3.9.2 - xen 4.2.2/4.3rc1 => BUG unable to handle kernel paging request netif_poll+0x49c/0xe8
>>> On 05.07.13 at 21:46, Dion Kant <g.w.kant@xxxxxxxxxx> wrote:
> After obtaining results with your patch
>
> 1285 static RING_IDX xennet_fill_frags(struct netfront_info *np,
> 1286 struct sk_buff *skb,
> 1287 struct sk_buff_head *list)
> 1288 {
> 1289 struct skb_shared_info *shinfo = skb_shinfo(skb);
> 1290 int nr_frags = shinfo->nr_frags;
> 1291 RING_IDX cons = np->rx.rsp_cons;
> 1292 struct sk_buff *nskb;
> 1293
> 1294 while ((nskb = __skb_dequeue(list))) {
> 1295 struct netif_rx_response *rx =
> 1296 RING_GET_RESPONSE(&np->rx, ++cons);
> 1297
> 1298
> 1299 if (nr_frags == MAX_SKB_FRAGS) {
> 1300 unsigned int pull_to = NETFRONT_SKB_CB(skb)->pull_to;
> 1301
> 1302 BUG_ON(pull_to <= skb_headlen(skb));
> 1303 __pskb_pull_tail(skb, pull_to - skb_headlen(skb));
> 1304 nr_frags = shinfo->nr_frags;
> 1305 }
> 1306 BUG_ON(nr_frags >= MAX_SKB_FRAGS);
> 1307
> 1308 __skb_fill_page_desc(skb, nr_frags,
> 1309 skb_frag_page(skb_shinfo(nskb)->frags),
> 1310 rx->offset, rx->status);
>
> Can I conclude that nr_frags == MAX_SKB_FRAGS, pull_to <=
> skb_headlen(skb) and the panic happens before the next BUG_ON is reached ?
Yes, exactly. And Wei pointed at an issue with the patch, so I'll
have to see whether that might be an explanation for the crash
you observed.
Jan
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |