]> git.karo-electronics.de Git - karo-tx-linux.git/commitdiff
rtc: cpcap: kfreeing devm allocated memory
authorDan Carpenter <dan.carpenter@oracle.com>
Tue, 14 Mar 2017 07:56:30 +0000 (10:56 +0300)
committerAlexandre Belloni <alexandre.belloni@free-electrons.com>
Thu, 16 Mar 2017 22:00:07 +0000 (23:00 +0100)
We shouldn't kfree(rtc) because is devm_ managed memory.  It leads to a
double free.

Fixes: dd3bf50b35e3 ("rtc: cpcap: new rtc driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Acked-By: Sebastian Reichel <sre@kernel.org>
Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com>
drivers/rtc/rtc-cpcap.c

index 7c6a3c3167bd0af1434a8e0d6d51cc61aad5dbd4..5d163be98e9f4839bf2a4dcd6e214dc5261c2c48 100644 (file)
@@ -266,10 +266,8 @@ static int cpcap_rtc_probe(struct platform_device *pdev)
        rtc->rtc_dev = devm_rtc_device_register(dev, "cpcap_rtc",
                                                &cpcap_rtc_ops, THIS_MODULE);
 
-       if (IS_ERR(rtc->rtc_dev)) {
-               kfree(rtc);
+       if (IS_ERR(rtc->rtc_dev))
                return PTR_ERR(rtc->rtc_dev);
-       }
 
        err = cpcap_get_vendor(dev, rtc->regmap, &rtc->vendor);
        if (err)