Re: Question about scsi_qla_host_t.fcports list protection (qla2xxx)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Vladislav Bolkhovitin wrote:
Andrew Vasquez wrote:

On Tue, 15 Aug 2006, Vladislav Bolkhovitin wrote:


Looking at the qla2xxx driver source code I noticed that scsi_qla_host_t.fcports is used without any protection. For instance, qla2x00_loop_reset() walks over this list. This function is called from qla2xxx_eh_bus_reset(), which could be called at any time. What does protect fcports from being changed, eg, by some async loop event during the walking and eventually oops'ing? Do I miss something? There are many such unprotected fcports list usages in the driver.



Nothing is ever removed from the fcports list during driver execution.
fcports are also only added from a single context (post init-time)
within the DPC thread.


How about qla2x00_send_login_iocb_cb(), where an entry is added to fcports list and which is called from IRQ context from qla2x00_process_iodesc()?

Sorry for the noise, I just checked in 2.6.18-rc6 and from it all that code was removed. Anyway, the problem with unsafe fcports list iterating remains valid.

Vlad

We are safe here.


Regards,
Andrew Vasquez


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


-
To unsubscribe from this list: send the line "unsubscribe linux-scsi" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux