Skip to content

Commit 5f0ab98

Browse files
Enric Balletbo i Serragregkh
authored andcommitted
drm/rockchip: psr: do not dereference encoder before it is null checked.
commit 4eda776 upstream. 'encoder' is dereferenced before it is null sanity checked, hence we potentially have a null pointer dereference bug. Instead, initialise drm_drv from encoder->dev->dev_private after we are sure 'encoder' is not null. Fixes: 5182c1a ("drm/rockchip: add an common abstracted PSR driver") Cc: stable@vger.kernel.org Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com> Signed-off-by: Heiko Stuebner <heiko@sntech.de> Link: https://patchwork.freedesktop.org/patch/msgid/20181013105654.11827-1-enric.balletbo@collabora.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent 05a0177 commit 5f0ab98

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/gpu/drm/rockchip/rockchip_drm_psr.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -189,12 +189,14 @@ EXPORT_SYMBOL(rockchip_drm_psr_flush_all);
189189
int rockchip_drm_psr_register(struct drm_encoder *encoder,
190190
int (*psr_set)(struct drm_encoder *, bool enable))
191191
{
192-
struct rockchip_drm_private *drm_drv = encoder->dev->dev_private;
192+
struct rockchip_drm_private *drm_drv;
193193
struct psr_drv *psr;
194194

195195
if (!encoder || !psr_set)
196196
return -EINVAL;
197197

198+
drm_drv = encoder->dev->dev_private;
199+
198200
psr = kzalloc(sizeof(struct psr_drv), GFP_KERNEL);
199201
if (!psr)
200202
return -ENOMEM;

0 commit comments

Comments
 (0)