aws: xen-netfront: prevent potential error on hibernate
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
linux-aws (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned | ||
Bionic |
Fix Released
|
Medium
|
Unassigned | ||
Focal |
Fix Released
|
Medium
|
Unassigned | ||
Groovy |
Fix Released
|
Medium
|
Unassigned |
Bug Description
[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/
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.
CVE References
summary: |
- aws: xen-netfront: prevent potential deadlock on hibernate + aws: xen-netfront: prevent potential error on hibernate |
summary: |
- aws: xen-netfront: prevent potential error on hibernate + aws: xen-netfront: potential error on hibernate |
summary: |
- aws: xen-netfront: potential error on hibernate + aws: xen-netfront: prevent potential error on hibernate |
Changed in linux-aws (Ubuntu Focal): | |
status: | New → Fix Committed |
Changed in linux-aws (Ubuntu Groovy): | |
status: | New → Fix Committed |
Changed in linux-aws (Ubuntu Bionic): | |
status: | New → Triaged |
importance: | Undecided → Medium |
Changed in linux-aws (Ubuntu Focal): | |
importance: | Undecided → Medium |
Changed in linux-aws (Ubuntu Groovy): | |
importance: | Undecided → Medium |
Changed in linux-aws (Ubuntu Bionic): | |
status: | Triaged → Fix Committed |
tags: |
added: verification-done-bionic removed: verification-needed-bionic |
Status changed to 'Confirmed' because the bug affects multiple users.