[PATCH drm-dp 03/10] drm/hisilicon/hibmc: fix irq_request()'s irq name variable is local
Dmitry Baryshkov
dmitry.baryshkov at oss.qualcomm.com
Mon Jun 9 14:53:52 UTC 2025
On 09/06/2025 17:50, Yongbang Shi wrote:
>
>> On Fri, May 30, 2025 at 05:54:25PM +0800, Yongbang Shi wrote:
>>> From: Baihan Li <libaihan at huawei.com>
>>>
>>> The local variable of irq name is passed to devm_request_threaded_irq(),
>>> which will make request_irq failed. Using the global irq name instead
>>> of it to fix.
>> This doesn't explain, why does it fail and which IRQ name is actually
>> expected.
>
> The local variable is passed in request_irq (), and there will be use
> after free problem.
This needs to be explained (in details) in the commit message.
>
>
>>> Fixes: b11bc1ae4658 ("drm/hisilicon/hibmc: Add MSI irq getting and
>>> requesting for HPD")
>>> Signed-off-by: Baihan Li <libaihan at huawei.com>
>>> ---
>>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c | 10 +++-------
>>> 1 file changed, 3 insertions(+), 7 deletions(-)
>>>
>>> diff --git a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c b/
>>> drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
>>> index 768b97f9e74a..4cdcc34070ee 100644
>>> --- a/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
>>> +++ b/drivers/gpu/drm/hisilicon/hibmc/hibmc_drm_drv.c
>>> @@ -32,7 +32,7 @@
>>> DEFINE_DRM_GEM_FOPS(hibmc_fops);
>>> -static const char *g_irqs_names_map[HIBMC_MAX_VECTORS] = { "vblank",
>>> "hpd" };
>>> +static const char *g_irqs_names_map[HIBMC_MAX_VECTORS] = { "hibmc-
>>> vblank", "hibmc-hpd" };
>> Please point to the corresponding IRQ names as currently implemented in
>> the upstream kernel.
>
> Ok.
I was thinking in terms of IRQ lookup. You can ignore this comment (it
makes me wonder, how did you understand it, if you responded with Ok).
>
>
>>> static irqreturn_t hibmc_interrupt(int irq, void *arg)
>>> {
--
With best wishes
Dmitry
More information about the dri-devel
mailing list