Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit a1a15ac5 authored by Kris Shannon's avatar Kris Shannon Committed by Jens Axboe
Browse files

Fix kernel NULL pointer dereference in xen-blkfront

When booting Xen Dom0 on a pre-release 3.2.1 hypervisor the system Oopses on a
"Unable to handle kernel NULL pointer dereference" in xenwatch.

From the backtrace it looks like backend_changed is calling bdget_disk
with a NULL pointer.  Checking for NULL and returning ENODEV instead
allows the kernel to boot.
parent 559595a9
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -977,6 +977,8 @@ static void backend_changed(struct xenbus_device *dev,
		break;

	case XenbusStateClosing:
		if (info->gd == NULL)
			xenbus_dev_fatal(dev, -ENODEV, "gd is NULL");
		bd = bdget_disk(info->gd, 0);
		if (bd == NULL)
			xenbus_dev_fatal(dev, -ENODEV, "bdget failed");