From patchwork Tue Mar 1 11:33:27 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Huzaifa Sidhpurwala X-Patchwork-Id: 84926 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 7C526B7102 for ; Tue, 1 Mar 2011 22:34:06 +1100 (EST) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1756199Ab1CALeA (ORCPT ); Tue, 1 Mar 2011 06:34:00 -0500 Received: from mx1.redhat.com ([209.132.183.28]:29624 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755822Ab1CALeA (ORCPT ); Tue, 1 Mar 2011 06:34:00 -0500 Received: from int-mx10.intmail.prod.int.phx2.redhat.com (int-mx10.intmail.prod.int.phx2.redhat.com [10.5.11.23]) by mx1.redhat.com (8.14.4/8.14.4) with ESMTP id p21BXVIm031019 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Tue, 1 Mar 2011 06:33:31 -0500 Received: from babylon.pnq.redhat.com (babylon.pnq.redhat.com [10.65.192.182]) by int-mx10.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id p21BXTGu028387; Tue, 1 Mar 2011 06:33:30 -0500 Received: by babylon.pnq.redhat.com (Postfix, from userid 500) id 200A721CD1; Tue, 1 Mar 2011 17:03:29 +0530 (IST) From: huzaifas@redhat.com To: netdev@vger.kernel.org Cc: geert@linux-m68k.org, tj@kernel.org, davem@davemloft.net, eric.dumazet@gmail.com, Huzaifa Sidhpurwala Subject: [PATCH] Fix possible null pointer dereference in ariadne.c Date: Tue, 1 Mar 2011 17:03:27 +0530 Message-Id: <1298979207-11237-1-git-send-email-huzaifas@redhat.com> X-Scanned-By: MIMEDefang 2.68 on 10.5.11.23 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Huzaifa Sidhpurwala Make sure dev exists before referencing it Signed-off-by: Huzaifa Sidhpurwala --- drivers/net/ariadne.c | 3 ++- 1 files changed, 2 insertions(+), 1 deletions(-) diff --git a/drivers/net/ariadne.c b/drivers/net/ariadne.c index 39214e5..fc3c762 100644 --- a/drivers/net/ariadne.c +++ b/drivers/net/ariadne.c @@ -420,7 +420,7 @@ static inline void ariadne_reset(struct net_device *dev) static irqreturn_t ariadne_interrupt(int irq, void *data) { struct net_device *dev = (struct net_device *)data; - volatile struct Am79C960 *lance = (struct Am79C960*)dev->base_addr; + volatile struct Am79C960 *lance; struct ariadne_private *priv; int csr0, boguscnt; int handled = 0; @@ -430,6 +430,7 @@ static irqreturn_t ariadne_interrupt(int irq, void *data) return IRQ_NONE; } + *lance = (struct Am79C960*)dev->base_addr; lance->RAP = CSR0; /* PCnet-ISA Controller Status */ if (!(lance->RDP & INTR)) /* Check if any interrupt has been */