tree:
https://git.kernel.org/pub/scm/linux/kernel/git/xiang/linux.git erofs/compr_cfgs
head: 55a0af72ff27aefaa628c9e350c8ef6e22803978
commit: 55a0af72ff27aefaa628c9e350c8ef6e22803978 [6/6] erofs: add on-disk compression
configurations
config: arm64-randconfig-r021-20210308 (attached as .config)
compiler: clang version 13.0.0 (
https://github.com/llvm/llvm-project
820f508b08d7c94b2dd7847e9710d2bc36d3dd45)
reproduce (this is a W=1 build):
wget
https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O
~/bin/make.cross
chmod +x ~/bin/make.cross
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
#
https://git.kernel.org/pub/scm/linux/kernel/git/xiang/linux.git/commit/?i...
git remote add xiang-linux
https://git.kernel.org/pub/scm/linux/kernel/git/xiang/linux.git
git fetch --no-tags xiang-linux erofs/compr_cfgs
git checkout 55a0af72ff27aefaa628c9e350c8ef6e22803978
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
> fs/erofs/super.c:302:19: warning: result of comparison of
constant 65536 with expression of type 'u16' (aka 'unsigned short') is
always false [-Wtautological-constant-out-of-range-compare]
if
(sbi->sb_size > EROFS_BLKSIZ) {
~~~~~~~~~~~~ ^ ~~~~~~~~~~~~
fs/erofs/super.c:126:14: warning: unused function 'erofs_read_metadata'
[-Wunused-function]
static void *erofs_read_metadata(struct super_block *sb, struct page **pagep,
^
2 warnings generated.
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for MXC_CLK_SCU
Depends on COMMON_CLK && ARCH_MXC && IMX_SCU && HAVE_ARM_SMCCC
Selected by
- CLK_IMX8QXP && COMMON_CLK && (ARCH_MXC && ARM64 ||
COMPILE_TEST && IMX_SCU && HAVE_ARM_SMCCC
vim +302 fs/erofs/super.c
256
257 static int erofs_read_superblock(struct super_block *sb)
258 {
259 struct erofs_sb_info *sbi;
260 struct page *page;
261 struct erofs_super_block *dsb;
262 unsigned int blkszbits;
263 void *data;
264 int ret;
265
266 page = read_mapping_page(sb->s_bdev->bd_inode->i_mapping, 0, NULL);
267 if (IS_ERR(page)) {
268 erofs_err(sb, "cannot read erofs superblock");
269 return PTR_ERR(page);
270 }
271
272 sbi = EROFS_SB(sb);
273
274 data = kmap(page);
275 dsb = (struct erofs_super_block *)(data + EROFS_SUPER_OFFSET);
276
277 ret = -EINVAL;
278 if (le32_to_cpu(dsb->magic) != EROFS_SUPER_MAGIC_V1) {
279 erofs_err(sb, "cannot find valid erofs superblock");
280 goto out;
281 }
282
283 sbi->feature_compat = le32_to_cpu(dsb->feature_compat);
284 if (erofs_sb_has_sb_chksum(sbi)) {
285 ret = erofs_superblock_csum_verify(sb, data);
286 if (ret)
287 goto out;
288 }
289
290 blkszbits = dsb->blkszbits;
291 /* 9(512 bytes) + LOG_SECTORS_PER_BLOCK == LOG_BLOCK_SIZE */
292 if (blkszbits != LOG_BLOCK_SIZE) {
293 erofs_err(sb, "blkszbits %u isn't supported on this platform",
294 blkszbits);
295 goto out;
296 }
297
298 if (!check_layout_compatibility(sb, dsb))
299 goto out;
300
301 sbi->sb_size = 128 + dsb->sb_extslots * 16;
302 if (sbi->sb_size > EROFS_BLKSIZ) {
303 erofs_err(sb, "invalid sb_extslots %u (more than a fs block)",
304 sbi->sb_size);
305 goto out;
306 }
307
308 sbi->blocks = le32_to_cpu(dsb->blocks);
309 sbi->meta_blkaddr = le32_to_cpu(dsb->meta_blkaddr);
310 #ifdef CONFIG_EROFS_FS_XATTR
311 sbi->xattr_blkaddr = le32_to_cpu(dsb->xattr_blkaddr);
312 #endif
313 sbi->islotbits = ilog2(sizeof(struct erofs_inode_compact));
314 sbi->root_nid = le16_to_cpu(dsb->root_nid);
315 sbi->inos = le64_to_cpu(dsb->inos);
316
317 sbi->build_time = le64_to_cpu(dsb->build_time);
318 sbi->build_time_nsec = le32_to_cpu(dsb->build_time_nsec);
319
320 memcpy(&sb->s_uuid, dsb->uuid, sizeof(dsb->uuid));
321
322 ret = strscpy(sbi->volume_name, dsb->volume_name,
323 sizeof(dsb->volume_name));
324 if (ret < 0) { /* -E2BIG */
325 erofs_err(sb, "bad volume name without NIL terminator");
326 ret = -EFSCORRUPTED;
327 goto out;
328 }
329
330 /* parse on-disk compression configurations */
331 if (erofs_sb_has_compr_cfgs(sbi))
332 ret = erofs_load_compr_cfgs(sb, dsb);
333 else
334 ret = z_erofs_load_lz4_config(sb, dsb, NULL, 0);
335
336 out:
337 kunmap(page);
338 put_page(page);
339 return ret;
340 }
341
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org