The structure was kzalloced, so prev == next == NULL by default which is invalid.
Signed-off-by: Stéphane Marchesin marcheu@chromium.org --- drivers/gpu/drm/drm_irq.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 8bcce78..143a311 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1158,6 +1158,7 @@ static int drm_queue_vblank_event(struct drm_device *dev, int pipe, e->event.base.length = sizeof e->event; e->event.user_data = vblwait->request.signal; e->base.event = &e->event.base; + INIT_LIST_HEAD(&e->base.link); e->base.file_priv = file_priv; e->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
On Fri, Jun 14, 2013 at 01:39:05PM -0700, Stéphane Marchesin wrote:
The structure was kzalloced, so prev == next == NULL by default which is invalid.
Signed-off-by: Stéphane Marchesin marcheu@chromium.org
We do a list_add_tail which doesn't seem to care about unitizalized list items, and when removing it we also use list_del and not list_del_init. So I don't think we actually need this, neither for correctness nor for consitency. Or am I missing something? -Daniel
drivers/gpu/drm/drm_irq.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/drivers/gpu/drm/drm_irq.c b/drivers/gpu/drm/drm_irq.c index 8bcce78..143a311 100644 --- a/drivers/gpu/drm/drm_irq.c +++ b/drivers/gpu/drm/drm_irq.c @@ -1158,6 +1158,7 @@ static int drm_queue_vblank_event(struct drm_device *dev, int pipe, e->event.base.length = sizeof e->event; e->event.user_data = vblwait->request.signal; e->base.event = &e->event.base;
- INIT_LIST_HEAD(&e->base.link); e->base.file_priv = file_priv; e->base.destroy = (void (*) (struct drm_pending_event *)) kfree;
-- 1.8.3
dri-devel mailing list dri-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/dri-devel
On Sun, Jun 16, 2013 at 5:07 AM, Daniel Vetter daniel@ffwll.ch wrote:
On Fri, Jun 14, 2013 at 01:39:05PM -0700, Stéphane Marchesin wrote:
The structure was kzalloced, so prev == next == NULL by default which is invalid.
Signed-off-by: Stéphane Marchesin marcheu@chromium.org
We do a list_add_tail which doesn't seem to care about unitizalized list items, and when removing it we also use list_del and not list_del_init. So I don't think we actually need this, neither for correctness nor for consitency. Or am I missing something?
I was going to say the same thing.
Dave.
dri-devel@lists.freedesktop.org