Re: [PATCH 3/5] tmpfs: Create casefold mount options
From: Dan Carpenter
Date: Thu Aug 29 2024 - 05:26:35 EST
Hi André,
kernel test robot noticed the following build warnings:
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Andr-Almeida/tmpfs-Add-casefold-lookup-support/20240826-135457
base: https://git.kernel.org/pub/scm/linux/kernel/git/akpm/mm.git mm-everything
patch link: https://lore.kernel.org/r/20240823173332.281211-4-andrealmeid%40igalia.com
patch subject: [PATCH 3/5] tmpfs: Create casefold mount options
config: x86_64-randconfig-161-20240827 (https://download.01.org/0day-ci/archive/20240829/202408290349.lp2Eq74b-lkp@xxxxxxxxx/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
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@xxxxxxxxx>
| Reported-by: Dan Carpenter <dan.carpenter@xxxxxxxxxx>
| Closes: https://lore.kernel.org/r/202408290349.lp2Eq74b-lkp@xxxxxxxxx/
smatch warnings:
mm/shmem.c:4307 shmem_parse_opt_casefold() error: uninitialized symbol 'maj'.
mm/shmem.c:4307 shmem_parse_opt_casefold() error: uninitialized symbol 'min'.
mm/shmem.c:4307 shmem_parse_opt_casefold() error: uninitialized symbol 'rev'.
vim +/maj +4307 mm/shmem.c
a024e87c2944676 André Almeida 2024-08-23 4291 static int shmem_parse_opt_casefold(struct fs_context *fc, struct fs_parameter *param)
a024e87c2944676 André Almeida 2024-08-23 4292 {
a024e87c2944676 André Almeida 2024-08-23 4293 struct shmem_options *ctx = fc->fs_private;
a024e87c2944676 André Almeida 2024-08-23 4294 unsigned int maj, min, rev, version_number;
a024e87c2944676 André Almeida 2024-08-23 4295 char version[10];
a024e87c2944676 André Almeida 2024-08-23 4296 int ret;
a024e87c2944676 André Almeida 2024-08-23 4297 struct unicode_map *encoding;
a024e87c2944676 André Almeida 2024-08-23 4298
a024e87c2944676 André Almeida 2024-08-23 4299 if (strncmp(param->string, "utf8-", 5))
a024e87c2944676 André Almeida 2024-08-23 4300 return invalfc(fc, "Only utf8 encondings are supported");
a024e87c2944676 André Almeida 2024-08-23 4301 ret = strscpy(version, param->string + 5, sizeof(version));
a024e87c2944676 André Almeida 2024-08-23 4302 if (ret < 0)
a024e87c2944676 André Almeida 2024-08-23 4303 return invalfc(fc, "Invalid enconding argument: %s",
a024e87c2944676 André Almeida 2024-08-23 4304 param->string);
a024e87c2944676 André Almeida 2024-08-23 4305
a024e87c2944676 André Almeida 2024-08-23 4306 utf8_parse_version(version, &maj, &min, &rev);
No error checking
a024e87c2944676 André Almeida 2024-08-23 @4307 version_number = UNICODE_AGE(maj, min, rev);
^^^^^^^^^^^^^
a024e87c2944676 André Almeida 2024-08-23 4308 encoding = utf8_load(version_number);
a024e87c2944676 André Almeida 2024-08-23 4309 if (IS_ERR(encoding))
a024e87c2944676 André Almeida 2024-08-23 4310 return invalfc(fc, "Invalid utf8 version: %s", version);
a024e87c2944676 André Almeida 2024-08-23 4311 pr_info("tmpfs: Using encoding provided by mount options: %s\n",
a024e87c2944676 André Almeida 2024-08-23 4312 param->string);
a024e87c2944676 André Almeida 2024-08-23 4313 ctx->encoding = encoding;
a024e87c2944676 André Almeida 2024-08-23 4314
a024e87c2944676 André Almeida 2024-08-23 4315 return 0;
a024e87c2944676 André Almeida 2024-08-23 4316 }
a024e87c2944676 André Almeida 2024-08-23 4317 #else
a024e87c2944676 André Almeida 2024-08-23 4318 static int shmem_parse_opt_casefold(struct fs_context *fc, struct fs_parameter *param)
a024e87c2944676 André Almeida 2024-08-23 4319 {
a024e87c2944676 André Almeida 2024-08-23 4320 return invalfc(fc, "tmpfs: No kernel support for casefold filesystems\n");
a024e87c2944676 André Almeida 2024-08-23 4321 }
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki