mirror of https://gitee.com/openkylin/qemu.git
balloon: Reject negative balloon values
Negative balloon values don't make sense, reject them and throw a qerror with QERR_INVALID_PARAMETER_VALUE. Reported-by: Mike Cao <bcao@redhat.com> Signed-off-by: Amit Shah <amit.shah@redhat.com> Reviewed-by: Markus Armbruster <armbru@redhat.com> Acked-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
f76f665547
commit
514e73eceb
|
@ -140,6 +140,7 @@ int do_info_balloon(Monitor *mon, MonitorCompletion cb, void *opaque)
|
||||||
int do_balloon(Monitor *mon, const QDict *params,
|
int do_balloon(Monitor *mon, const QDict *params,
|
||||||
MonitorCompletion cb, void *opaque)
|
MonitorCompletion cb, void *opaque)
|
||||||
{
|
{
|
||||||
|
int64_t target;
|
||||||
int ret;
|
int ret;
|
||||||
|
|
||||||
if (kvm_enabled() && !kvm_has_sync_mmu()) {
|
if (kvm_enabled() && !kvm_has_sync_mmu()) {
|
||||||
|
@ -147,7 +148,12 @@ int do_balloon(Monitor *mon, const QDict *params,
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
|
||||||
ret = qemu_balloon(qdict_get_int(params, "value"));
|
target = qdict_get_int(params, "value");
|
||||||
|
if (target <= 0) {
|
||||||
|
qerror_report(QERR_INVALID_PARAMETER_VALUE, "target", "a size");
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
ret = qemu_balloon(target);
|
||||||
if (ret == 0) {
|
if (ret == 0) {
|
||||||
qerror_report(QERR_DEVICE_NOT_ACTIVE, "balloon");
|
qerror_report(QERR_DEVICE_NOT_ACTIVE, "balloon");
|
||||||
return -1;
|
return -1;
|
||||||
|
|
Loading…
Reference in New Issue