Message ID | 20240925084116.28848-1-liankun.yang@mediatek.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | [v1,1/1] drm/mediatek: Fix wrong check of nvmem_cell_read | expand |
Il 25/09/24 10:40, Liankun Yang ha scritto: > If the len is 0, kernel crash will occur when performing operations. > Add the len check conditions to prevent kernel crash. > Please fix the commit title: drm/mediatek: mtk_dp: Fix potential KP on 0 bytes nvmem cell read > Fixes: f70ac097a2cf ("drm/mediatek: Add MT8195 Embedded DisplayPort driver") > Please remove this blank line between the Fixes tag and your S-o-b. > Signed-off-by: Liankun Yang <liankun.yang@mediatek.com> > --- > drivers/gpu/drm/mediatek/mtk_dp.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c > index d8796a904eca..0cc75ba96b98 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dp.c > +++ b/drivers/gpu/drm/mediatek/mtk_dp.c > @@ -1082,7 +1082,7 @@ static void mtk_dp_get_calibration_data(struct mtk_dp *mtk_dp) > buf = (u32 *)nvmem_cell_read(cell, &len); > nvmem_cell_put(cell); > > - if (IS_ERR(buf) || ((len / sizeof(u32)) != 4)) { > + if (IS_ERR(buf) || (len == 0) || ((len / sizeof(u32)) != 4)) { if (IS_ERR(buf) || !len || ((len / sizeof(u32)) != 4)) { Cheers, Angelo
diff --git a/drivers/gpu/drm/mediatek/mtk_dp.c b/drivers/gpu/drm/mediatek/mtk_dp.c index d8796a904eca..0cc75ba96b98 100644 --- a/drivers/gpu/drm/mediatek/mtk_dp.c +++ b/drivers/gpu/drm/mediatek/mtk_dp.c @@ -1082,7 +1082,7 @@ static void mtk_dp_get_calibration_data(struct mtk_dp *mtk_dp) buf = (u32 *)nvmem_cell_read(cell, &len); nvmem_cell_put(cell); - if (IS_ERR(buf) || ((len / sizeof(u32)) != 4)) { + if (IS_ERR(buf) || (len == 0) || ((len / sizeof(u32)) != 4)) { dev_warn(dev, "Failed to read nvmem_cell_read\n"); if (!IS_ERR(buf))
If the len is 0, kernel crash will occur when performing operations. Add the len check conditions to prevent kernel crash. Fixes: f70ac097a2cf ("drm/mediatek: Add MT8195 Embedded DisplayPort driver") Signed-off-by: Liankun Yang <liankun.yang@mediatek.com> --- drivers/gpu/drm/mediatek/mtk_dp.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)