Commit 51854900 authored by Cathy Avery's avatar Cathy Avery Committed by Luis Henriques

xen-blkfront: check for null drvdata in blkback_changed (XenbusStateClosing)

commit a54c8f0f upstream.

xen-blkfront will crash if the check to talk_to_blkback()
in blkback_changed()(XenbusStateInitWait) returns an error.
The driver data is freed and info is set to NULL. Later during
the close process via talk_to_blkback's call to xenbus_dev_fatal()
the null pointer is passed to and dereference in blkfront_closing.
Signed-off-by: default avatarCathy Avery <cathy.avery@oracle.com>
Signed-off-by: default avatarKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
Signed-off-by: default avatarLuis Henriques <luis.henriques@canonical.com>
parent 5ea8d3db
...@@ -1905,7 +1905,8 @@ static void blkback_changed(struct xenbus_device *dev, ...@@ -1905,7 +1905,8 @@ static void blkback_changed(struct xenbus_device *dev,
break; break;
/* Missed the backend's Closing state -- fallthrough */ /* Missed the backend's Closing state -- fallthrough */
case XenbusStateClosing: case XenbusStateClosing:
blkfront_closing(info); if (info)
blkfront_closing(info);
break; break;
} }
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment