-----BEGIN PGP SIGNATURE-----

Version: GnuPG v1
 
 iQEcBAABAgAGBQJbIyitAAoJEO8Ells5jWIRQdEH/jPK2fYDsdh9p0eXRKEG8+3U
 BIwr3zilQ74U+DntKPaz6YioLbvdZitqxKh+UFLOvri7Fy8THqbvBRH0FkiXcKfh
 nvFA/7lOZ/P77R0Pa4oIAWsUA9LIEznwVhL9Z0MWuE/qh95XaQgj4QX+TorsHMU+
 mnAlkON7OlAvxXPqrZq6DRUGdZiKbHcX2wXHr6iMq7fIbdnmK6CcLvEmbTYP4SJV
 6JfAyKCXw+M/pq7eAYMYDvSv0aNRgU2dDoNS301VVnUTfim/I4aNfmjQyEFW7lbd
 lq1pspdVAjsOr78p4J9+VBCgiNqRxSXz2zN5eul3tJtv1jDQeMjB8cEYTVqHvMw=
 =LkfN
 -----END PGP SIGNATURE-----

Merge remote-tracking branch 'remotes/jasowang/tags/net-pull-request' into staging

# gpg: Signature made Fri 15 Jun 2018 03:47:09 BST
# gpg:                using RSA key EF04965B398D6211
# gpg: Good signature from "Jason Wang (Jason Wang on RedHat) <jasowang@redhat.com>"
# gpg: WARNING: This key is not certified with sufficiently trusted signatures!
# gpg:          It is not certain that the signature belongs to the owner.
# Primary key fingerprint: 215D 46F4 8246 689E C77F  3562 EF04 965B 398D 6211

* remotes/jasowang/tags/net-pull-request:
  vhost-user: delete net client if necessary
  e1000e: Do not auto-clear ICR bits which aren't set in EIAC
  net: Fix a potential segfault
  tap: set vhostfd passed from qemu cli to non-blocking

Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
This commit is contained in:
Peter Maydell 2018-06-15 11:41:44 +01:00
commit 91fe7a376a
4 changed files with 8 additions and 5 deletions

View File

@ -2022,10 +2022,6 @@ e1000e_msix_notify_one(E1000ECore *core, uint32_t cause, uint32_t int_cfg)
effective_eiac = core->mac[EIAC] & cause;
if (effective_eiac == E1000_ICR_OTHER) {
effective_eiac |= E1000_ICR_OTHER_CAUSES;
}
core->mac[ICR] &= ~effective_eiac;
if (!(core->mac[CTRL_EXT] & E1000_CTRL_EXT_IAME)) {

View File

@ -1093,7 +1093,9 @@ static int net_client_init(QemuOpts *opts, bool is_netdev, Error **errp)
int ret = -1;
Visitor *v = opts_visitor_new(opts);
if (is_netdev && is_help_option(qemu_opt_get(opts, "type"))) {
const char *type = qemu_opt_get(opts, "type");
if (is_netdev && type && is_help_option(type)) {
show_netdevs();
exit(0);
} else {

View File

@ -40,6 +40,7 @@
#include "qemu-common.h"
#include "qemu/cutils.h"
#include "qemu/error-report.h"
#include "qemu/sockets.h"
#include "net/tap.h"
@ -693,6 +694,7 @@ static void net_init_tap_one(const NetdevTapOptions *tap, NetClientState *peer,
}
return;
}
qemu_set_nonblock(vhostfd);
} else {
vhostfd = open("/dev/vhost-net", O_RDWR);
if (vhostfd < 0) {

View File

@ -345,6 +345,9 @@ err:
s->vhost_user = NULL;
}
}
if (nc0) {
qemu_del_net_client(nc0);
}
return -1;
}