From: Ming Lei Date: Wed, 20 Mar 2013 15:25:24 +0000 (+0800) Subject: sysfs: fix race between readdir and lseek X-Git-Tag: v3.9-rc5~15^2~1 X-Git-Url: http://git.openpandora.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=991f76f837bf22c5bb07261cfd86525a0a96650c;p=pandora-kernel.git sysfs: fix race between readdir and lseek While readdir() is running, lseek() may set filp->f_pos as zero, then may leave filp->private_data pointing to one sysfs_dirent object without holding its reference counter, so the sysfs_dirent object may be used after free in next readdir(). This patch holds inode->i_mutex to avoid the problem since the lock is always held in readdir path. Reported-by: Dave Jones Tested-by: Sasha Levin Cc: Signed-off-by: Ming Lei Signed-off-by: Greg Kroah-Hartman --- Reading git-diff-tree failed