[PATCH v4 1/2] mt76: mt7915: fix hwmon temp sensor mem use-after-free
Ryder Lee
ryder.lee at mediatek.com
Fri Jul 30 19:17:27 PDT 2021
From: Ben Greear <greearb at candelatech.com>
Without this change, garbage is seen in the hwmon name
and sensors output for mt7915 is garbled.
With the change:
mt7915-pci-1400
Adapter: PCI adapter
temp1: +49.0°C
Fixes: d6938251bb5b (mt76: mt7915: add thermal sensor device support)
Signed-off-by: Ben Greear <greearb at candelatech.com>
Signed-off-by: Ryder Lee <ryder.lee at mediatek.com>
---
v4: Simplify flow.
v3: Add 'fixes' tag to aid backports.
---
drivers/net/wireless/mediatek/mt76/mt7915/init.c | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/wireless/mediatek/mt76/mt7915/init.c b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
index 77c7486d6a5c..a1b9e1b3f700 100644
--- a/drivers/net/wireless/mediatek/mt76/mt7915/init.c
+++ b/drivers/net/wireless/mediatek/mt76/mt7915/init.c
@@ -155,13 +155,13 @@ static void mt7915_unregister_thermal(struct mt7915_phy *phy)
thermal_cooling_device_unregister(phy->cdev);
}
-static int mt7915_thermal_init(struct mt7915_phy *phy)
+static int mt7915_thermal_init(struct mt7915_phy *phy, const char *prefix)
{
struct wiphy *wiphy = phy->mt76->hw->wiphy;
struct thermal_cooling_device *cdev;
struct device *hwmon;
- cdev = thermal_cooling_device_register(wiphy_name(wiphy), phy,
+ cdev = thermal_cooling_device_register(prefix, phy,
&mt7915_thermal_ops);
if (!IS_ERR(cdev)) {
if (sysfs_create_link(&wiphy->dev.kobj, &cdev->device.kobj,
@@ -175,7 +175,7 @@ static int mt7915_thermal_init(struct mt7915_phy *phy)
return 0;
hwmon = devm_hwmon_device_register_with_groups(&wiphy->dev,
- wiphy_name(wiphy), phy,
+ prefix, phy,
mt7915_hwmon_groups);
if (IS_ERR(hwmon))
return PTR_ERR(hwmon);
@@ -403,7 +403,7 @@ static int mt7915_register_ext_phy(struct mt7915_dev *dev)
if (ret)
goto error;
- ret = mt7915_thermal_init(phy);
+ ret = mt7915_thermal_init(phy, KBUILD_MODNAME "-ext");
if (ret)
goto error;
@@ -853,7 +853,7 @@ int mt7915_register_device(struct mt7915_dev *dev)
if (ret)
return ret;
- ret = mt7915_thermal_init(&dev->phy);
+ ret = mt7915_thermal_init(&dev->phy, KBUILD_MODNAME);
if (ret)
return ret;
--
2.29.2
More information about the Linux-mediatek
mailing list