* [bug report] drm/msm/dpu: merge struct dpu_irq into struct dpu_hw_intr
@ 2021-11-16 12:19 Dan Carpenter
0 siblings, 0 replies; only message in thread
From: Dan Carpenter @ 2021-11-16 12:19 UTC (permalink / raw)
To: dmitry.baryshkov; +Cc: dri-devel
Hello Dmitry Baryshkov,
The patch f25f656608e3: "drm/msm/dpu: merge struct dpu_irq into
struct dpu_hw_intr" from Jun 18, 2021, leads to the following Smatch
static checker warnings:
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:569 dpu_core_irq_preinstall()
error: potential null dereference 'dpu_kms->hw_intr->irq_cb_tbl'. (kcalloc returns null)
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c:570 dpu_core_irq_preinstall()
error: potential null dereference 'dpu_kms->hw_intr->irq_counts'. (kcalloc returns null)
drivers/gpu/drm/msm/disp/dpu1/dpu_hw_interrupts.c
554 void dpu_core_irq_preinstall(struct dpu_kms *dpu_kms)
555 {
556 int i;
557
558 pm_runtime_get_sync(&dpu_kms->pdev->dev);
559 dpu_clear_irqs(dpu_kms);
560 dpu_disable_all_irqs(dpu_kms);
561 pm_runtime_put_sync(&dpu_kms->pdev->dev);
562
563 /* Create irq callbacks for all possible irq_idx */
564 dpu_kms->hw_intr->irq_cb_tbl = kcalloc(dpu_kms->hw_intr->total_irqs,
565 sizeof(struct list_head), GFP_KERNEL);
566 dpu_kms->hw_intr->irq_counts = kcalloc(dpu_kms->hw_intr->total_irqs,
567 sizeof(atomic_t), GFP_KERNEL);
No checks for these kcallocs... It's not actually new code but shuffling
them around makes them show up as new in my tests.
568 for (i = 0; i < dpu_kms->hw_intr->total_irqs; i++) {
--> 569 INIT_LIST_HEAD(&dpu_kms->hw_intr->irq_cb_tbl[i]);
570 atomic_set(&dpu_kms->hw_intr->irq_counts[i], 0);
571 }
572 }
regards,
dan carpenter
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-11-16 12:19 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-11-16 12:19 [bug report] drm/msm/dpu: merge struct dpu_irq into struct dpu_hw_intr Dan Carpenter
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.