Hello,

You should drop the reference count on the value allocated with
of_find_device_by_node on line 57.

julia

---------- Forwarded message ----------
Date: Sun, 12 May 2019 10:20:42 +0800
From: kbuild test robot <l...@intel.com>
To: kbu...@01.org
Cc: Julia Lawall <julia.law...@lip6.fr>
Subject: drivers/of/of_net.c:64:2-8: ERROR: missing put_device; call
    of_find_device_by_node on line 57,
    but without a corresponding object release within this function.

CC: kbuild-...@01.org
CC: linux-kernel@vger.kernel.org
TO: "Petr Štetiar" <yn...@true.cz>
CC: Felix Fietkau <n...@nbd.name>
CC: John Crispin <j...@phrozen.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   8148c17b179d8acad190551fe0fb90d8f5193990
commit: d01f449c008a3f41fa44c603e28a7452ab8f8e68 of_net: add NVMEM support to 
of_get_mac_address
date:   6 days ago
:::::: branch date: 11 hours ago
:::::: commit date: 6 days ago

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>
Reported-by: Julia Lawall <julia.law...@lip6.fr>

>> drivers/of/of_net.c:64:2-8: ERROR: missing put_device; call 
>> of_find_device_by_node on line 57, but without a corresponding object 
>> release within this function.
   drivers/of/of_net.c:68:2-8: ERROR: missing put_device; call 
of_find_device_by_node on line 57, but without a corresponding object release 
within this function.
   drivers/of/of_net.c:82:1-7: ERROR: missing put_device; call 
of_find_device_by_node on line 57, but without a corresponding object release 
within this function.
   drivers/of/of_net.c:87:1-7: ERROR: missing put_device; call 
of_find_device_by_node on line 57, but without a corresponding object release 
within this function.

# 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=d01f449c008a3f41fa44c603e28a7452ab8f8e68
git remote add linus 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git remote update linus
git checkout d01f449c008a3f41fa44c603e28a7452ab8f8e68
vim +64 drivers/of/of_net.c

3eb46a1da Sergei Shtylyov 2015-03-18  51
d01f449c0 Petr Štetiar    2019-05-03  52  static const void 
*of_get_mac_addr_nvmem(struct device_node *np)
d01f449c0 Petr Štetiar    2019-05-03  53  {
d01f449c0 Petr Štetiar    2019-05-03  54        int ret;
d01f449c0 Petr Štetiar    2019-05-03  55        u8 mac[ETH_ALEN];
d01f449c0 Petr Štetiar    2019-05-03  56        struct property *pp;
d01f449c0 Petr Štetiar    2019-05-03 @57        struct platform_device *pdev = 
of_find_device_by_node(np);
d01f449c0 Petr Štetiar    2019-05-03  58
d01f449c0 Petr Štetiar    2019-05-03  59        if (!pdev)
d01f449c0 Petr Štetiar    2019-05-03  60                return ERR_PTR(-ENODEV);
d01f449c0 Petr Štetiar    2019-05-03  61
d01f449c0 Petr Štetiar    2019-05-03  62        ret = 
nvmem_get_mac_address(&pdev->dev, &mac);
d01f449c0 Petr Štetiar    2019-05-03  63        if (ret)
d01f449c0 Petr Štetiar    2019-05-03 @64                return ERR_PTR(ret);
d01f449c0 Petr Štetiar    2019-05-03  65
d01f449c0 Petr Štetiar    2019-05-03  66        pp = devm_kzalloc(&pdev->dev, 
sizeof(*pp), GFP_KERNEL);
d01f449c0 Petr Štetiar    2019-05-03  67        if (!pp)
d01f449c0 Petr Štetiar    2019-05-03  68                return ERR_PTR(-ENOMEM);
d01f449c0 Petr Štetiar    2019-05-03  69
d01f449c0 Petr Štetiar    2019-05-03  70        pp->name = "nvmem-mac-address";
d01f449c0 Petr Štetiar    2019-05-03  71        pp->length = ETH_ALEN;
d01f449c0 Petr Štetiar    2019-05-03  72        pp->value = 
devm_kmemdup(&pdev->dev, mac, ETH_ALEN, GFP_KERNEL);
d01f449c0 Petr Štetiar    2019-05-03  73        if (!pp->value) {
d01f449c0 Petr Štetiar    2019-05-03  74                ret = -ENOMEM;
d01f449c0 Petr Štetiar    2019-05-03  75                goto free;
d01f449c0 Petr Štetiar    2019-05-03  76        }
d01f449c0 Petr Štetiar    2019-05-03  77
d01f449c0 Petr Štetiar    2019-05-03  78        ret = of_add_property(np, pp);
d01f449c0 Petr Štetiar    2019-05-03  79        if (ret)
d01f449c0 Petr Štetiar    2019-05-03  80                goto free;
d01f449c0 Petr Štetiar    2019-05-03  81
d01f449c0 Petr Štetiar    2019-05-03  82        return pp->value;
d01f449c0 Petr Štetiar    2019-05-03  83  free:
d01f449c0 Petr Štetiar    2019-05-03  84        devm_kfree(&pdev->dev, 
pp->value);
d01f449c0 Petr Štetiar    2019-05-03  85        devm_kfree(&pdev->dev, pp);
d01f449c0 Petr Štetiar    2019-05-03  86
d01f449c0 Petr Štetiar    2019-05-03  87        return ERR_PTR(ret);
d01f449c0 Petr Štetiar    2019-05-03  88  }
d01f449c0 Petr Štetiar    2019-05-03  89

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Reply via email to