Re: [PATCH] ext4: avoid setting directory i_nlink to zero

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Oct 25, 2011 at 09:33:05AM -0600, Andreas Dilger wrote:
> If a directory with more than EXT4_LINK_MAX subdirectories, the nlink
> count is set to 1.  Subsequently, if any subdirectories are deleted,
> ext4_dec_count() decrements the i_nlink count, which may go to 0
> temporarily before being incremented back to 1.
> 
> While this is done under i_mutex, which prevents races for directory
> and inode operations that check i_nlink, the temporary i_nlink == 0
> case is exposed to userspace via stat() and similar calls that do not
> hold i_mutex.
> 
> Instead, change the code to not decrement i_nlink count for any
> directories that do not already have i_nlink larger than 2.
> 
> Reported-by: Cliff White <cliffw@xxxxxxxxxxxxx>
> Reviewed-by: Johann Lombardi <johann@xxxxxxxxxxxxx>
> Signed-off-by: Andreas Dilger <adilger@xxxxxxxxxxxxx>


Applied, thanks.

				- Ted
--
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux