thermal: core: Adding missing nlmsg_free() in thermal_genl_sampling_temp()
authorJing Xiangfeng <jingxiangfeng@huawei.com>
Tue, 29 Sep 2020 08:26:52 +0000 (16:26 +0800)
committerDaniel Lezcano <daniel.lezcano@linaro.org>
Mon, 12 Oct 2020 10:08:36 +0000 (12:08 +0200)
thermal_genl_sampling_temp() misses to call nlmsg_free() in an error path.

Jump to out_free to fix it.

Fixes: 1ce50e7d408ef2 ("thermal: core: genetlink support for events/cmd/sampling")
Signed-off-by: Jing Xiangfeng <jingxiangfeng@huawei.com>
Signed-off-by: Daniel Lezcano <daniel.lezcano@linaro.org>
Link: https://lore.kernel.org/r/20200929082652.59876-1-jingxiangfeng@huawei.com
drivers/thermal/thermal_netlink.c

index af7b2383e8f6b1fc2e3863ec419bdb77ff307e10..019f4812def6ce2db43cf9e481eb17a327273699 100644 (file)
@@ -78,7 +78,7 @@ int thermal_genl_sampling_temp(int id, int temp)
        hdr = genlmsg_put(skb, 0, 0, &thermal_gnl_family, 0,
                          THERMAL_GENL_SAMPLING_TEMP);
        if (!hdr)
-               return -EMSGSIZE;
+               goto out_free;
 
        if (nla_put_u32(skb, THERMAL_GENL_ATTR_TZ_ID, id))
                goto out_cancel;
@@ -93,6 +93,7 @@ int thermal_genl_sampling_temp(int id, int temp)
        return 0;
 out_cancel:
        genlmsg_cancel(skb, hdr);
+out_free:
        nlmsg_free(skb);
 
        return -EMSGSIZE;