In the Linux kernel, the following vulnerability has been resolved:
net: dsa: bcm_sf2: Fix a possible memory leak in bcm_sf2_mdio_register()
bcm_sf2_mdio_register() calls of_phy_find_device() and then
phy_device_remove() in a loop to remove existing PHY devices.
of_phy_find_device() eventually calls bus_find_device(), which calls
get_device() on the returned struct device * to increment the refcount.
The current implementation does not decrement the refcount, which causes
memory leak.
This commit adds the missing phy_device_free() call to decrement the
refcount via put_device() to balance the refcount.
[
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "unaffected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/net/dsa/bcm_sf2.c"
],
"versions": [
{
"version": "771089c2a485",
"lessThan": "b7b8d9f5e679",
"status": "affected",
"versionType": "git"
},
{
"version": "771089c2a485",
"lessThan": "c05516c07290",
"status": "affected",
"versionType": "git"
},
{
"version": "771089c2a485",
"lessThan": "7feef10768ea",
"status": "affected",
"versionType": "git"
},
{
"version": "771089c2a485",
"lessThan": "a7d2808d6757",
"status": "affected",
"versionType": "git"
},
{
"version": "771089c2a485",
"lessThan": "f3d5efe18a11",
"status": "affected",
"versionType": "git"
},
{
"version": "771089c2a485",
"lessThan": "e3862093ee93",
"status": "affected",
"versionType": "git"
}
]
},
{
"product": "Linux",
"vendor": "Linux",
"defaultStatus": "affected",
"repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
"programFiles": [
"drivers/net/dsa/bcm_sf2.c"
],
"versions": [
{
"version": "5.10",
"status": "affected"
},
{
"version": "0",
"lessThan": "5.10",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.10.224",
"lessThanOrEqual": "5.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "5.15.165",
"lessThanOrEqual": "5.15.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.1.105",
"lessThanOrEqual": "6.1.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.6.46",
"lessThanOrEqual": "6.6.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.10.5",
"lessThanOrEqual": "6.10.*",
"status": "unaffected",
"versionType": "custom"
},
{
"version": "6.11",
"lessThanOrEqual": "*",
"status": "unaffected",
"versionType": "original_commit_for_fix"
}
]
}
]
git.kernel.org/stable/c/7feef10768ea71d468d9bbc1e0d14c461876768c
git.kernel.org/stable/c/a7d2808d67570e6acae45c2a96e0d59986888e4c
git.kernel.org/stable/c/b7b8d9f5e679af60c94251fd6728dde34be69a71
git.kernel.org/stable/c/c05516c072903f6fb9134b8e7e1ad4bffcdc4819
git.kernel.org/stable/c/e3862093ee93fcfbdadcb7957f5f8974fffa806a
git.kernel.org/stable/c/f3d5efe18a11f94150fee8b3fda9d62079af640a