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 <[email protected]>
Signed-off-by: Guenter Roeck <[email protected]>
---
 drivers/watchdog/watchdog_core.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/watchdog/watchdog_core.c b/drivers/watchdog/watchdog_core.c
index 6abb83cd7681..74265b2f806c 100644
--- a/drivers/watchdog/watchdog_core.c
+++ b/drivers/watchdog/watchdog_core.c
@@ -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;
-- 
2.5.0

Reply via email to