From: Liao Pingfang <liao.pingf...@zte.com.cn>

kobject_init_and_add() takes reference even when it fails. If this
function returns an error, kobject_put() must be called to properly
clean up the memory associated with the object.

Signed-off-by: Liao Pingfang <liao.pingf...@zte.com.cn>
Signed-off-by: Yi Wang <wang.y...@zte.com.cn>
---
 arch/sh/kernel/cpu/sh4/sq.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/arch/sh/kernel/cpu/sh4/sq.c b/arch/sh/kernel/cpu/sh4/sq.c
index d432164..3fbd6fd 100644
--- a/arch/sh/kernel/cpu/sh4/sq.c
+++ b/arch/sh/kernel/cpu/sh4/sq.c
@@ -350,6 +350,8 @@ static int sq_dev_add(struct device *dev, struct 
subsys_interface *sif)
                                     "%s", "sq");
        if (!error)
                kobject_uevent(kobj, KOBJ_ADD);
+       else
+               kobject_put(kobj);
        return error;
 }
 
-- 
2.9.5

Reply via email to