From patchwork Tue Jul 12 15:02:52 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Shirish Pargaonkar X-Patchwork-Id: 968572 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter2.kernel.org (8.14.4/8.14.4) with ESMTP id p6CEt76A010775 for ; Tue, 12 Jul 2011 14:56:45 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753267Ab1GLO4o (ORCPT ); Tue, 12 Jul 2011 10:56:44 -0400 Received: from mail-yi0-f46.google.com ([209.85.218.46]:44734 "EHLO mail-yi0-f46.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751009Ab1GLO4o (ORCPT ); Tue, 12 Jul 2011 10:56:44 -0400 Received: by yia27 with SMTP id 27so1968704yia.19 for ; Tue, 12 Jul 2011 07:56:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; bh=ZDNSlBycSvdNwueQR7olw+adA+k86D1kx+77WJqIygQ=; b=ClVcZ7lPjyZDPFFSJyAfURwVHlkivhmszeFq+vxMvFAt/ZJisapb5OyZuv/DjX/x67 f8F98jTTr9kB7NSOuzbhz+SxEkkyYuqkx4awlfqCvlQzXrlF2kNj6k/g6c7/fZB4Mk71 lG1p+JSq+tVFEMjhdGgKFjHEdf/1BBDN5JEwE= Received: by 10.236.73.162 with SMTP id v22mr49271yhd.281.1310482603769; Tue, 12 Jul 2011 07:56:43 -0700 (PDT) Received: from localhost ([32.97.110.58]) by mx.google.com with ESMTPS id b47sm2286568yhe.53.2011.07.12.07.56.42 (version=TLSv1/SSLv3 cipher=OTHER); Tue, 12 Jul 2011 07:56:42 -0700 (PDT) From: shirishpargaonkar@gmail.com To: smfrench@gmail.com Cc: linux-cifs@vger.kernel.org, Shirish Pargaonkar Subject: [PATCH] cifs: cleanup - check for null direntry first Date: Tue, 12 Jul 2011 10:02:52 -0500 Message-Id: <1310482972-3774-1-git-send-email-shirishpargaonkar@gmail.com> X-Mailer: git-send-email 1.6.0.2 Sender: linux-cifs-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-cifs@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.6 (demeter2.kernel.org [140.211.167.43]); Tue, 12 Jul 2011 14:56:45 +0000 (UTC) From: Shirish Pargaonkar Check for NULL direntry before assigning fields off of it. Signed-off-by: Shirish Pargaonkar --- fs/cifs/dir.c | 6 ++++-- 1 files changed, 4 insertions(+), 2 deletions(-) diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 81914df..e9ea4c8 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c @@ -53,14 +53,16 @@ build_path_from_dentry(struct dentry *direntry) int dfsplen; char *full_path; char dirsep; - struct cifs_sb_info *cifs_sb = CIFS_SB(direntry->d_sb); - struct cifs_tcon *tcon = cifs_sb_master_tcon(cifs_sb); + struct cifs_sb_info *cifs_sb; + struct cifs_tcon *tcon; if (direntry == NULL) return NULL; /* not much we can do if dentry is freed and we need to reopen the file after it was closed implicitly when the server crashed */ + cifs_sb = CIFS_SB(direntry->d_sb); + tcon = cifs_sb_master_tcon(cifs_sb); dirsep = CIFS_DIR_SEP(cifs_sb); if (tcon->Flags & SMB_SHARE_IS_IN_DFS) dfsplen = strnlen(tcon->treeName, MAX_TREE_SIZE + 1);