fw_cfg: Allow reboot-timeout=-1 again
Commitee5d0f89de
added range checking on reboot-timeout to only allow the range 0..65535; however both qemu and libvirt document the special value -1 to mean don't reboot. Allow it again. Fixes:ee5d0f89de
("fw_cfg: Fix -boot reboot-timeout error checking") RH bz: https://bugzilla.redhat.com/show_bug.cgi?id=1765443 Signed-off-by: Dr. David Alan Gilbert <dgilbert@redhat.com> Message-Id: <20191025165706.177653-1-dgilbert@redhat.com> Suggested-by: Laszlo Ersek <lersek@redhat.com> Message-Id: <37ac197c-f20e-dd05-ff6a-13a2171c7148@redhat.com> [PMD: Applied Laszlo's suggestions] Reviewed-by: Laszlo Ersek <lersek@redhat.com> Signed-off-by: Philippe Mathieu-Daudé <philmd@redhat.com>
This commit is contained in:
parent
f3cad9c6db
commit
20a1922032
@ -237,7 +237,7 @@ static void fw_cfg_bootsplash(FWCfgState *s)
|
||||
static void fw_cfg_reboot(FWCfgState *s)
|
||||
{
|
||||
const char *reboot_timeout = NULL;
|
||||
int64_t rt_val = -1;
|
||||
uint64_t rt_val = -1;
|
||||
uint32_t rt_le32;
|
||||
|
||||
/* get user configuration */
|
||||
@ -247,10 +247,11 @@ static void fw_cfg_reboot(FWCfgState *s)
|
||||
|
||||
if (reboot_timeout) {
|
||||
rt_val = qemu_opt_get_number(opts, "reboot-timeout", -1);
|
||||
|
||||
/* validate the input */
|
||||
if (rt_val < 0 || rt_val > 0xffff) {
|
||||
if (rt_val > 0xffff && rt_val != (uint64_t)-1) {
|
||||
error_report("reboot timeout is invalid,"
|
||||
"it should be a value between 0 and 65535");
|
||||
"it should be a value between -1 and 65535");
|
||||
exit(1);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user