* fs/ceph/addr.c:334:6: warning: Value stored to 'len' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
@ 2021-12-17 8:51 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-12-17 8:51 UTC (permalink / raw)
To: kbuild
[-- Attachment #1: Type: text/plain, Size: 15726 bytes --]
CC: llvm(a)lists.linux.dev
CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Jeff Layton <jlayton@kernel.org>
CC: Ilya Dryomov <idryomov@gmail.com>
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6441998e2e37131b0a4c310af9156d79d3351c16
commit: 8ff2d290c8ce77c8e30d9b08c13d87cd5688d7e1 ceph: convert some PAGE_SIZE invocations to thp_size()
date: 8 months ago
:::::: branch date: 9 hours ago
:::::: commit date: 8 months ago
config: arm-randconfig-c002-20211211 (https://download.01.org/0day-ci/archive/20211217/202112171619.EdGlYxTY-lkp(a)intel.com/config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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 arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8ff2d290c8ce77c8e30d9b08c13d87cd5688d7e1
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout 8ff2d290c8ce77c8e30d9b08c13d87cd5688d7e1
# save the config file to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=arm clang-analyzer
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
clang-analyzer warnings: (new ones prefixed by >>)
list_first_entry(head, struct host1x_waitlist, list)->thresh;
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:709:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:320:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:308:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:300:3: note: expanded from macro '__compiletime_assert'
if (!(condition)) \
^
drivers/gpu/host1x/intr.c:93:3: note: Loop condition is false. Exiting loop
list_first_entry(head, struct host1x_waitlist, list)->thresh;
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:709:2: note: expanded from macro 'container_of'
BUILD_BUG_ON_MSG(!__same_type(*(ptr), ((type *)0)->member) && \
^
note: (skipping 1 expansions in backtrace; use -fmacro-backtrace-limit=0 to see all)
include/linux/compiler_types.h:320:2: note: expanded from macro 'compiletime_assert'
_compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
^
include/linux/compiler_types.h:308:2: note: expanded from macro '_compiletime_assert'
__compiletime_assert(condition, msg, prefix, suffix)
^
include/linux/compiler_types.h:298:2: note: expanded from macro '__compiletime_assert'
do { \
^
drivers/gpu/host1x/intr.c:93:3: note: Use of memory after it is freed
list_first_entry(head, struct host1x_waitlist, list)->thresh;
^
include/linux/list.h:522:2: note: expanded from macro 'list_first_entry'
list_entry((ptr)->next, type, member)
^
include/linux/list.h:511:2: note: expanded from macro 'list_entry'
container_of(ptr, type, member)
^
include/linux/kernel.h:707:41: note: expanded from macro 'container_of'
#define container_of(ptr, type, member) ({ \
^
Suppressed 15 warnings (15 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.
15 warnings generated.
Suppressed 15 warnings (15 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.
15 warnings generated.
Suppressed 15 warnings (15 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.
15 warnings generated.
Suppressed 15 warnings (15 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.
16 warnings generated.
Suppressed 16 warnings (16 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.
16 warnings generated.
Suppressed 16 warnings (16 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.
16 warnings generated.
Suppressed 16 warnings (16 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.
18 warnings generated.
fs/ceph/file.c:295:7: warning: Value stored to 'issued' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
int issued = __ceph_caps_issued(ci, NULL);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/file.c:295:7: note: Value stored to 'issued' during its initialization is never read
int issued = __ceph_caps_issued(ci, NULL);
^~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/file.c:2183:2: warning: Value stored to 'size' is never read [clang-analyzer-deadcode.DeadStores]
size = i_size_read(dst_inode);
^ ~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/file.c:2183:2: note: Value stored to 'size' is never read
size = i_size_read(dst_inode);
^ ~~~~~~~~~~~~~~~~~~~~~~
Suppressed 16 warnings (16 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.
16 warnings generated.
Suppressed 16 warnings (16 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.
19 warnings generated.
fs/ceph/addr.c:332:19: warning: Value stored to 'vino' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
struct ceph_vino vino = ceph_vino(inode);
^~~~ ~~~~~~~~~~~~~~~~
fs/ceph/addr.c:332:19: note: Value stored to 'vino' during its initialization is never read
struct ceph_vino vino = ceph_vino(inode);
^~~~ ~~~~~~~~~~~~~~~~
>> fs/ceph/addr.c:334:6: warning: Value stored to 'len' during its initialization is never read [clang-analyzer-deadcode.DeadStores]
u64 len = thp_size(page);
^~~ ~~~~~~~~~~~~~~
fs/ceph/addr.c:334:6: note: Value stored to 'len' during its initialization is never read
u64 len = thp_size(page);
^~~ ~~~~~~~~~~~~~~
fs/ceph/addr.c:585:3: warning: The expression is an uninitialized value. The computed value will also be garbage [clang-analyzer-core.uninitialized.Assign]
wbc->pages_skipped++;
^
fs/ceph/addr.c:607:9: note: Assuming 'inode' is non-null
BUG_ON(!inode);
^
include/asm-generic/bug.h:183:45: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
fs/ceph/addr.c:607:2: note: Taking false branch
BUG_ON(!inode);
^
include/asm-generic/bug.h:183:32: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
fs/ceph/addr.c:607:2: note: Loop condition is false. Exiting loop
BUG_ON(!inode);
^
include/asm-generic/bug.h:183:27: note: expanded from macro 'BUG_ON'
#define BUG_ON(condition) do { if (unlikely(condition)) BUG(); } while (0)
^
fs/ceph/addr.c:609:8: note: Calling 'writepage_nounlock'
err = writepage_nounlock(page, wbc);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/addr.c:504:2: note: Taking false branch
dout("writepage %p idx %lu\n", page, page->index);
^
include/linux/ceph/ceph_debug.h:25:3: note: expanded from macro 'dout'
if (0) \
^
fs/ceph/addr.c:504:2: note: Loop condition is false. Exiting loop
dout("writepage %p idx %lu\n", page, page->index);
^
include/linux/ceph/ceph_debug.h:24:26: note: expanded from macro 'dout'
# define dout(fmt, ...) do { \
^
fs/ceph/addr.c:508:6: note: Assuming 'snapc' is non-null
if (!snapc) {
^~~~~~
fs/ceph/addr.c:508:2: note: Taking false branch
if (!snapc) {
^
fs/ceph/addr.c:513:6: note: Assuming 'snapc->seq' is <= 'oldest->seq'
if (snapc->seq > oldest->seq) {
^~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/addr.c:513:2: note: Taking false branch
if (snapc->seq > oldest->seq) {
^
fs/ceph/addr.c:525:6: note: Assuming 'page_off' is < field 'i_size'
if (page_off >= ceph_wbc.i_size) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/addr.c:525:2: note: Taking false branch
if (page_off >= ceph_wbc.i_size) {
^
fs/ceph/addr.c:531:6: note: Assuming the condition is false
if (ceph_wbc.i_size < page_off + len)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/addr.c:531:2: note: Taking false branch
if (ceph_wbc.i_size < page_off + len)
^
fs/ceph/addr.c:534:2: note: Taking false branch
dout("writepage %p page %p index %lu on %llu~%llu snapc %p seq %lld\n",
^
include/linux/ceph/ceph_debug.h:25:3: note: expanded from macro 'dout'
if (0) \
^
fs/ceph/addr.c:534:2: note: Loop condition is false. Exiting loop
dout("writepage %p page %p index %lu on %llu~%llu snapc %p seq %lld\n",
^
include/linux/ceph/ceph_debug.h:24:26: note: expanded from macro 'dout'
# define dout(fmt, ...) do { \
^
fs/ceph/addr.c:537:6: note: Assuming the condition is false
if (atomic_long_inc_return(&fsc->writeback_count) >
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fs/ceph/addr.c:537:2: note: Taking false branch
if (atomic_long_inc_return(&fsc->writeback_count) >
^
fs/ceph/addr.c:546:6: note: Calling 'IS_ERR'
if (IS_ERR(req)) {
^~~~~~~~~~~
include/linux/err.h:36:9: note: Assuming the condition is false
return IS_ERR_VALUE((unsigned long)ptr);
^
include/linux/err.h:22:34: note: expanded from macro 'IS_ERR_VALUE'
#define IS_ERR_VALUE(x) unlikely((unsigned long)(void *)(x) >= (unsigned long)-MAX_ERRNO)
~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:78:42: note: expanded from macro 'unlikely'
# define unlikely(x) __builtin_expect(!!(x), 0)
^
include/linux/err.h:36:2: note: Returning zero, which participates in a condition later
return IS_ERR_VALUE((unsigned long)ptr);
vim +/len +334 fs/ceph/addr.c
f0702876e152f04 Jeff Layton 2020-06-01 326
f0702876e152f04 Jeff Layton 2020-06-01 327 /* read a single page, without unlocking it. */
f0702876e152f04 Jeff Layton 2020-06-01 328 static int ceph_readpage(struct file *file, struct page *page)
f0702876e152f04 Jeff Layton 2020-06-01 329 {
f0702876e152f04 Jeff Layton 2020-06-01 330 struct inode *inode = file_inode(file);
f0702876e152f04 Jeff Layton 2020-06-01 331 struct ceph_inode_info *ci = ceph_inode(inode);
f0702876e152f04 Jeff Layton 2020-06-01 332 struct ceph_vino vino = ceph_vino(inode);
f0702876e152f04 Jeff Layton 2020-06-01 333 u64 off = page_offset(page);
8ff2d290c8ce77c Jeff Layton 2021-04-05 @334 u64 len = thp_size(page);
f0702876e152f04 Jeff Layton 2020-06-01 335
f0702876e152f04 Jeff Layton 2020-06-01 336 if (ci->i_inline_version != CEPH_INLINE_NONE) {
f0702876e152f04 Jeff Layton 2020-06-01 337 /*
f0702876e152f04 Jeff Layton 2020-06-01 338 * Uptodate inline data should have been added
f0702876e152f04 Jeff Layton 2020-06-01 339 * into page cache while getting Fcr caps.
f0702876e152f04 Jeff Layton 2020-06-01 340 */
f0702876e152f04 Jeff Layton 2020-06-01 341 if (off == 0) {
f0702876e152f04 Jeff Layton 2020-06-01 342 unlock_page(page);
f0702876e152f04 Jeff Layton 2020-06-01 343 return -EINVAL;
f0702876e152f04 Jeff Layton 2020-06-01 344 }
8ff2d290c8ce77c Jeff Layton 2021-04-05 345 zero_user_segment(page, 0, thp_size(page));
f0702876e152f04 Jeff Layton 2020-06-01 346 SetPageUptodate(page);
f0702876e152f04 Jeff Layton 2020-06-01 347 unlock_page(page);
f0702876e152f04 Jeff Layton 2020-06-01 348 return 0;
f0702876e152f04 Jeff Layton 2020-06-01 349 }
f0702876e152f04 Jeff Layton 2020-06-01 350
f0702876e152f04 Jeff Layton 2020-06-01 351 dout("readpage ino %llx.%llx file %p off %llu len %llu page %p index %lu\n",
f0702876e152f04 Jeff Layton 2020-06-01 352 vino.ino, vino.snap, file, off, len, page, page->index);
f0702876e152f04 Jeff Layton 2020-06-01 353
f0702876e152f04 Jeff Layton 2020-06-01 354 return netfs_readpage(file, page, &ceph_netfs_read_ops, NULL);
f0702876e152f04 Jeff Layton 2020-06-01 355 }
f0702876e152f04 Jeff Layton 2020-06-01 356
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-12-17 8:51 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-12-17 8:51 fs/ceph/addr.c:334:6: warning: Value stored to 'len' during its initialization 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.