From: kernel test robot <lkp@intel.com>
To: SeongJae Park <sj@kernel.org>
Cc: llvm@lists.linux.dev, kbuild-all@lists.01.org,
linux-kernel@vger.kernel.org
Subject: [sj:damon/next 26/29] mm/damon/core.c:807:3: warning: variable 'err' is used uninitialized whenever 'if' condition is false
Date: Thu, 22 Sep 2022 00:06:55 +0800 [thread overview]
Message-ID: <202209220049.dcCdIisb-lkp@intel.com> (raw)
tree: https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git damon/next
head: a5f85a5de8b74931ccd564bdb63194aedc99f2a9
commit: 71af589c839d9564a9daa6bb0af2f7f4931ea19c [26/29] mm/damon/core: separate damos application logic
config: hexagon-randconfig-r033-20220921 (https://download.01.org/0day-ci/archive/20220922/202209220049.dcCdIisb-lkp@intel.com/config)
compiler: clang version 16.0.0 (https://github.com/llvm/llvm-project 791a7ae1ba3efd6bca96338e10ffde557ba83920)
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
# https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git/commit/?id=71af589c839d9564a9daa6bb0af2f7f4931ea19c
git remote add sj https://git.kernel.org/pub/scm/linux/kernel/git/sj/linux.git
git fetch --no-tags sj damon/next
git checkout 71af589c839d9564a9daa6bb0af2f7f4931ea19c
# save the config file
mkdir build_dir && cp config build_dir/.config
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=hexagon SHELL=/bin/bash mm/damon/
If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> mm/damon/core.c:807:3: warning: variable 'err' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]
if (c->callback.before_scheme_apply)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:28: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:58:30: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
mm/damon/core.c:809:8: note: uninitialized use occurs here
if (!err)
^~~
include/linux/compiler.h:56:47: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^~~~
include/linux/compiler.h:58:52: note: expanded from macro '__trace_if_var'
#define __trace_if_var(cond) (__builtin_constant_p(cond) ? (cond) : __trace_if_value(cond))
^~~~
mm/damon/core.c:807:3: note: remove the 'if' if its condition is always true
if (c->callback.before_scheme_apply)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
include/linux/compiler.h:56:23: note: expanded from macro 'if'
#define if(cond, ...) if ( __trace_if_var( !!(cond , ## __VA_ARGS__) ) )
^
mm/damon/core.c:787:9: note: initialize the variable 'err' to silence this warning
int err;
^
= 0
1 warning generated.
vim +807 mm/damon/core.c
b47f2bf827d3e3 SeongJae Park 2022-09-20 779
71af589c839d95 SeongJae Park 2022-09-20 780 static void damos_apply_scheme(struct damon_ctx *c, struct damon_target *t,
71af589c839d95 SeongJae Park 2022-09-20 781 struct damon_region *r, struct damos *s)
b47f2bf827d3e3 SeongJae Park 2022-09-20 782 {
b47f2bf827d3e3 SeongJae Park 2022-09-20 783 struct damos_quota *quota = &s->quota;
71af589c839d95 SeongJae Park 2022-09-20 784 unsigned long sz = r->ar.end - r->ar.start;
b47f2bf827d3e3 SeongJae Park 2022-09-20 785 struct timespec64 begin, end;
b47f2bf827d3e3 SeongJae Park 2022-09-20 786 unsigned long sz_applied = 0;
71af589c839d95 SeongJae Park 2022-09-20 787 int err;
b47f2bf827d3e3 SeongJae Park 2022-09-20 788
f7d911c39cbbb8 SeongJae Park 2022-03-22 789 if (c->ops.apply_scheme) {
71af589c839d95 SeongJae Park 2022-09-20 790 if (quota->esz && quota->charged_sz + sz > quota->esz) {
1cd2430300594a SeongJae Park 2021-11-05 791 sz = ALIGN_DOWN(quota->esz - quota->charged_sz,
2b8a248d587334 SeongJae Park 2021-11-05 792 DAMON_MIN_REGION);
2b8a248d587334 SeongJae Park 2021-11-05 793 if (!sz)
2b8a248d587334 SeongJae Park 2021-11-05 794 goto update_stat;
2886230666fa8b SeongJae Park 2022-08-14 795 if (sz >= r->ar.end - r->ar.start) {
2886230666fa8b SeongJae Park 2022-08-14 796 pr_err("sz: %lu, region: %lu-%lu (%lu), quota: %lu, charged: %lu\n",
2886230666fa8b SeongJae Park 2022-08-14 797 sz, r->ar.start,
2886230666fa8b SeongJae Park 2022-08-14 798 r->ar.end, r->ar.end -
2886230666fa8b SeongJae Park 2022-08-14 799 r->ar.start,
2886230666fa8b SeongJae Park 2022-08-14 800 quota->esz,
2886230666fa8b SeongJae Park 2022-08-14 801 quota->charged_sz);
2886230666fa8b SeongJae Park 2022-08-14 802 BUG();
2886230666fa8b SeongJae Park 2022-08-14 803 }
4ed9824346c071 Kaixu Xia 2022-08-13 804 damon_split_region_at(t, r, sz);
2b8a248d587334 SeongJae Park 2021-11-05 805 }
1cd2430300594a SeongJae Park 2021-11-05 806 ktime_get_coarse_ts64(&begin);
5cb21aeba065d6 SeongJae Park 2022-09-20 @807 if (c->callback.before_scheme_apply)
71af589c839d95 SeongJae Park 2022-09-20 808 err = c->callback.before_scheme_apply(c, t, r, s);
5cb21aeba065d6 SeongJae Park 2022-09-20 809 if (!err)
f7d911c39cbbb8 SeongJae Park 2022-03-22 810 sz_applied = c->ops.apply_scheme(c, t, r, s);
1cd2430300594a SeongJae Park 2021-11-05 811 ktime_get_coarse_ts64(&end);
1cd2430300594a SeongJae Park 2021-11-05 812 quota->total_charged_ns += timespec64_to_ns(&end) -
1cd2430300594a SeongJae Park 2021-11-05 813 timespec64_to_ns(&begin);
2b8a248d587334 SeongJae Park 2021-11-05 814 quota->charged_sz += sz;
1cd2430300594a SeongJae Park 2021-11-05 815 if (quota->esz && quota->charged_sz >= quota->esz) {
50585192bc2ef9 SeongJae Park 2021-11-05 816 quota->charge_target_from = t;
50585192bc2ef9 SeongJae Park 2021-11-05 817 quota->charge_addr_from = r->ar.end + 1;
50585192bc2ef9 SeongJae Park 2021-11-05 818 }
2b8a248d587334 SeongJae Park 2021-11-05 819 }
2f0b548c9f03a7 SeongJae Park 2021-11-05 820 if (s->action != DAMOS_STAT)
1f366e421c8f69 SeongJae Park 2021-11-05 821 r->age = 0;
2b8a248d587334 SeongJae Park 2021-11-05 822
2b8a248d587334 SeongJae Park 2021-11-05 823 update_stat:
0e92c2ee9f4595 SeongJae Park 2022-01-14 824 s->stat.nr_tried++;
0e92c2ee9f4595 SeongJae Park 2022-01-14 825 s->stat.sz_tried += sz;
0e92c2ee9f4595 SeongJae Park 2022-01-14 826 if (sz_applied)
0e92c2ee9f4595 SeongJae Park 2022-01-14 827 s->stat.nr_applied++;
0e92c2ee9f4595 SeongJae Park 2022-01-14 828 s->stat.sz_applied += sz_applied;
1f366e421c8f69 SeongJae Park 2021-11-05 829 }
71af589c839d95 SeongJae Park 2022-09-20 830
:::::: The code at line 807 was first introduced by commit
:::::: 5cb21aeba065d632fa56295d75151d6b70a2bd1b mm/damon/core: add a DAMON callback for scheme target regions check
:::::: TO: SeongJae Park <sj@kernel.org>
:::::: CC: SeongJae Park <sj@kernel.org>
--
0-DAY CI Kernel Test Service
https://01.org/lkp
next reply other threads:[~2022-09-21 16:07 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-09-21 16:06 kernel test robot [this message]
2022-09-21 17:20 ` [sj:damon/next 26/29] mm/damon/core.c:807:3: warning: variable 'err' is used uninitialized whenever 'if' condition is false SeongJae Park
2022-09-21 17:20 ` SeongJae Park
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=202209220049.dcCdIisb-lkp@intel.com \
--to=lkp@intel.com \
--cc=kbuild-all@lists.01.org \
--cc=linux-kernel@vger.kernel.org \
--cc=llvm@lists.linux.dev \
--cc=sj@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.