Commit 4416e985 authored by Tong Zhang's avatar Tong Zhang Committed by David S. Miller
Browse files

atm: idt77252: fix null-ptr-dereference



this one is similar to the phy_data allocation fix in uPD98402, the
driver allocate the idt77105_priv and store to dev_data but later
dereference using dev->dev_data, which will cause null-ptr-dereference.

fix this issue by changing dev_data to phy_data so that PRIV(dev) can
work correctly.

Signed-off-by: default avatarTong Zhang <ztong0001@gmail.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 3153724f
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -262,7 +262,7 @@ static int idt77105_start(struct atm_dev *dev)
{
	unsigned long flags;

	if (!(dev->dev_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL)))
	if (!(dev->phy_data = kmalloc(sizeof(struct idt77105_priv),GFP_KERNEL)))
		return -ENOMEM;
	PRIV(dev)->dev = dev;
	spin_lock_irqsave(&idt77105_priv_lock, flags);
@@ -337,7 +337,7 @@ static int idt77105_stop(struct atm_dev *dev)
                else
                    idt77105_all = walk->next;
	        dev->phy = NULL;
                dev->dev_data = NULL;
                dev->phy_data = NULL;
                kfree(walk);
                break;
            }