[SRU][B/aws, F/aws, G/aws][PATCH 0/1] xen-netfront: prevent potential error on hibernate

Andrea Righi andrea.righi at canonical.com
Fri Dec 4 16:12:17 UTC 2020


BugLink: https://bugs.launchpad.net/bugs/1906850

[Impact]

On hibernation xen-netfront is setting the device state on the xenbus to
"Closing" and then it's waiting for the backend state to acknowledge
that state (with a timeout). However, if the device is already in the
state "Closed" this opteration will always hit the timeout, preventing
the system to hibernate correctly.

[Test case]

It is a quite rare condition that can be reproduced hibernating/resuming
a Xen instance multiple times. When the problem happens we should see in
the log a Xen error message like the following:

  Freezing timed out; the device may become inconsistent state

[Fix]

If the device is already in the state "Closed", simply tear it down
without notifying the Xen backend.

[Regression potential]

The fix would just prevent aborting hibernation if the netfront device
is already in a "Closed" state. The resume callback is forcing the
device into the "Initializing" state anyway, basically forcing a reset
of the device, so nothing else in the state machine can be potentially
broken.




More information about the kernel-team mailing list