CVE-2022-49016

Source
https://nvd.nist.gov/vuln/detail/CVE-2022-49016
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2022-49016.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2022-49016
Downstream
Related
Published
2024-10-21T20:06:25Z
Modified
2025-10-08T07:27:08.473364Z
Summary
net: mdiobus: fix unbalanced node reference count
Details

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.

References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bc1bee3b87ee48bd97ef7fd306445132ba2041b0
Fixed
543d917f691ab06885ee779c862065899eaa4251
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bc1bee3b87ee48bd97ef7fd306445132ba2041b0
Fixed
2708b357440427d6a9fee667eb7b8307f4625adc
Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
bc1bee3b87ee48bd97ef7fd306445132ba2041b0
Fixed
cdde1560118f82498fc9e9a7c1ef7f0ef7755891

Affected versions

v5.*

v5.13
v5.13-rc4
v5.13-rc5
v5.13-rc6
v5.13-rc7
v5.14
v5.14-rc1
v5.14-rc2
v5.14-rc3
v5.14-rc4
v5.14-rc5
v5.14-rc6
v5.14-rc7
v5.15
v5.15-rc1
v5.15-rc2
v5.15-rc3
v5.15-rc4
v5.15-rc5
v5.15-rc6
v5.15-rc7
v5.15.1
v5.15.10
v5.15.11
v5.15.12
v5.15.13
v5.15.14
v5.15.15
v5.15.16
v5.15.17
v5.15.18
v5.15.19
v5.15.2
v5.15.20
v5.15.21
v5.15.22
v5.15.23
v5.15.24
v5.15.25
v5.15.26
v5.15.27
v5.15.28
v5.15.29
v5.15.3
v5.15.30
v5.15.31
v5.15.32
v5.15.33
v5.15.34
v5.15.35
v5.15.36
v5.15.37
v5.15.38
v5.15.39
v5.15.4
v5.15.40
v5.15.41
v5.15.42
v5.15.43
v5.15.44
v5.15.45
v5.15.46
v5.15.47
v5.15.48
v5.15.49
v5.15.5
v5.15.50
v5.15.51
v5.15.52
v5.15.53
v5.15.54
v5.15.55
v5.15.56
v5.15.57
v5.15.58
v5.15.59
v5.15.6
v5.15.60
v5.15.61
v5.15.62
v5.15.63
v5.15.64
v5.15.65
v5.15.66
v5.15.67
v5.15.68
v5.15.69
v5.15.7
v5.15.70
v5.15.71
v5.15.72
v5.15.73
v5.15.74
v5.15.75
v5.15.76
v5.15.77
v5.15.78
v5.15.79
v5.15.8
v5.15.80
v5.15.81
v5.15.9
v5.16
v5.16-rc1
v5.16-rc2
v5.16-rc3
v5.16-rc4
v5.16-rc5
v5.16-rc6
v5.16-rc7
v5.16-rc8
v5.17
v5.17-rc1
v5.17-rc2
v5.17-rc3
v5.17-rc4
v5.17-rc5
v5.17-rc6
v5.17-rc7
v5.17-rc8
v5.18
v5.18-rc1
v5.18-rc2
v5.18-rc3
v5.18-rc4
v5.18-rc5
v5.18-rc6
v5.18-rc7
v5.19
v5.19-rc1
v5.19-rc2
v5.19-rc3
v5.19-rc4
v5.19-rc5
v5.19-rc6
v5.19-rc7
v5.19-rc8

v6.*

v6.0
v6.0-rc1
v6.0-rc2
v6.0-rc3
v6.0-rc4
v6.0-rc5
v6.0-rc6
v6.0-rc7
v6.0.1
v6.0.10
v6.0.11
v6.0.2
v6.0.3
v6.0.4
v6.0.5
v6.0.6
v6.0.7
v6.0.8
v6.0.9
v6.1-rc1
v6.1-rc2
v6.1-rc3
v6.1-rc4
v6.1-rc5

