search for: netbk_fatal_tx_err

Displaying 4 results from an estimated 4 matches for "netbk_fatal_tx_err".

2013 Feb 06
0
[PATCH 1/4] xen/netback: shutdown the ring if it contains garbage.
...0); diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c index f2d6b78..1a449f9 100644 --- a/drivers/net/xen-netback/netback.c +++ b/drivers/net/xen-netback/netback.c @@ -888,6 +888,13 @@ static void netbk_tx_err(struct xenvif *vif, xenvif_put(vif); } +static void netbk_fatal_tx_err(struct xenvif *vif) +{ + netdev_err(vif->dev, "fatal error; disabling device\n"); + xenvif_carrier_off(vif); + xenvif_put(vif); +} + static int netbk_count_requests(struct xenvif *vif, struct xen_netif_tx_request *first, struct xen_netif_tx_request *txp, @@ -901,19 +908,22 @...
2013 Feb 01
45
netback Oops then xenwatch stuck in D state
We''ve been hitting the following issue on a variety of hosts and recent Xen/dom0 version combinations. Here''s an excerpt from our latest: Xen: 4.1.4 (xenbits @ 23432) Dom0: 3.7.1-x86_64 BUG: unable to handle kernel NULL pointer dereference at 000000000000001c IP: [<ffffffff8141a301>] evtchn_from_irq+0x11/0x40 PGD 0 Oops: 0000 [#1] SMP Modules linked in: ebt_comment
2013 Feb 28
3
Questions about XSA39
Hi Xen developers, I had some questions regarding XSA39, and I hope you all can answer them. We''ve been rolling out some hosts with the XSA39 patch applied and have come across a problem where a few of our customer DomUs keep hitting the conditions which call netbk_fatal_tx_err(), mostly "Frag is bigger than frame." These specific DomUs hit it repeatedly, between once every few hours to every few days, and the customers say that they''re sending legitimate traffic (which I''m inclined to believe is true). If the XSA39 protection is this easy to...
2013 Apr 30
6
[PATCH net-next 2/2] xen-netback: avoid allocating variable size array on stack
...age = (txp->offset + txp->size) > PAGE_SIZE; + else + cross_page = (dropped_tx.offset + dropped_tx.size) > PAGE_SIZE; + + if (unlikely(cross_page)) { netdev_err(vif->dev, "Cross page boundary, txp->offset: %x, size: %u\n", txp->offset, txp->size); netbk_fatal_tx_err(vif); return -EINVAL; } - } while ((txp++)->flags & XEN_NETTXF_more_data); + + keep_looping = (!drop_err && (txp++)->flags & XEN_NETTXF_more_data) || + (dropped_tx.flags & XEN_NETTXF_more_data); + } while (keep_looping); if (drop_err) { netbk_tx_err(vif, f...