From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S933886AbXJLWko (ORCPT ); Fri, 12 Oct 2007 18:40:44 -0400 Received: (majordomo@vger.kernel.org) by vger.kernel.org id S932585AbXJLWUj (ORCPT ); Fri, 12 Oct 2007 18:20:39 -0400 Received: from ns2.suse.de ([195.135.220.15]:49819 "EHLO mx2.suse.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932602AbXJLWUg (ORCPT ); Fri, 12 Oct 2007 18:20:36 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Tejun Heo , "Eric W. Biederman" , Cornelia Huck , Greg Kroah-Hartman Subject: [PATCH 38/75] sysfs: fix i_mutex locking in sysfs_get_dentry() Date: Fri, 12 Oct 2007 15:16:42 -0700 Message-Id: <11922276201219-git-send-email-gregkh@suse.de> X-Mailer: git-send-email 1.5.3.4 In-Reply-To: <11922276163147-git-send-email-gregkh@suse.de> References: \<20071012221251.GB4559@kroah.com\> <11922274393667-git-send-email-gregkh@suse.de> <11922274441634-git-send-email-gregkh@suse.de> <11922274503271-git-send-email-gregkh@suse.de> <11922274543490-git-send-email-gregkh@suse.de> <11922274643370-git-send-email-gregkh@suse.de> <11922274682487-git-send-email-gregkh@suse.de> <11922274732211-git-send-email-gregkh@suse.de> <11922274772578-git-send-email-gregkh@suse.de> <1192227481691-git-send-email-gregkh@suse.de> <11922274853108-git-send-email-gregkh@suse.de> <11922274901810-git-send-email-gregkh@suse.de> <11922274941588-git-send-email-gregkh@suse.de> <11922274993462-git-send-email-gregkh@suse.de> <11922275031518-git-send-email-gregkh@suse.de> <11922275074080-git-send-email-gregkh@suse.de> <11922275121763-git-send-email-gregkh@suse.de> <11922275181138-git-send-email-gregkh@suse.de> <11922275221643-git-send-email-gregkh@suse.de> <1192227527856-git-send-email-gregkh@suse.de> <11922275312531-git-send-email-gregkh@suse.de> <11922275371856-git-send-email-gregkh@suse.de> <11922275413548-git-send-email-gregkh@suse.de> <11922275462233-git-send-email-gregkh@suse.de> <1192227551156-git-send-email-gregkh@suse.de> <11922275552558-git-send-email-gregkh@suse.de> <119222756066-git-send-email-gregkh@suse.de> <11922275642378-git-send-email-gregkh@suse.de> <11922275693989-git-send-email-gregkh@suse.de> <1192227574129-git-send-email-gregkh@suse.de> <11922275781508-git-send-email-gregkh@suse.de> <11922275843236-git-send-email-gregkh@suse.de> <1192227589276-git-send-email-gregkh@suse.de> <1192227593813-git-send-email-gregkh@suse.de> <1192227598106-git-send-email-gregkh@suse.de> <1192227603335-git-send-email-gregkh@suse.de> <1192227611369-git-send-email-gregkh@suse.de> <11922276163147-git-send-email-gregkh@suse.de> Sender: linux-kernel-owner@vger.kernel.org X-Mailing-List: linux-kernel@vger.kernel.org From: Tejun Heo lookup_one_len_kern() should be called with the parent's i_mutex locked. Fix it. Spotted by Eric W. Biederman. Signed-off-by: Tejun Heo Cc: Eric W. Biederman Cc: Cornelia Huck Signed-off-by: Greg Kroah-Hartman --- fs/sysfs/dir.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/fs/sysfs/dir.c b/fs/sysfs/dir.c index a0da2b0..54ca4bc 100644 --- a/fs/sysfs/dir.c +++ b/fs/sysfs/dir.c @@ -130,8 +130,10 @@ struct dentry *sysfs_get_dentry(struct sysfs_dirent *sd) /* look it up */ parent_dentry = dentry; + mutex_lock(&parent_dentry->d_inode->i_mutex); dentry = lookup_one_len_kern(cur->s_name, parent_dentry, strlen(cur->s_name)); + mutex_unlock(&parent_dentry->d_inode->i_mutex); dput(parent_dentry); if (IS_ERR(dentry)) { -- 1.5.3.4