[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <202506271946.HACEE9U0-lkp@intel.com>
Date: Fri, 27 Jun 2025 20:34:24 +0800
From: kernel test robot <lkp@...el.com>
To: Alexander Potapenko <glider@...gle.com>
Cc: llvm@...ts.linux.dev, oe-kbuild-all@...ts.linux.dev,
quic_jiangenj@...cinc.com, linux-kernel@...r.kernel.org,
kasan-dev@...glegroups.com, Aleksandr Nogikh <nogikh@...gle.com>,
Andrey Konovalov <andreyknvl@...il.com>,
Borislav Petkov <bp@...en8.de>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Dmitry Vyukov <dvyukov@...gle.com>, Ingo Molnar <mingo@...hat.com>,
Josh Poimboeuf <jpoimboe@...nel.org>,
Marco Elver <elver@...gle.com>,
Thomas Gleixner <tglx@...utronix.de>
Subject: Re: [PATCH v2 07/11] kcov: add trace and trace_size to struct
kcov_state
Hi Alexander,
kernel test robot noticed the following build warnings:
[auto build test WARNING on tip/x86/core]
[cannot apply to akpm-mm/mm-everything tip/sched/core arnd-asm-generic/master akpm-mm/mm-nonmm-unstable masahiroy-kbuild/for-next masahiroy-kbuild/fixes shuah-kselftest/next shuah-kselftest/fixes linus/master mcgrof/modules-next v6.16-rc3 next-20250627]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Alexander-Potapenko/x86-kcov-disable-instrumentation-of-arch-x86-kernel-tsc-c/20250626-214703
base: tip/x86/core
patch link: https://lore.kernel.org/r/20250626134158.3385080-8-glider%40google.com
patch subject: [PATCH v2 07/11] kcov: add trace and trace_size to struct kcov_state
config: x86_64-buildonly-randconfig-004-20250627 (https://download.01.org/0day-ci/archive/20250627/202506271946.HACEE9U0-lkp@intel.com/config)
compiler: clang version 20.1.7 (https://github.com/llvm/llvm-project 6146a88f60492b520a36f8f8f3231e15f3cc6082)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250627/202506271946.HACEE9U0-lkp@intel.com/reproduce)
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@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202506271946.HACEE9U0-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> kernel/kcov.c:1013:15: warning: variable 'trace' set but not used [-Wunused-but-set-variable]
1013 | void *area, *trace;
| ^
>> kernel/kcov.c:1014:21: warning: variable 'trace_size' set but not used [-Wunused-but-set-variable]
1014 | unsigned int size, trace_size;
| ^
2 warnings generated.
vim +/trace +1013 kernel/kcov.c
1006
1007 /* See the comment before kcov_remote_start() for usage details. */
1008 void kcov_remote_stop(void)
1009 {
1010 struct task_struct *t = current;
1011 struct kcov *kcov;
1012 unsigned int mode;
> 1013 void *area, *trace;
> 1014 unsigned int size, trace_size;
1015 int sequence;
1016 unsigned long flags;
1017
1018 if (!in_task() && !in_softirq_really())
1019 return;
1020
1021 local_lock_irqsave(&kcov_percpu_data.lock, flags);
1022
1023 mode = READ_ONCE(t->kcov_mode);
1024 barrier();
1025 if (!kcov_mode_enabled(mode)) {
1026 local_unlock_irqrestore(&kcov_percpu_data.lock, flags);
1027 return;
1028 }
1029 /*
1030 * When in softirq, check if the corresponding kcov_remote_start()
1031 * actually found the remote handle and started collecting coverage.
1032 */
1033 if (in_serving_softirq() && !t->kcov_softirq) {
1034 local_unlock_irqrestore(&kcov_percpu_data.lock, flags);
1035 return;
1036 }
1037 /* Make sure that kcov_softirq is only set when in softirq. */
1038 if (WARN_ON(!in_serving_softirq() && t->kcov_softirq)) {
1039 local_unlock_irqrestore(&kcov_percpu_data.lock, flags);
1040 return;
1041 }
1042
1043 kcov = t->kcov;
1044 area = t->kcov_state.area;
1045 size = t->kcov_state.size;
1046 trace = t->kcov_state.trace;
1047 trace_size = t->kcov_state.trace_size;
1048 sequence = t->kcov_state.sequence;
1049
1050 kcov_stop(t);
1051 if (in_serving_softirq()) {
1052 t->kcov_softirq = 0;
1053 kcov_remote_softirq_stop(t);
1054 }
1055
1056 spin_lock(&kcov->lock);
1057 /*
1058 * KCOV_DISABLE could have been called between kcov_remote_start()
1059 * and kcov_remote_stop(), hence the sequence check.
1060 */
1061 if (sequence == kcov->state.sequence && kcov->remote)
1062 kcov_move_area(kcov->mode, kcov->state.area, kcov->state.size,
1063 area);
1064 spin_unlock(&kcov->lock);
1065
1066 if (in_task()) {
1067 spin_lock(&kcov_remote_lock);
1068 kcov_remote_area_put(area, size);
1069 spin_unlock(&kcov_remote_lock);
1070 }
1071
1072 local_unlock_irqrestore(&kcov_percpu_data.lock, flags);
1073
1074 /* Get in kcov_remote_start(). */
1075 kcov_put(kcov);
1076 }
1077 EXPORT_SYMBOL(kcov_remote_stop);
1078
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists