lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 1 Apr 2008 17:06:55 -0400 From: Erez Zadok <ezk@...sunysb.edu> To: akpm@...ux-foundation.org Cc: linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org, viro@....linux.org.uk, hch@...radead.org, Erez Zadok <ezk@...sunysb.edu> Subject: [PATCH 13/14] Unionfs: don't purge lower sb data on remount This is no longer needed, as we don't have upper and lower pages. Plus this was racy, requiring the unexported inode_lock variable. Signed-off-by: Erez Zadok <ezk@...sunysb.edu> --- fs/unionfs/dentry.c | 11 ----------- fs/unionfs/super.c | 8 +++++--- 2 files changed, 5 insertions(+), 14 deletions(-) diff --git a/fs/unionfs/dentry.c b/fs/unionfs/dentry.c index 5e498c2..ee0da4f 100644 --- a/fs/unionfs/dentry.c +++ b/fs/unionfs/dentry.c @@ -273,17 +273,6 @@ static inline void purge_inode_data(struct inode *inode) */ } -void purge_sb_data(struct super_block *sb) -{ - struct inode *inode; - - list_for_each_entry(inode, &sb->s_inodes, i_sb_list) { - if (inode->i_state & (I_FREEING|I_WILL_FREE)) - continue; - purge_inode_data(inode); - } -} - /* * Revalidate a single file/symlink/special dentry. Assume that info nodes * of the dentry and its parent are locked. Assume that parent(s) are all diff --git a/fs/unionfs/super.c b/fs/unionfs/super.c index 4cddc83..82b4045 100644 --- a/fs/unionfs/super.c +++ b/fs/unionfs/super.c @@ -747,10 +747,12 @@ out_no_change: * function). This revalidation will happen lazily and * incrementally, as users perform operations on cached inodes. We * would like to encourage this revalidation to happen sooner if - * possible, so we try to invalidate as many other pages in our - * superblock as we can. + * possible, so we like to try to invalidate as many other pages in + * our superblock as we can. We used to call drop_pagecache_sb() or + * a variant thereof, but either method was racy (drop_caches alone + * is known to be racy). So now we let the revalidation happen on a + * per file basis in ->d_revalidate. */ - purge_sb_data(sb); /* grab new lower super references; release old ones */ for (i = 0; i < new_branches; i++) -- 1.5.2.2 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists