* [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input
@ 2014-07-22 12:03 Amit Shah
2014-07-22 12:03 ` [Qemu-devel] [PATCH 1/1] virtio-rng: Add human-readable error message for negative max-bytes parameter Amit Shah
2014-07-22 13:03 ` [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Peter Maydell
0 siblings, 2 replies; 3+ messages in thread
From: Amit Shah @ 2014-07-22 12:03 UTC (permalink / raw)
To: Peter Maydell; +Cc: Amit Shah, John Snow, qemu list
The following changes since commit 35858955e6c6f9ef41c199d15457c13426ac6434:
Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.1' into staging (2014-07-21 18:06:12 +0100)
are available in the git repository at:
git://git.kernel.org/pub/scm/virt/qemu/amit/virtio-rng.git for-2.1
for you to fetch changes up to 713e8a102222b6b8ca65050d13b287f5705831b0:
virtio-rng: Add human-readable error message for negative max-bytes parameter (2014-07-22 17:18:55 +0530)
----------------------------------------------------------------
This patch returns an error instead of aborting, which is desirable
not just for cmdline invocation, but prevents an abort in case of
device hotplug.
Patch is small, and reviewed on-list.
----------------------------------------------------------------
John Snow (1):
virtio-rng: Add human-readable error message for negative max-bytes parameter
hw/virtio/virtio-rng.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
--
1.9.3
^ permalink raw reply [flat|nested] 3+ messages in thread
* [Qemu-devel] [PATCH 1/1] virtio-rng: Add human-readable error message for negative max-bytes parameter
2014-07-22 12:03 [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Amit Shah
@ 2014-07-22 12:03 ` Amit Shah
2014-07-22 13:03 ` [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Amit Shah @ 2014-07-22 12:03 UTC (permalink / raw)
To: Peter Maydell; +Cc: Amit Shah, John Snow, qemu list
From: John Snow <jsnow@redhat.com>
If a negative integer is used for the max_bytes parameter, QEMU currently
calls abort() and leaves behind a core dump. This patch replaces the
abort with a simple error message to make the reason for the termination
clearer. This also ensures device-hotplug with invalid input doesn't
cause qemu to quit.
There is an underlying insufficiency in the parameter parsing code of QEMU
that renders it unable to reject negative values for unsigned properties,
thus the error message "a non-negative integer below 2^63" is the most
user-friendly and correct message we can give until the underlying
insufficiency is corrected.
Signed-off-by: John Snow <jsnow@redhat.com>
Reviewed-by: Markus Armbruster <armbru@redhat.com>
Signed-off-by: Amit Shah <amit.shah@redhat.com>
---
hw/virtio/virtio-rng.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
index 1356aca..7c5a675 100644
--- a/hw/virtio/virtio-rng.c
+++ b/hw/virtio/virtio-rng.c
@@ -181,7 +181,13 @@ static void virtio_rng_device_realize(DeviceState *dev, Error **errp)
vrng->vq = virtio_add_queue(vdev, 8, handle_input);
- assert(vrng->conf.max_bytes <= INT64_MAX);
+ /* Workaround: Property parsing does not enforce unsigned integers,
+ * So this is a hack to reject such numbers. */
+ if (vrng->conf.max_bytes > INT64_MAX) {
+ error_set(errp, QERR_INVALID_PARAMETER_VALUE, "max-bytes",
+ "a non-negative integer below 2^63");
+ return;
+ }
vrng->quota_remaining = vrng->conf.max_bytes;
vrng->rate_limit_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL,
--
1.9.3
^ permalink raw reply related [flat|nested] 3+ messages in thread
* Re: [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input
2014-07-22 12:03 [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Amit Shah
2014-07-22 12:03 ` [Qemu-devel] [PATCH 1/1] virtio-rng: Add human-readable error message for negative max-bytes parameter Amit Shah
@ 2014-07-22 13:03 ` Peter Maydell
1 sibling, 0 replies; 3+ messages in thread
From: Peter Maydell @ 2014-07-22 13:03 UTC (permalink / raw)
To: Amit Shah; +Cc: John Snow, qemu list
On 22 July 2014 13:03, Amit Shah <amit.shah@redhat.com> wrote:
> The following changes since commit 35858955e6c6f9ef41c199d15457c13426ac6434:
>
> Merge remote-tracking branch 'remotes/afaerber/tags/qom-devices-for-2.1' into staging (2014-07-21 18:06:12 +0100)
>
> are available in the git repository at:
>
>
> git://git.kernel.org/pub/scm/virt/qemu/amit/virtio-rng.git for-2.1
>
> for you to fetch changes up to 713e8a102222b6b8ca65050d13b287f5705831b0:
>
> virtio-rng: Add human-readable error message for negative max-bytes parameter (2014-07-22 17:18:55 +0530)
>
> ----------------------------------------------------------------
> This patch returns an error instead of aborting, which is desirable
> not just for cmdline invocation, but prevents an abort in case of
> device hotplug.
>
> Patch is small, and reviewed on-list.
> ----------------------------------------------------------------
Applied, thanks.
-- PMM
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2014-07-22 13:03 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-07-22 12:03 [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Amit Shah
2014-07-22 12:03 ` [Qemu-devel] [PATCH 1/1] virtio-rng: Add human-readable error message for negative max-bytes parameter Amit Shah
2014-07-22 13:03 ` [Qemu-devel] [PULL v2 for-2.1] virtio-rng: Fix abort on invalid input Peter Maydell
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).