diff mbox

virtio-rng: Add human-readable error message for negative max-bytes parameter

Message ID 1405379683-4672-1-git-send-email-jsnow@redhat.com
State New
Headers show

Commit Message

John Snow July 14, 2014, 11:14 p.m. UTC
If a negative integer is used for the max_bytes parameter, QEMU currently
calls abort() and leaves behind a core dump. This patch adds a simple
error message to make the reason for the termination clearer.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 hw/virtio/virtio-rng.c | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

Comments

Amit Shah July 15, 2014, 4:51 a.m. UTC | #1
On (Mon) 14 Jul 2014 [19:14:43], John Snow wrote:
> If a negative integer is used for the max_bytes parameter, QEMU currently
> calls abort() and leaves behind a core dump. This patch adds a simple
> error message to make the reason for the termination clearer.
> 
> Signed-off-by: John Snow <jsnow@redhat.com>

Reviewed-by: Amit Shah <amit.shah@redhat.com>

Thanks,

		Amit
Stefan Hajnoczi July 15, 2014, 9:18 a.m. UTC | #2
On Tue, Jul 15, 2014 at 10:21:47AM +0530, Amit Shah wrote:
> On (Mon) 14 Jul 2014 [19:14:43], John Snow wrote:
> > If a negative integer is used for the max_bytes parameter, QEMU currently
> > calls abort() and leaves behind a core dump. This patch adds a simple
> > error message to make the reason for the termination clearer.
> > 
> > Signed-off-by: John Snow <jsnow@redhat.com>
> 
> Reviewed-by: Amit Shah <amit.shah@redhat.com>

Amit, are you sending a pull request?  I'm not sure whose tree this goes
through.

Stefan
Amit Shah July 15, 2014, 9:21 a.m. UTC | #3
On (Tue) 15 Jul 2014 [11:18:31], Stefan Hajnoczi wrote:
> On Tue, Jul 15, 2014 at 10:21:47AM +0530, Amit Shah wrote:
> > On (Mon) 14 Jul 2014 [19:14:43], John Snow wrote:
> > > If a negative integer is used for the max_bytes parameter, QEMU currently
> > > calls abort() and leaves behind a core dump. This patch adds a simple
> > > error message to make the reason for the termination clearer.
> > > 
> > > Signed-off-by: John Snow <jsnow@redhat.com>
> > 
> > Reviewed-by: Amit Shah <amit.shah@redhat.com>
> 
> Amit, are you sending a pull request?  I'm not sure whose tree this goes
> through.

Yes, I'll do that.


		Amit
diff mbox

Patch

diff --git a/hw/virtio/virtio-rng.c b/hw/virtio/virtio-rng.c
index 1356aca..e4d2e68 100644
--- a/hw/virtio/virtio-rng.c
+++ b/hw/virtio/virtio-rng.c
@@ -181,7 +181,11 @@  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);
+    if (vrng->conf.max_bytes > INT64_MAX) {
+        error_set(errp, QERR_PROPERTY_VALUE_OUT_OF_RANGE, "virtio-rng",
+                  "max_bytes", vrng->conf.max_bytes, 0L, INT64_MAX);
+        return;
+    }
     vrng->quota_remaining = vrng->conf.max_bytes;
 
     vrng->rate_limit_timer = timer_new_ms(QEMU_CLOCK_VIRTUAL,