[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20200208021216.GE23230@ZenIV.linux.org.uk>
Date: Sat, 8 Feb 2020 02:12:16 +0000
From: Al Viro <viro@...iv.linux.org.uk>
To: Daniel Rosenberg <drosen@...gle.com>
Cc: 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, Richard Weinberger <richard@....at>,
linux-mtd@...ts.infradead.org,
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,
Gabriel Krisman Bertazi <krisman@...labora.com>,
kernel-team@...roid.com
Subject: Re: [PATCH v7 2/8] fs: Add standard casefolding support
On Fri, Feb 07, 2020 at 05:35:46PM -0800, Daniel Rosenberg wrote:
> +int generic_ci_d_compare(const struct dentry *dentry, unsigned int len,
> + const char *str, const struct qstr *name)
> +{
> + const struct dentry *parent = READ_ONCE(dentry->d_parent);
> + const struct inode *inode = READ_ONCE(parent->d_inode);
> + const struct super_block *sb = dentry->d_sb;
> + const struct unicode_map *um = sb->s_encoding;
> + struct qstr entry = QSTR_INIT(str, len);
> + int ret;
> +
> + if (!inode || !needs_casefold(inode))
> + goto fallback;
> +
> + ret = utf8_strncasecmp(um, name, &entry);
Again, is that safe in case when the contents of the string str points to
keeps changing under you?
Powered by blists - more mailing lists