In the Linux kernel, the following vulnerability has been resolved:
net: mdiobus: fix unbalanced node reference count
I got the following report while doing device(mscc-miim) load test with CONFIGOFUNITTEST and CONFIGOFDYNAMIC enabled:
OF: ERROR: memory leak, expected refcount 1 instead of 2, ofnodeget()/ofnodeput() unbalanced - destroy cset entry: attach overlay node /spi/soc@0/mdio@7107009c/ethernet-phy@0
If the 'fwnode' is not an acpi node, the refcount is get in fwnodemdiobusphydeviceregister(), but it has never been put when the device is freed in the normal path. So call fwnodehandleput() in phydevicerelease() to avoid leak.
If it's an acpi node, it has never been get, but it's put in the error path, so call fwnodehandleget() before phydeviceregister() to keep get/put operation balanced.