]> xenbits.xensource.com Git - xen.git/commit
x86/hvm: do not register hpet mmio during s3 cycle
authorEric Chanudet <chanudete@ainfosec.com>
Tue, 14 Nov 2017 16:09:50 +0000 (17:09 +0100)
committerJan Beulich <jbeulich@suse.com>
Tue, 14 Nov 2017 16:09:50 +0000 (17:09 +0100)
commit015d6738ddff4074668c1d4887bbffd507ed1a7f
tree833e373648f11e475ae22591d439bef5fd3fd0e1
parent36c80e29e36eee02f20f18e7f32267442b18c8bd
x86/hvm: do not register hpet mmio during s3 cycle

Do it once at domain creation (hpet_init).

Sleep -> Resume cycles will end up crashing an HVM guest with hpet as
the sequence during resume takes the path:
-> hvm_s3_suspend
  -> hpet_reset
    -> hpet_deinit
    -> hpet_init
      -> register_mmio_handler
        -> hvm_next_io_handler

register_mmio_handler will use a new io handler each time, until
eventually it reaches NR_IO_HANDLERS, then hvm_next_io_handler calls
domain_crash.

Signed-off-by: Eric Chanudet <chanudete@ainfosec.com>
Reviewed-by: Jan Beulich <jbeulich@suse.com>
Release-acked-by: Julien Grall <julien.grall@linaro.org>
xen/arch/x86/hvm/hpet.c