summaryrefslogtreecommitdiffstats
path: root/main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch
diff options
context:
space:
mode:
Diffstat (limited to 'main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch')
-rw-r--r--main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch47
1 files changed, 0 insertions, 47 deletions
diff --git a/main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch b/main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch
deleted file mode 100644
index 1c7180195..000000000
--- a/main/linux-grsec/xsa39-pvops-0003-xen-netback-free-already-allocated-memory-on-failure.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From b6b1f17aa44acfe1024968bafb1d1fe7704a749a Mon Sep 17 00:00:00 2001
-From: Ian Campbell <ian.campbell@citrix.com>
-Date: Mon, 14 Jan 2013 12:51:22 +0000
-Subject: [PATCH 3/4] xen/netback: free already allocated memory on failure in xen_netbk_get_requests
-
-Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
----
- drivers/net/xen-netback/netback.c | 16 +++++++++++++++-
- 1 files changed, 15 insertions(+), 1 deletions(-)
-
-diff --git a/drivers/net/xen-netback/netback.c b/drivers/net/xen-netback/netback.c
-index 975241e..1a99288 100644
---- a/drivers/net/xen-netback/netback.c
-+++ b/drivers/net/xen-netback/netback.c
-@@ -978,7 +978,7 @@ static struct gnttab_copy *xen_netbk_get_requests(struct xen_netbk *netbk,
- pending_idx = netbk->pending_ring[index];
- page = xen_netbk_alloc_page(netbk, skb, pending_idx);
- if (!page)
-- return NULL;
-+ goto err;
-
- gop->source.u.ref = txp->gref;
- gop->source.domid = vif->domid;
-@@ -1000,6 +1000,20 @@ static struct gnttab_copy *xen_netbk_get_requests(struct xen_netbk *netbk,
- }
-
- return gop;
-+err:
-+ /*
-+ * Unwind, freeing all pages and sending error
-+ * reponses.
-+ */
-+ while (i-- > start) {
-+ xen_netbk_idx_release(netbk, frag_get_pending_idx(&frags[i]),
-+ XEN_NETIF_RSP_ERROR);
-+ }
-+ /* The head too, if necessary. */
-+ if (start)
-+ xen_netbk_idx_release(netbk, pending_idx, XEN_NETIF_RSP_ERROR);
-+
-+ return NULL;
- }
-
- static int xen_netbk_tx_check_gop(struct xen_netbk *netbk,
---
-1.7.2.5
-