DRM agp_init error path oops

2012-10-25 Thread Bjorn Helgaas
I think there's a latent bug in a DRM error path, at least when used by i915. In the scenario below, if dev->driver->bus->agp_init() fails, we call drm_lastclose(). At least in i915_driver_lastclose(), this dereferences dev->dev_private (at "1" below). But dev->dev_private isn't initialized

DRM agp_init error path oops

2012-10-25 Thread Bjorn Helgaas
I think there's a latent bug in a DRM error path, at least when used by i915. In the scenario below, if dev-driver-bus-agp_init() fails, we call drm_lastclose(). At least in i915_driver_lastclose(), this dereferences dev-dev_private (at 1 below). But dev-dev_private isn't initialized until 2,