From: Markus Armbruster <armbru@redhat.com>
To: Laurent Vivier <lvivier@redhat.com>
Cc: "Daniel P . Berrangé" <berrange@redhat.com>,
"Michael S. Tsirkin" <mst@redhat.com>,
"Amit Shah" <amit@kernel.org>,
"Richard Henderson" <richard.henderson@linaro.org>,
qemu-devel@nongnu.org,
"Richard W . M . Jones" <rjones@redhat.com>,
"Kashyap Chamarthy" <kchamart@redhat.com>
Subject: [Qemu-devel] [PATCH 3.5/4] virtio-rng: Keep the default backend out of VirtIORNGConf
Date: Tue, 14 May 2019 17:19:42 +0200 [thread overview]
Message-ID: <8736lhdpwx.fsf@dusky.pond.sub.org> (raw)
In-Reply-To: <20190514075602.7674-1-lvivier@redhat.com> (Laurent Vivier's message of "Tue, 14 May 2019 09:55:59 +0200")
The default backend is only used within virtio_rng_device_realize().
Replace VirtIORNGConf member default_backend by a local variable.
Adjust its type to reduce conversions.
While there, pass &error_abort instead of NULL when failure would be a
programming error.
Signed-off-by: Markus Armbruster <armbru@redhat.com>
---
hw/virtio/virtio-rng.c | 20 +++++++++-----------
include/hw/virtio/virtio-rng.h | 2 --
2 files changed, 9 insertions(+), 13 deletions(-)
diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
index 30493a2586..73ffb476e0 100644
--- a/hw/virtio/virtio-rng.c
+++ b/hw/virtio/virtio-rng.c
@@ -16,6 +16,7 @@
#include "hw/virtio/virtio.h"
#include "hw/virtio/virtio-rng.h"
#include "sysemu/rng.h"
+#include "sysemu/rng-random.h"
#include "qom/object_interfaces.h"
#include "trace.h"
@@ -189,27 +190,24 @@ static void virtio_rng_device_realize(DeviceState *dev, Error **errp)
}
if (vrng->conf.rng == NULL) {
- vrng->conf.default_backend = RNG_RANDOM(object_new(TYPE_RNG_RANDOM));
+ Object *default_backend = object_new(TYPE_RNG_RANDOM);
- user_creatable_complete(USER_CREATABLE(vrng->conf.default_backend),
+ user_creatable_complete(USER_CREATABLE(default_backend),
&local_err);
if (local_err) {
error_propagate(errp, local_err);
- object_unref(OBJECT(vrng->conf.default_backend));
+ object_unref(default_backend);
return;
}
- object_property_add_child(OBJECT(dev),
- "default-backend",
- OBJECT(vrng->conf.default_backend),
- NULL);
+ object_property_add_child(OBJECT(dev), "default-backend",
+ default_backend, &error_abort);
/* The child property took a reference, we can safely drop ours now */
- object_unref(OBJECT(vrng->conf.default_backend));
+ object_unref(default_backend);
- object_property_set_link(OBJECT(dev),
- OBJECT(vrng->conf.default_backend),
- "rng", NULL);
+ object_property_set_link(OBJECT(dev), default_backend,
+ "rng", &error_abort);
}
vrng->rng = vrng->conf.rng;
diff --git a/include/hw/virtio/virtio-rng.h b/include/hw/virtio/virtio-rng.h
index 922dce7cac..28ff752c40 100644
--- a/include/hw/virtio/virtio-rng.h
+++ b/include/hw/virtio/virtio-rng.h
@@ -13,7 +13,6 @@
#define QEMU_VIRTIO_RNG_H
#include "sysemu/rng.h"
-#include "sysemu/rng-random.h"
#include "standard-headers/linux/virtio_rng.h"
#define TYPE_VIRTIO_RNG "virtio-rng-device"
@@ -26,7 +25,6 @@ struct VirtIORNGConf {
RngBackend *rng;
uint64_t max_bytes;
uint32_t period_ms;
- RngRandom *default_backend;
};
typedef struct VirtIORNG {
--
2.17.2
prev parent reply other threads:[~2019-05-14 15:22 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-05-14 7:55 [Qemu-devel] [PATCH v4 0/3] rng-builtin: add an RNG backend that uses qemu_guest_getrandom() Laurent Vivier
2019-05-14 7:56 ` [Qemu-devel] [PATCH v4 1/3] VirtIO-RNG: Update default entropy source to `/dev/urandom` Laurent Vivier
2019-05-14 8:08 ` Kashyap Chamarthy
2019-05-14 8:15 ` Laurent Vivier
2019-05-14 13:49 ` Markus Armbruster
2019-05-14 14:43 ` Markus Armbruster
2019-05-14 7:56 ` [Qemu-devel] [PATCH v4 2/3] rng-builtin: add an RNG backend that uses qemu_guest_getrandom() Laurent Vivier
2019-05-14 14:50 ` Markus Armbruster
2019-05-14 7:56 ` [Qemu-devel] [PATCH v4 3/3] virtio-rng: change default backend to rng-builtin Laurent Vivier
2019-05-14 15:24 ` Markus Armbruster
2019-05-14 15:28 ` Laurent Vivier
2019-05-14 15:19 ` Markus Armbruster [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=8736lhdpwx.fsf@dusky.pond.sub.org \
--to=armbru@redhat.com \
--cc=amit@kernel.org \
--cc=berrange@redhat.com \
--cc=kchamart@redhat.com \
--cc=lvivier@redhat.com \
--cc=mst@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=richard.henderson@linaro.org \
--cc=rjones@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.