All of lore.kernel.org
 help / color / mirror / Atom feed
* kernel/module/decompress.c:215:2: warning: Value stored to 'error' is never read [clang-analyzer-deadcode.DeadStores]
@ 2022-06-03 11:19 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-06-03 11:19 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 24512 bytes --]

:::::: 
:::::: Manual check reason: "low confidence static check warning: kernel/module/decompress.c:215:2: warning: Value stored to 'error' is never read [clang-analyzer-deadcode.DeadStores]"
:::::: 

CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
BCC: lkp(a)intel.com
CC: linux-kernel(a)vger.kernel.org
TO: Aaron Tomlin <atomlin@redhat.com>
CC: Luis Chamberlain <mcgrof@kernel.org>
CC: Christophe Leroy <christophe.leroy@csgroup.eu>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   50fd82b3a9a9335df5d50c7ddcb81c81d358c4fc
commit: cfc1d277891eb499b3b5354df33b30f598683e90 module: Move all into module/
date:   9 weeks ago
:::::: branch date: 13 hours ago
:::::: commit date: 9 weeks ago
config: riscv-randconfig-c006-20220530 (https://download.01.org/0day-ci/archive/20220603/202206031927.zyTEcclp-lkp(a)intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 0776c48f9b7e69fa447bee57c7c0985caa856be9)
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 riscv cross compiling tool for clang build
        # apt-get install binutils-riscv-linux-gnu
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=cfc1d277891eb499b3b5354df33b30f598683e90
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout cfc1d277891eb499b3b5354df33b30f598683e90
        # save the config file
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=riscv clang-analyzer 

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <lkp@intel.com>


clang-analyzer warnings: (new ones prefixed by >>)
                   ^~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:125:3: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
                   memcpy(args->v0.data, kind, args->v0.count);
                   ^~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:125:3: warning: Null pointer passed as 2nd argument to memory copy function [clang-analyzer-unix.cstring.NullArg]
                   memcpy(args->v0.data, kind, args->v0.count);
                   ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:136:2: note: Control jumps to 'case 2:'  at line 139
           switch (mthd) {
           ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:139:32: note: Calling 'nvkm_ummu_kind'
           case NVIF_MMU_V0_KIND: return nvkm_ummu_kind(ummu, argv, argc);
                                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:112:2: note: 'kind' initialized to a null pointer value
           const u8 *kind = NULL;
           ^~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:116:6: note: Assuming field 'kind' is null
           if (mmu->func->kind)
               ^~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:116:2: note: Taking false branch
           if (mmu->func->kind)
           ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Left side of '&&' is true
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:17:6: note: expanded from macro 'nvif_unpack'
           if (_ret == -ENOSYS && *_size >= sizeof(m) &&                          \
               ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Assuming the condition is true
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:17:25: note: expanded from macro 'nvif_unpack'
           if (_ret == -ENOSYS && *_size >= sizeof(m) &&                          \
                                  ^~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Left side of '&&' is true
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:17:6: note: expanded from macro 'nvif_unpack'
           if (_ret == -ENOSYS && *_size >= sizeof(m) &&                          \
               ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Assuming '_vl' is <= field 'version'
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:18:6: note: expanded from macro 'nvif_unpack'
               (m).version >= _vl && (m).version <= _vh) {                        \
               ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Left side of '&&' is true
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:17:6: note: expanded from macro 'nvif_unpack'
           if (_ret == -ENOSYS && *_size >= sizeof(m) &&                          \
               ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Assuming '_vh' is >= field 'version'
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:18:28: note: expanded from macro 'nvif_unpack'
               (m).version >= _vl && (m).version <= _vh) {                        \
                                     ^~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Taking true branch
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:17:2: note: expanded from macro 'nvif_unpack'
           if (_ret == -ENOSYS && *_size >= sizeof(m) &&                          \
           ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:14: note: Taking false branch
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                       ^
   drivers/gpu/drm/nouveau/include/nvif/unpack.h:21:3: note: expanded from macro 'nvif_unpack'
                   if (_ret = 0, !(x)) {                                          \
                   ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:8: note: Assuming 'ret' is 0
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
                 ^~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:119:2: note: Taking true branch
           if (!(ret = nvif_unpack(ret, &argv, &argc, args->v0, 0, 0, true))) {
           ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:120:7: note: Assuming the condition is false
                   if (argc != args->v0.count * sizeof(*args->v0.data))
                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:120:3: note: Taking false branch
                   if (argc != args->v0.count * sizeof(*args->v0.data))
                   ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:122:7: note: Assuming 'count' is >= field 'count'
                   if (args->v0.count > count)
                       ^~~~~~~~~~~~~~~~~~~~~~
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:122:3: note: Taking false branch
                   if (args->v0.count > count)
                   ^
   drivers/gpu/drm/nouveau/nvkm/subdev/mmu/ummu.c:125:3: note: Null pointer passed as 2nd argument to memory copy function
                   memcpy(args->v0.data, kind, args->v0.count);
                   ^                     ~~~~
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   47 warnings generated.
   kernel/module/decompress.c:26:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memcpy(new_pages, info->pages, info->max_pages * sizeof(info->pages));
           ^~~~~~
   kernel/module/decompress.c:26:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
           memcpy(new_pages, info->pages, info->max_pages * sizeof(info->pages));
           ^~~~~~
>> kernel/module/decompress.c:215:2: warning: Value stored to 'error' is never read [clang-analyzer-deadcode.DeadStores]
           error = module_extend_max_pages(info, n_pages);
           ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   kernel/module/decompress.c:215:2: note: Value stored to 'error' is never read
           error = module_extend_max_pages(info, n_pages);
           ^       ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   Suppressed 45 warnings (45 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   12 warnings generated.
   kernel/module/signing.c:31:2: warning: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memcpy(&ms, mod + (modlen - sizeof(ms)), sizeof(ms));
           ^~~~~~
   kernel/module/signing.c:31:2: note: Call to function 'memcpy' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memcpy_s' in case of C11
           memcpy(&ms, mod + (modlen - sizeof(ms)), sizeof(ms));
           ^~~~~~
   Suppressed 11 warnings (11 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   33 warnings generated.
   Suppressed 33 warnings (33 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   34 warnings generated.
   kernel/stacktrace.c:56:15: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   generated = snprintf(buf, size, "%*c%pS\n", 1 + spaces, ' ',
                               ^~~~~~~~
   kernel/stacktrace.c:56:15: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
                   generated = snprintf(buf, size, "%*c%pS\n", 1 + spaces, ' ',
                               ^~~~~~~~
   Suppressed 33 warnings (33 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   33 warnings generated.
   Suppressed 33 warnings (33 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   33 warnings generated.
   Suppressed 33 warnings (33 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   32 warnings generated.
   Suppressed 32 warnings (32 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   40 warnings generated.
   drivers/virtio/virtio.c:17:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           return sprintf(buf, "0x%04x\n", dev->id.device);
                  ^~~~~~~
   drivers/virtio/virtio.c:17:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           return sprintf(buf, "0x%04x\n", dev->id.device);
                  ^~~~~~~
   drivers/virtio/virtio.c:25:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           return sprintf(buf, "0x%04x\n", dev->id.vendor);
                  ^~~~~~~
   drivers/virtio/virtio.c:25:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           return sprintf(buf, "0x%04x\n", dev->id.vendor);
                  ^~~~~~~
   drivers/virtio/virtio.c:33:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           return sprintf(buf, "0x%08x\n", dev->config->get_status(dev));
                  ^~~~~~~
   drivers/virtio/virtio.c:33:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           return sprintf(buf, "0x%08x\n", dev->config->get_status(dev));
                  ^~~~~~~
   drivers/virtio/virtio.c:41:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           return sprintf(buf, "virtio:d%08Xv%08X\n",
                  ^~~~~~~
   drivers/virtio/virtio.c:41:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           return sprintf(buf, "virtio:d%08Xv%08X\n",
                  ^~~~~~~
   drivers/virtio/virtio.c:56:10: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
                   len += sprintf(buf+len, "%c",
                          ^~~~~~~
   drivers/virtio/virtio.c:56:10: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
                   len += sprintf(buf+len, "%c",
                          ^~~~~~~
   drivers/virtio/virtio.c:58:9: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           len += sprintf(buf+len, "\n");
                  ^~~~~~~
   drivers/virtio/virtio.c:58:9: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           len += sprintf(buf+len, "\n");
                  ^~~~~~~
   drivers/virtio/virtio.c:378:8: warning: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           ret = snprintf(compat, sizeof(compat), "virtio,device%x", dev->id.device);
                 ^~~~~~~~
   drivers/virtio/virtio.c:378:8: note: Call to function 'snprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'snprintf_s' in case of C11
           ret = snprintf(compat, sizeof(compat), "virtio,device%x", dev->id.device);
                 ^~~~~~~~
   Suppressed 33 warnings (33 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   32 warnings generated.
   security/keys/persistent.c:83:2: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memset(&index_key, 0, sizeof(index_key));
           ^~~~~~
   security/keys/persistent.c:83:2: note: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11
           memset(&index_key, 0, sizeof(index_key));
           ^~~~~~
   security/keys/persistent.c:86:23: warning: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           index_key.desc_len = sprintf(buf, "_persistent.%u", from_kuid(ns, uid));
                                ^~~~~~~
   security/keys/persistent.c:86:23: note: Call to function 'sprintf' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'sprintf_s' in case of C11
           index_key.desc_len = sprintf(buf, "_persistent.%u", from_kuid(ns, uid));
                                ^~~~~~~
   Suppressed 30 warnings (30 in non-user code).
   Use -header-filter=.* to display errors from all non-system headers. Use -system-headers to display errors from system headers as well.
   34 warnings generated.
   security/keys/keyctl_pkey.c:86:2: warning: Call to function 'memset' is insecure as it does not provide security checks introduced in the C11 standard. Replace with analogous functions that support length arguments or provides boundary checks such as 'memset_s' in case of C11 [clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling]
           memset(params, 0, sizeof(*params));

vim +/error +215 kernel/module/decompress.c

b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  203  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  204  int module_decompress(struct load_info *info, const void *buf, size_t size)
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  205  {
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  206  	unsigned int n_pages;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  207  	ssize_t data_size;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  208  	int error;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  209  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  210  	/*
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  211  	 * Start with number of pages twice as big as needed for
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  212  	 * compressed data.
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  213  	 */
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  214  	n_pages = DIV_ROUND_UP(size, PAGE_SIZE) * 2;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05 @215  	error = module_extend_max_pages(info, n_pages);
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  216  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  217  	data_size = MODULE_DECOMPRESS_FN(info, buf, size);
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  218  	if (data_size < 0) {
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  219  		error = data_size;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  220  		goto err;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  221  	}
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  222  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  223  	info->hdr = vmap(info->pages, info->used_pages, VM_MAP, PAGE_KERNEL);
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  224  	if (!info->hdr) {
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  225  		error = -ENOMEM;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  226  		goto err;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  227  	}
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  228  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  229  	info->len = data_size;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  230  	return 0;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  231  
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  232  err:
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  233  	module_decompress_cleanup(info);
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  234  	return error;
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  235  }
b1ae6dc41eaaa9 kernel/module_decompress.c Dmitry Torokhov 2022-01-05  236  

:::::: The code at line 215 was first introduced by commit
:::::: b1ae6dc41eaaa98bb75671e0f3665bfda248c3e7 module: add in-kernel support for decompressing

:::::: TO: Dmitry Torokhov <dmitry.torokhov@gmail.com>
:::::: CC: Luis Chamberlain <mcgrof@kernel.org>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-06-03 11:19 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-03 11:19 kernel/module/decompress.c:215:2: warning: Value stored to 'error' is never read [clang-analyzer-deadcode.DeadStores] kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.