Database specific

{
    "vanir_signatures": [
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c",
                "function": "fwnode_mdiobus_register_phy"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2708b357440427d6a9fee667eb7b8307f4625adc",
            "digest": {
                "length": 946.0,
                "function_hash": "206369008473237629103635501755946581163"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-1e2d3e94",
            "signature_type": "Function",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2708b357440427d6a9fee667eb7b8307f4625adc",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "95074494671049175860470845947260836356",
                    "193660856583917591712509917462886635091",
                    "44730505593811830096899842275496078258",
                    "186760641805473872502138111867938479178"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-3b4330f6",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c",
                "function": "phy_device_release"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2708b357440427d6a9fee667eb7b8307f4625adc",
            "digest": {
                "length": 77.0,
                "function_hash": "198116239689472689870110612360515563622"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-63f948a6",
            "signature_type": "Function",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c",
                "function": "fwnode_mdiobus_register_phy"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdde1560118f82498fc9e9a7c1ef7f0ef7755891",
            "digest": {
                "length": 1139.0,
                "function_hash": "153035345187954118318879631704036494681"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-69495937",
            "signature_type": "Function",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@543d917f691ab06885ee779c862065899eaa4251",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "95074494671049175860470845947260836356",
                    "193660856583917591712509917462886635091",
                    "44730505593811830096899842275496078258",
                    "186760641805473872502138111867938479178"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-825855f9",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdde1560118f82498fc9e9a7c1ef7f0ef7755891",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "234821440306602979865896169972579826526",
                    "164114980967537113533187550604577556480",
                    "232642503574430282368621138851914741611",
                    "254773457988584592777178900108427333254"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-b63c2887",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdde1560118f82498fc9e9a7c1ef7f0ef7755891",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "95074494671049175860470845947260836356",
                    "193660856583917591712509917462886635091",
                    "44730505593811830096899842275496078258",
                    "186760641805473872502138111867938479178"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-c1b23af3",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c",
                "function": "phy_device_release"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@543d917f691ab06885ee779c862065899eaa4251",
            "digest": {
                "length": 77.0,
                "function_hash": "198116239689472689870110612360515563622"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-c4551fd4",
            "signature_type": "Function",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@2708b357440427d6a9fee667eb7b8307f4625adc",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "234821440306602979865896169972579826526",
                    "164114980967537113533187550604577556480",
                    "232642503574430282368621138851914741611",
                    "182081209681462190784819387729048204024"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-c509d7a3",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/phy/phy_device.c",
                "function": "phy_device_release"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@cdde1560118f82498fc9e9a7c1ef7f0ef7755891",
            "digest": {
                "length": 77.0,
                "function_hash": "198116239689472689870110612360515563622"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-e284c8a6",
            "signature_type": "Function",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@543d917f691ab06885ee779c862065899eaa4251",
            "digest": {
                "threshold": 0.9,
                "line_hashes": [
                    "234821440306602979865896169972579826526",
                    "164114980967537113533187550604577556480",
                    "232642503574430282368621138851914741611",
                    "182081209681462190784819387729048204024"
                ]
            },
            "deprecated": false,
            "id": "CVE-2022-49016-e8735761",
            "signature_type": "Line",
            "signature_version": "v1"
        },
        {
            "target": {
                "file": "drivers/net/mdio/fwnode_mdio.c",
                "function": "fwnode_mdiobus_register_phy"
            },
            "source": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git@543d917f691ab06885ee779c862065899eaa4251",
            "digest": {
                "length": 946.0,
                "function_hash": "206369008473237629103635501755946581163"
            },
            "deprecated": false,
            "id": "CVE-2022-49016-fd57682c",
            "signature_type": "Function",
            "signature_version": "v1"
        }
    ]
}

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
5.14.0
Fixed
5.15.82
Type
ECOSYSTEM
Events
Introduced
5.16.0
Fixed
6.0.12