gpio: sim: initialize a managed pointer when declaring it
authorBartosz Golaszewski <bartosz.golaszewski@linaro.org>
Sun, 17 Sep 2023 08:58:37 +0000 (10:58 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 20 Nov 2023 10:59:04 +0000 (11:59 +0100)
[ Upstream commit 9f93f18305f5777820491e6ab9b34422c160371b ]

Variables managed with __free() should typically be initialized where
they are declared so that the __free() callback is paired with its
counterpart resource allocator. Fix the second instance of using
__free() in gpio-sim to follow this pattern.

Fixes: 3faf89f27aab ("gpio: sim: simplify code with cleanup helpers")
Suggested-by: Linus Torvalds <torvalds@linux-foundation.org>
Signed-off-by: Bartosz Golaszewski <bartosz.golaszewski@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-sim.c

index 44bf170..a8e5ac9 100644 (file)
@@ -1438,10 +1438,10 @@ static const struct config_item_type gpio_sim_device_config_group_type = {
 static struct config_group *
 gpio_sim_config_make_device_group(struct config_group *group, const char *name)
 {
-       struct gpio_sim_device *dev __free(kfree) = NULL;
        int id;
 
-       dev = kzalloc(sizeof(*dev), GFP_KERNEL);
+       struct gpio_sim_device *dev __free(kfree) = kzalloc(sizeof(*dev),
+                                                           GFP_KERNEL);
        if (!dev)
                return ERR_PTR(-ENOMEM);