From patchwork Thu Aug 19 10:02:15 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Dan Carpenter X-Patchwork-Id: 62126 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id E3618B70DC for ; Thu, 19 Aug 2010 20:02:58 +1000 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752056Ab0HSKCw (ORCPT ); Thu, 19 Aug 2010 06:02:52 -0400 Received: from mail-ey0-f174.google.com ([209.85.215.174]:61896 "EHLO mail-ey0-f174.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751947Ab0HSKCv (ORCPT ); Thu, 19 Aug 2010 06:02:51 -0400 Received: by eyg5 with SMTP id 5so1066261eyg.19 for ; Thu, 19 Aug 2010 03:02:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:date:from:to:cc:subject :message-id:mime-version:content-type:content-disposition:user-agent; bh=SRUCWf6enm8M7sgFfO/9ZhIHANMAvOycDRLte1RvnXM=; b=mB7N8Lkjzf/rwuigzwqvokK4XHZXGJ0P5iQUkxvczjdYRp0Zor5DIK1WQ1XLBtTL/C ZsbLCathvcA1bPi+bcb/OX29lLq245rVbJoU5zxTlwqbszPDJeJL6TAPbjJB1LANn82b R1P9dYUF3iaHEvpGbgnKNNlsXbCKyhmJhnAT0= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=date:from:to:cc:subject:message-id:mime-version:content-type :content-disposition:user-agent; b=nZT88I6/Qfiwr/8tnBnGAdvg+zQFuL9SuRq/Uq++STCysJi4Cu4xC32gfUc4NOGz7Y lwVhIHFsIX5vbl+j3DO5RGnHMLpNpo0fbcaKHTEumcG8ZX59LhOLnIJ9siiYVwj9QD2c rK/ytyLp1MkZ5zM7ESDeICzRX7XUcJwQD03FM= Received: by 10.216.21.7 with SMTP id q7mr485640weq.19.1282212169589; Thu, 19 Aug 2010 03:02:49 -0700 (PDT) Received: from bicker ([41.205.146.22]) by mx.google.com with ESMTPS id o84sm871621wej.37.2010.08.19.03.02.38 (version=TLSv1/SSLv3 cipher=RC4-MD5); Thu, 19 Aug 2010 03:02:48 -0700 (PDT) Date: Thu, 19 Aug 2010 12:02:15 +0200 From: Dan Carpenter To: Ron Mercer Cc: linux-driver@qlogic.com, "David S. Miller" , Breno Leitao , netdev@vger.kernel.org, kernel-janitors@vger.kernel.org, ron.mercer@qlogic.com Subject: [patch] qlge: pull NULL check ahead of dereference Message-ID: <20100819100214.GB6674@bicker> MIME-Version: 1.0 Content-Disposition: inline User-Agent: Mutt/1.5.18 (2008-05-17) Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org There was a dereference before NULL check issue introduced in 1e213303d "qlge: Add tx multiqueue support." I've pulled the NULL check of "net_rsp" forward a couple lines to restore the original semantics. Signed-off-by: Dan Carpenter --- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/drivers/net/qlge/qlge_main.c b/drivers/net/qlge/qlge_main.c index 8d63f69..611fba4 100644 --- a/drivers/net/qlge/qlge_main.c +++ b/drivers/net/qlge/qlge_main.c @@ -2223,9 +2223,12 @@ static int ql_clean_outbound_rx_ring(struct rx_ring *rx_ring) prod = ql_read_sh_reg(rx_ring->prod_idx_sh_reg); } ql_write_cq_idx(rx_ring); + + if (!net_rsp) + return 0; + tx_ring = &qdev->tx_ring[net_rsp->txq_idx]; - if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id) && - net_rsp != NULL) { + if (__netif_subqueue_stopped(qdev->ndev, tx_ring->wq_id)) { if (atomic_read(&tx_ring->queue_stopped) && (atomic_read(&tx_ring->tx_count) > (tx_ring->wq_len / 4))) /*