[PATCH v1] drm/nouveau/clk: avoid potential null-dereference

Andy Shevchenko andy.shevchenko at gmail.com
Wed Jan 7 14:29:50 PST 2015


We have to check pointer before usage.

Reported-by: Andrey Karpov <karpov at viva64.com>
Signed-off-by: Andy Shevchenko <andy.shevchenko at gmail.com>
---
 drivers/gpu/drm/nouveau/core/subdev/clock/base.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/nouveau/core/subdev/clock/base.c b/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
index e51b72d..2e84436 100644
--- a/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
+++ b/drivers/gpu/drm/nouveau/core/subdev/clock/base.c
@@ -322,7 +322,6 @@ nouveau_pstate_new(struct nouveau_clock *clk, int idx)
 		return 0;
 
 	pstate = kzalloc(sizeof(*pstate), GFP_KERNEL);
-	cstate = &pstate->base;
 	if (!pstate)
 		return -ENOMEM;
 
@@ -330,6 +329,9 @@ nouveau_pstate_new(struct nouveau_clock *clk, int idx)
 
 	pstate->pstate = perfE.pstate;
 	pstate->fanspeed = perfE.fanspeed;
+
+	cstate = &pstate->base;
+
 	cstate->voltage = perfE.voltage;
 	cstate->domain[nv_clk_src_core] = perfE.core;
 	cstate->domain[nv_clk_src_shader] = perfE.shader;
-- 
1.8.3.101.g727a46b



More information about the dri-devel mailing list