cpuidle: Fix kobject memory leaks in error paths
authorAnel Orazgaliyeva <anelkz@amazon.de>
Mon, 6 Sep 2021 18:34:40 +0000 (18:34 +0000)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 1 Oct 2021 18:42:22 +0000 (20:42 +0200)
commite5f5a66c9aa9c331da5527c2e3fd9394e7091e01
treec6f3fdd763e074cd08bf521d5ec859205be84364
parentc227233ad64c77e57db738ab0e46439db71822a3
cpuidle: Fix kobject memory leaks in error paths

Commit c343bf1ba5ef ("cpuidle: Fix three reference count leaks")
fixes the cleanup of kobjects; however, it removes kfree() calls
altogether, leading to memory leaks.

Fix those and also defer the initialization of dev->kobj_dev until
after the error check, so that we do not end up with a dangling
pointer.

Fixes: c343bf1ba5ef ("cpuidle: Fix three reference count leaks")
Signed-off-by: Anel Orazgaliyeva <anelkz@amazon.de>
Suggested-by: Aman Priyadarshi <apeureka@amazon.de>
[ rjw: Subject edits ]
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/cpuidle/sysfs.c