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 PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 03 Dec 2019 14:42:10 -0500 From: Gabriel Krisman Bertazi <krisman@...labora.com> To: Gao Xiang <gaoxiang25@...wei.com> Cc: Daniel Rosenberg <drosen@...gle.com>, Theodore Ts'o <tytso@....edu>, <linux-ext4@...r.kernel.org>, Jaegeuk Kim <jaegeuk@...nel.org>, Chao Yu <chao@...nel.org>, <linux-f2fs-devel@...ts.sourceforge.net>, Eric Biggers <ebiggers@...nel.org>, <linux-fscrypt@...r.kernel.org>, Alexander Viro <viro@...iv.linux.org.uk>, Andreas Dilger <adilger.kernel@...ger.ca>, Jonathan Corbet <corbet@....net>, <linux-doc@...r.kernel.org>, <linux-kernel@...r.kernel.org>, <linux-fsdevel@...r.kernel.org>, <kernel-team@...roid.com> Subject: Re: [PATCH 4/8] vfs: Fold casefolding into vfs Gao Xiang <gaoxiang25@...wei.com> writes: > On Mon, Dec 02, 2019 at 09:10:45PM -0800, Daniel Rosenberg wrote: >> Ext4 and F2fs are both using casefolding, and they, along with any other >> filesystem that adds the feature, will be using identical dentry_ops. >> Additionally, those dentry ops interfere with the dentry_ops required >> for fscrypt once we add support for casefolding and encryption. >> Moving this into the vfs removes code duplication as well as the >> complication with encryption. >> >> Currently this is pretty close to just moving the existing f2fs/ext4 >> code up a level into the vfs, although there is a lot of room for >> improvement now. >> >> Signed-off-by: Daniel Rosenberg <drosen@...gle.com> > > I'm afraid that such vfs modification is unneeded. > > Just a quick glance it seems just can be replaced by introducing some > .d_cmp, .d_hash helpers (or with little modification) and most non-Android > emulated storage files are not casefolded (even in Android). > > "those dentry ops interfere with the dentry_ops required for fscrypt", > I don't think it's a real diffculty and it could be done with some > better approach instead. It would be good to avoid dentry_ops in general for these cases. It doesn't just interfere with fscrypt, but also overlayfs and others. The difficulty is that it is not trivial to change dentry_ops after dentries are already installed in the dcache. Which means that it is hard to use different dentry_ops for different parts of the filesystem, for instance when converting a directory to case-insensitive or back to case-sensitive. In fact, currently and for case-insensitive at least, we install generic hooks for the entire case-insensitive filesystem and use it even for !IS_CASEFOLDED() directories. This breaks overlayfs even if we don't have a single IS_CASEFOLDED() directory at all, just by having the superblock flag, we *must* set the dentry_ops, which already breaks overlayfs. I think Daniel's approach of moving this into VFS is the simplest way to actually solve the issue, instead of extending and duplicating a lot of functionality into filesystem hooks to support the possible mixes of case-insensitive, overlayfs and fscrypt. -- Gabriel Krisman Bertazi
Powered by blists - more mailing lists