]> www.infradead.org Git - users/hch/misc.git/commitdiff
net: mana: Fix possible double free in error handling path
authorMa Ke <make24@iscas.ac.cn>
Tue, 25 Jun 2024 13:03:14 +0000 (21:03 +0800)
committerPaolo Abeni <pabeni@redhat.com>
Thu, 27 Jun 2024 10:35:58 +0000 (12:35 +0200)
When auxiliary_device_add() returns error and then calls
auxiliary_device_uninit(), callback function adev_release
calls kfree(madev). We shouldn't call kfree(madev) again
in the error handling path. Set 'madev' to NULL.

Fixes: a69839d4327d ("net: mana: Add support for auxiliary device")
Signed-off-by: Ma Ke <make24@iscas.ac.cn>
Link: https://patch.msgid.link/20240625130314.2661257-1-make24@iscas.ac.cn
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/microsoft/mana/mana_en.c

index d087cf954f7552170d6d81dccc43b08bf5b20ba8..608ad31a97022bc8315979d3e320bbf67ec0923c 100644 (file)
@@ -2798,6 +2798,8 @@ static int add_adev(struct gdma_dev *gd)
        if (ret)
                goto init_fail;
 
+       /* madev is owned by the auxiliary device */
+       madev = NULL;
        ret = auxiliary_device_add(adev);
        if (ret)
                goto add_fail;