lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Wed, 02 May 2007 18:13:12 -0700 From: "Michael Chan" <mchan@...adcom.com> To: "Jeff Garzik" <jeff@...zik.org> cc: "David Miller" <davem@...emloft.net>, "netdev" <netdev@...r.kernel.org> Subject: Re: [PATCH 4/20][BNX2]: Fix race conditions when calling register_netdev(). On Wed, 2007-05-02 at 03:07 -0400, Jeff Garzik wrote: > Michael Chan wrote: > > > > @@ -6195,6 +6197,18 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > > dev->poll_controller = poll_bnx2; > > #endif > > > > + pci_set_drvdata(pdev, dev); > > + > > + memcpy(dev->dev_addr, bp->mac_addr, 6); > > + memcpy(dev->perm_addr, bp->mac_addr, 6); > > + bp->name = board_info[ent->driver_data].name; > > + > > + dev->features |= NETIF_F_IP_CSUM | NETIF_F_SG; > > +#ifdef BCM_VLAN > > + dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_RX; > > +#endif > > + dev->features |= NETIF_F_TSO | NETIF_F_TSO_ECN; > > + > > if ((rc = register_netdev(dev))) { > > dev_err(&pdev->dev, "Cannot register net device\n"); > > if (bp->regview) > > @@ -6206,11 +6220,6 @@ bnx2_init_one(struct pci_dev *pdev, const struct pci_device_id *ent) > > return rc; > > } > > > > - pci_set_drvdata(pdev, dev); > > - > > - memcpy(dev->dev_addr, bp->mac_addr, 6); > > - memcpy(dev->perm_addr, bp->mac_addr, 6); > > - bp->name = board_info[ent->driver_data].name, > > NAK. Since you move the pci_set_drvdata() call, you must now add a call > to pci_set_drvdata(pdev, NULL) on error. It is not obvious in the patch, but it already (unnecessarily) calls pci_set_drvdata(pdev, NULL) if register_netdev() fails in the driver today. - To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists