forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
app-emulation/qemu: version bump to 2.10.0, bug #629350
This version bump also addresses a number of security issues CVE-2017-12809, bug #628498 CVE-2017-13673, bug #629316 CVE-2017-13711, bug #629350 Package-Manager: Portage-2.3.6, Repoman-2.3.3
- Loading branch information
Showing
3 changed files
with
862 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
DIST qemu-2.10.0.tar.bz2 30955656 SHA256 7e9f39e1306e6dcc595494e91c1464d4b03f55ddd2053183e0e1b69f7f776d48 SHA512 ea21c014030f8a902df159641e6ccb45f0850ac5cb1cb8ab6845124c44ea5def54845e7bc66a6e80d624c78069f9baa913ee5119704076ae4ff47ab018ace9f9 WHIRLPOOL 58f846788fdf2b0c90e6d17ce921a1fe02556968d38ffc11be7e32b81ebc723dfeaa790f22d8085d4f388eb01fe0daa3ddbc00630c5ecba083df33cc9709fb39 | ||
DIST qemu-2.9.0.tar.bz2 28720490 SHA256 00bfb217b1bb03c7a6c3261b819cfccbfb5a58e3e2ceff546327d271773c6c14 SHA512 4b28966eec0ca44681e35fcfb64a4eaef7c280b8d65c91d03f2efa37f76278fd8c1680e5798c7a30dbfcc8f3c05f4a803f48b8a2dfec3a4181bac079b2a5e422 WHIRLPOOL d79fe89eb271a56aee0cbd328e5f96999176b711afb5683d164b7b99d91e6dd2bfaf6e2ff4cd820a941c94f28116765cb07ffd5809d75c2f9654a67d56bfc0c1 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,80 @@ | ||
From 1201d308519f1e915866d7583d5136d03cc1d384 Mon Sep 17 00:00:00 2001 | ||
From: Samuel Thibault <[email protected]> | ||
Date: Fri, 25 Aug 2017 01:35:53 +0200 | ||
Subject: [PATCH] slirp: fix clearing ifq_so from pending packets | ||
MIME-Version: 1.0 | ||
Content-Type: text/plain; charset=UTF-8 | ||
Content-Transfer-Encoding: 8bit | ||
|
||
The if_fastq and if_batchq contain not only packets, but queues of packets | ||
for the same socket. When sofree frees a socket, it thus has to clear ifq_so | ||
from all the packets from the queues, not only the first. | ||
|
||
Signed-off-by: Samuel Thibault <[email protected]> | ||
Reviewed-by: Philippe Mathieu-Daudé <[email protected]> | ||
Cc: [email protected] | ||
Signed-off-by: Peter Maydell <[email protected]> | ||
--- | ||
slirp/socket.c | 39 +++++++++++++++++++++++---------------- | ||
1 file changed, 23 insertions(+), 16 deletions(-) | ||
|
||
diff --git a/slirp/socket.c b/slirp/socket.c | ||
index ecec0295a9..cb7b5b608d 100644 | ||
--- a/slirp/socket.c | ||
+++ b/slirp/socket.c | ||
@@ -60,29 +60,36 @@ socreate(Slirp *slirp) | ||
} | ||
|
||
/* | ||
+ * Remove references to so from the given message queue. | ||
+ */ | ||
+static void | ||
+soqfree(struct socket *so, struct quehead *qh) | ||
+{ | ||
+ struct mbuf *ifq; | ||
+ | ||
+ for (ifq = (struct mbuf *) qh->qh_link; | ||
+ (struct quehead *) ifq != qh; | ||
+ ifq = ifq->ifq_next) { | ||
+ if (ifq->ifq_so == so) { | ||
+ struct mbuf *ifm; | ||
+ ifq->ifq_so = NULL; | ||
+ for (ifm = ifq->ifs_next; ifm != ifq; ifm = ifm->ifs_next) { | ||
+ ifm->ifq_so = NULL; | ||
+ } | ||
+ } | ||
+ } | ||
+} | ||
+ | ||
+/* | ||
* remque and free a socket, clobber cache | ||
*/ | ||
void | ||
sofree(struct socket *so) | ||
{ | ||
Slirp *slirp = so->slirp; | ||
- struct mbuf *ifm; | ||
|
||
- for (ifm = (struct mbuf *) slirp->if_fastq.qh_link; | ||
- (struct quehead *) ifm != &slirp->if_fastq; | ||
- ifm = ifm->ifq_next) { | ||
- if (ifm->ifq_so == so) { | ||
- ifm->ifq_so = NULL; | ||
- } | ||
- } | ||
- | ||
- for (ifm = (struct mbuf *) slirp->if_batchq.qh_link; | ||
- (struct quehead *) ifm != &slirp->if_batchq; | ||
- ifm = ifm->ifq_next) { | ||
- if (ifm->ifq_so == so) { | ||
- ifm->ifq_so = NULL; | ||
- } | ||
- } | ||
+ soqfree(so, &slirp->if_fastq); | ||
+ soqfree(so, &slirp->if_batchq); | ||
|
||
if (so->so_emu==EMU_RSH && so->extra) { | ||
sofree(so->extra); | ||
-- | ||
2.13.5 | ||
|
Oops, something went wrong.