On 12/09/2012 01:47 AM, Elena Gurevich wrote: > Hi all, > I am pioneer in linux device drivers here and using Intel 82599 NIC as > reference model, > During investigation to drivers sources I found the suspicious code: > > Is code sequence (1) and (2) the possible device reference count leakage > ??? > > > Thanks a lot in advance > Lena > > --------snipped from ixgbe_main.c file function ixgbe_io_error_detected() > ----------- > > . . . > /* Find the pci device of the offending VF */ > vfdev = pci_get_device(PCI_VENDOR_ID_INTEL, device_id, > NULL); > while (vfdev) { > if (vfdev->devfn == (req_id & 0xFF)) > break; > <------------------------------ (1) leaves the loop with successful get > call !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! > > vfdev = pci_get_device(PCI_VENDOR_ID_INTEL, > device_id, vfdev); > } > /* > * There's a slim chance the VF could have been hot plugged, > * so if it is no longer present we don't need to issue the > * VFLR. Just clean up the AER in that case. > */ > if (vfdev) { > e_dev_err("Issuing VFLR to VF %d\n", vf); > pci_write_config_dword(vfdev, 0xA8, 0x00008000); > } > > pci_cleanup_aer_uncorrect_error_status(pdev); > } > > /* > * Even though the error may have occurred on the other port > * we still need to increment the vf error reference count for > * both ports because the I/O resume function will be called > * for both of them. > */ > adapter->vferr_refcount++; > > return PCI_ERS_RESULT_RECOVERED; > <-------------------------------------------- (2) leaves the function > without put call !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! > ---------------------------------- snipped > ----------------------------------- > Added Greg Rose (ixgbevf maintainer) & Don Skidmore (ixgbe maintainer)
Since the code you have questions about is dealing with the vf, Greg will most likely be able to shed some light to your questions.
signature.asc
Description: OpenPGP digital signature
------------------------------------------------------------------------------ LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial Remotely access PCs and mobile devices and provide instant support Improve your efficiency, and focus on delivering more value-add services Discover what IT Professionals Know. Rescue delivers http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________ E1000-devel mailing list E1000-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/e1000-devel To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired