* [avpatel:riscv_iommu_dtbind_v1 35/37] arch/riscv/kvm/aia_aplic.c:264:6: warning: variable 'inject' is used uninitialized whenever 'if' condition is true
@ 2022-05-18 0:54 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-05-18 0:54 UTC (permalink / raw)
To: Anup Patel; +Cc: llvm, kbuild-all, linux-kernel
tree: https://github.com/avpatel/linux.git riscv_iommu_dtbind_v1
head: 13676549febfed9e7e2a3368008ed2cae53c84a7
commit: 84b7089883b326751f31f50b205663151dd10768 [35/37] RISC-V: KVM: Add in-kernel emulation of AIA APLIC
config: riscv-randconfig-r031-20220516 (https://download.01.org/0day-ci/archive/20220518/202205180812.fxcKuXBO-lkp@intel.com/config)
compiler: clang version 15.0.0 (https://github.com/llvm/llvm-project 853fa8ee225edf2d0de94b0dcbd31bea916e825e)
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-riscv64-linux-gnu
# https://github.com/avpatel/linux/commit/84b7089883b326751f31f50b205663151dd10768
git remote add avpatel https://github.com/avpatel/linux.git
git fetch --no-tags avpatel riscv_iommu_dtbind_v1
git checkout 84b7089883b326751f31f50b205663151dd10768
# 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=riscv SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
>> arch/riscv/kvm/aia_aplic.c:264:6: warning: variable 'inject' is used uninitialized whenever 'if' condition is true [-Wsometimes-uninitialized]
if (irqd->sourcecfg & APLIC_SOURCECFG_D)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/kvm/aia_aplic.c:303:6: note: uninitialized use occurs here
if (inject)
^~~~~~
arch/riscv/kvm/aia_aplic.c:264:2: note: remove the 'if' if its condition is always false
if (irqd->sourcecfg & APLIC_SOURCECFG_D)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
arch/riscv/kvm/aia_aplic.c:252:13: note: initialize the variable 'inject' to silence this warning
bool inject, ie;
^
= 0
1 warning generated.
vim +264 arch/riscv/kvm/aia_aplic.c
248
249 int kvm_riscv_aia_aplic_inject(struct kvm *kvm, u32 source, bool level)
250 {
251 u32 target;
252 bool inject, ie;
253 unsigned long flags;
254 struct aplic_irq *irqd;
255 struct aplic *aplic = kvm->arch.aia.aplic_state;
256
257 if (!aplic || !source || (aplic->nr_irqs <= source))
258 return -ENODEV;
259 irqd = &aplic->irqs[source];
260 ie = (aplic->domaincfg & APLIC_DOMAINCFG_IE) ? true : false;
261
262 raw_spin_lock_irqsave(&irqd->lock, flags);
263
> 264 if (irqd->sourcecfg & APLIC_SOURCECFG_D)
265 goto skip_unlock;
266
267 switch (irqd->sourcecfg & APLIC_SOURCECFG_SM_MASK) {
268 case APLIC_SOURCECFG_SM_EDGE_RISE:
269 if (level && !(irqd->state & APLIC_IRQ_STATE_INPUT) &&
270 !(irqd->state & APLIC_IRQ_STATE_PENDING))
271 irqd->state |= APLIC_IRQ_STATE_PENDING;
272 break;
273 case APLIC_SOURCECFG_SM_EDGE_FALL:
274 if (!level && (irqd->state & APLIC_IRQ_STATE_INPUT) &&
275 !(irqd->state & APLIC_IRQ_STATE_PENDING))
276 irqd->state |= APLIC_IRQ_STATE_PENDING;
277 break;
278 case APLIC_SOURCECFG_SM_LEVEL_HIGH:
279 if (level && !(irqd->state & APLIC_IRQ_STATE_PENDING))
280 irqd->state |= APLIC_IRQ_STATE_PENDING;
281 break;
282 case APLIC_SOURCECFG_SM_LEVEL_LOW:
283 if (!level && !(irqd->state & APLIC_IRQ_STATE_PENDING))
284 irqd->state |= APLIC_IRQ_STATE_PENDING;
285 break;
286 }
287
288 if (level)
289 irqd->state |= APLIC_IRQ_STATE_INPUT;
290 else
291 irqd->state &= ~APLIC_IRQ_STATE_INPUT;
292
293 inject = false;
294 target = irqd->target;
295 if (ie && (irqd->state & APLIC_IRQ_STATE_ENPEND)) {
296 irqd->state &= ~APLIC_IRQ_STATE_PENDING;
297 inject = true;
298 }
299
300 skip_unlock:
301 raw_spin_unlock_irqrestore(&irqd->lock, flags);
302
303 if (inject)
304 aplic_inject_msi(kvm, source, target);
305
306 return 0;
307 }
308
--
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-05-18 0:54 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-05-18 0:54 [avpatel:riscv_iommu_dtbind_v1 35/37] arch/riscv/kvm/aia_aplic.c:264:6: warning: variable 'inject' is used uninitialized whenever 'if' condition is true 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.