watchdog: core: Fix devres_alloc() allocation size
authorGuenter Roeck <linux@roeck-us.net>
Wed, 10 Aug 2016 05:34:31 +0000 (22:34 -0700)
committerWim Van Sebroeck <wim@iguana.be>
Fri, 23 Sep 2016 06:37:14 +0000 (08:37 +0200)
Coverity reports:

Passing argument 152UL /* sizeof (*wdd) */ to function __devres_alloc_node
and then casting the return value to struct watchdog_device ** is
suspicious.

Allocation size needs to be sizeof(*rcwdd), not sizeof(*wdd).

Fixes: 83fbae5a148c ("watchdog: Add a device managed API for ...")
Cc: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Acked-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/watchdog_core.c

index 6abb83c..74265b2 100644 (file)
@@ -349,7 +349,7 @@ int devm_watchdog_register_device(struct device *dev,
        struct watchdog_device **rcwdd;
        int ret;
 
-       rcwdd = devres_alloc(devm_watchdog_unregister_device, sizeof(*wdd),
+       rcwdd = devres_alloc(devm_watchdog_unregister_device, sizeof(*rcwdd),
                             GFP_KERNEL);
        if (!rcwdd)
                return -ENOMEM;