PM / Domains: check for negative return from of_count_phandle_with_args()
authorColin Ian King <colin.king@canonical.com>
Tue, 25 Oct 2016 16:33:27 +0000 (17:33 +0100)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Thu, 27 Oct 2016 11:00:32 +0000 (13:00 +0200)
The return from of_count_phandle_with_args can be negative, so we
should avoid kcalloc of a negative count of genpd_power_stat structs
by sanity checking if count is zero or less.

Signed-off-by: Colin Ian King <colin.king@canonical.com>
Acked-by: Kevin Hilman <khilman@baylibre.com>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/domain.c

index aac656a..661737c 100644 (file)
@@ -2113,7 +2113,7 @@ int of_genpd_parse_idle_states(struct device_node *dn,
        struct of_phandle_iterator it;
 
        count = of_count_phandle_with_args(dn, "domain-idle-states", NULL);
-       if (!count)
+       if (count <= 0)
                return -EINVAL;
 
        st = kcalloc(count, sizeof(*st), GFP_KERNEL);