[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202409031655.gO1eC1AL-lkp@intel.com>
Date: Tue, 3 Sep 2024 17:04:28 +0800
From: kernel test robot <lkp@...el.com>
To: André Almeida <andrealmeid@...lia.com>,
Hugh Dickins <hughd@...gle.com>,
Andrew Morton <akpm@...ux-foundation.org>,
Alexander Viro <viro@...iv.linux.org.uk>,
Christian Brauner <brauner@...nel.org>, Jan Kara <jack@...e.cz>,
krisman@...nel.org
Cc: oe-kbuild-all@...ts.linux.dev,
Linux Memory Management List <linux-mm@...ck.org>,
linux-kernel@...r.kernel.org, linux-fsdevel@...r.kernel.org,
kernel-dev@...lia.com, Daniel Rosenberg <drosen@...gle.com>,
smcv@...labora.com, Christoph Hellwig <hch@....de>,
André Almeida <andrealmeid@...lia.com>,
Gabriel Krisman Bertazi <gabriel@...sman.be>
Subject: Re: [PATCH v2 2/8] unicode: Create utf8_check_strict_name
Hi André,
kernel test robot noticed the following build errors:
[auto build test ERROR on akpm-mm/mm-everything]
[also build test ERROR on tytso-ext4/dev brauner-vfs/vfs.all linus/master v6.11-rc6 next-20240903]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andr-Almeida/unicode-Fix-utf8_load-error-path/20240903-070149
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240902225511.757831-3-andrealmeid%40igalia.com
patch subject: [PATCH v2 2/8] unicode: Create utf8_check_strict_name
config: powerpc64-randconfig-r073-20240903 (https://download.01.org/0day-ci/archive/20240903/202409031655.gO1eC1AL-lkp@intel.com/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project dc19b59ea2502193c0e7bc16bb7d711c8053edcf)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240903/202409031655.gO1eC1AL-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409031655.gO1eC1AL-lkp@intel.com/
All errors (new ones prefixed by >>):
>> fs/unicode/utf8-core.c:238:11: error: call to undeclared function 'IS_CASEFOLDED'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
238 | return !(IS_CASEFOLDED(dir) && dir->i_sb->s_encoding &&
| ^
>> fs/unicode/utf8-core.c:238:36: error: incomplete definition of type 'struct inode'
238 | return !(IS_CASEFOLDED(dir) && dir->i_sb->s_encoding &&
| ~~~^
include/linux/uprobes.h:21:8: note: forward declaration of 'struct inode'
21 | struct inode;
| ^
>> fs/unicode/utf8-core.c:239:9: error: call to undeclared function 'sb_has_strict_encoding'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]
239 | sb_has_strict_encoding(dir->i_sb) &&
| ^
fs/unicode/utf8-core.c:239:35: error: incomplete definition of type 'struct inode'
239 | sb_has_strict_encoding(dir->i_sb) &&
| ~~~^
include/linux/uprobes.h:21:8: note: forward declaration of 'struct inode'
21 | struct inode;
| ^
fs/unicode/utf8-core.c:240:26: error: incomplete definition of type 'struct inode'
240 | utf8_validate(dir->i_sb->s_encoding, d_name));
| ~~~^
include/linux/uprobes.h:21:8: note: forward declaration of 'struct inode'
21 | struct inode;
| ^
5 errors generated.
vim +/IS_CASEFOLDED +238 fs/unicode/utf8-core.c
216
217 /**
218 * utf8_check_strict_name - Check if a given name is suitable for a directory
219 *
220 * This functions checks if the proposed filename is suitable for the parent
221 * directory. That means that only valid UTF-8 filenames will be accepted for
222 * casefold directories from filesystems created with the strict enconding flags.
223 * That also means that any name will be accepted for directories that doesn't
224 * have casefold enabled, or aren't being strict with the enconding.
225 *
226 * @inode: inode of the directory where the new file will be created
227 * @d_name: name of the new file
228 *
229 * Returns:
230 * * True if the filename is suitable for this directory. It can be true if a
231 * given name is not suitable for a strict enconding directory, but the
232 * directory being used isn't strict
233 * * False if the filename isn't suitable for this directory. This only happens
234 * when a directory is casefolded and is strict about its encoding.
235 */
236 bool utf8_check_strict_name(struct inode *dir, struct qstr *d_name)
237 {
> 238 return !(IS_CASEFOLDED(dir) && dir->i_sb->s_encoding &&
> 239 sb_has_strict_encoding(dir->i_sb) &&
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists