Fw: [Bugme-new] [Bug 7644] New: Race: host lock is not acquired before calling ql_icmd

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

 



Does drivers/scsi/qlogicfas408.c have a maintainer?


Begin forwarded message:

Date: Wed, 6 Dec 2006 16:14:31 -0800
From: bugme-daemon@xxxxxxxxxxxxxxxxxxx
To: bugme-new@xxxxxxxxxxxxxx
Subject: [Bugme-new] [Bug 7644] New: Race: host lock is not acquired before calling ql_icmd


http://bugzilla.kernel.org/show_bug.cgi?id=7644

           Summary: Race: host lock is not acquired before calling ql_icmd
    Kernel Version: 2.6.19
            Status: NEW
          Severity: normal
             Owner: drivers_parallel@xxxxxxxxxxxxxxxxxxxx
         Submitter: tammy000@xxxxxxxxx


The caller of ql_icmd() should hold the host lock (from the head comments of
ql_icmd() shown below). But, the lock is not acquired in function
qlogicfas408_queuecommand(). All of these code is in file
drivers/scsi/qlogicfas408.c

/*
 *      Initiate scsi command - queueing handler 
 *      caller must hold host lock
 */

static void ql_icmd(struct scsi_cmnd *cmd)
{
        struct qlogicfas408_priv *priv = get_priv_by_cmd(cmd);
        int     qbase = priv->qbase;
        int     int_type = priv->int_type;
        unsigned int i;

        priv->qabort = 0;

        REG0;
        /* clearing of interrupts and the fifo is needed */

 ...

------------------------------------------------------

int qlogicfas408_queuecommand(struct scsi_cmnd *cmd,
                              void (*done) (struct scsi_cmnd *))
{
        struct qlogicfas408_priv *priv = get_priv_by_cmd(cmd);
        if (scmd_id(cmd) == priv->qinitid) {
                cmd->result = DID_BAD_TARGET << 16;
                done(cmd);
                return 0;
        }

        cmd->scsi_done = done;
        /* wait for the last command's interrupt to finish */
        while (priv->qlcmd != NULL) {
                barrier();
                cpu_relax();
        }
        ql_icmd(cmd);
        return 0;
}

------- You are receiving this mail because: -------
You are on the CC list for the bug, or are watching someone who is.
-
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