ptp: Fix possible memory leak caused by invalid cast
authorVinicius Costa Gomes <vinicius.gomes@intel.com>
Sat, 7 Aug 2021 01:15:46 +0000 (18:15 -0700)
committerDavid S. Miller <davem@davemloft.net>
Sun, 8 Aug 2021 11:56:41 +0000 (12:56 +0100)
Fixes possible leak of PTP virtual clocks.

The number of PTP virtual clocks to be unregistered is passed as
'u32', but the function that unregister the devices handles that as
'u8'.

Fixes: 73f37068d540 ("ptp: support ptp physical/virtual clocks conversion")
Signed-off-by: Vinicius Costa Gomes <vinicius.gomes@intel.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/ptp/ptp_sysfs.c

index b3d96b74729256852840fb2ae455b68f254f6e4b..41b92dc2f011a3541c59e5a8248cf6f05eae4aa8 100644 (file)
@@ -154,7 +154,7 @@ static int unregister_vclock(struct device *dev, void *data)
        struct ptp_clock *ptp = dev_get_drvdata(dev);
        struct ptp_clock_info *info = ptp->info;
        struct ptp_vclock *vclock;
-       u8 *num = data;
+       u32 *num = data;
 
        vclock = info_to_vclock(info);
        dev_info(dev->parent, "delete virtual clock ptp%d\n",