arch/powerpc/perf/mpc7450-pmu.c:422 init_mpc7450_pmu() warn: masked condition '((pvr >> 16) & 65535) != 2147483648' is always true.

From: Dan Carpenter
Date: Sun Feb 26 2023 - 23:25:27 EST


tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 116b41162f8b267987ea9a73eb7e73eaa7c2cce5
commit: ec3eb9d941a98f4c0dac263110729680a734279b powerpc/perf: Use PVR rather than oprofile field to determine CPU version
config: powerpc-randconfig-m031-20230226 (https://download.01.org/0day-ci/archive/20230226/202302260657.7dM9Uwev-lkp@xxxxxxxxx/config)
compiler: powerpc-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
| Reported-by: kernel test robot <lkp@xxxxxxxxx>
| Reported-by: Dan Carpenter <error27@xxxxxxxxx>
| Link: https://lore.kernel.org/r/202302260657.7dM9Uwev-lkp@xxxxxxxxx/

smatch warnings:
arch/powerpc/perf/mpc7450-pmu.c:422 init_mpc7450_pmu() warn: masked condition '((pvr >> 16) & 65535) != 2147483648' is always true.

vim +422 arch/powerpc/perf/mpc7450-pmu.c

77c2342a578c11 arch/powerpc/kernel/mpc7450-pmu.c Dmitry Baryshkov 2011-06-29 418 static int __init init_mpc7450_pmu(void)
7325927e5a20bf arch/powerpc/kernel/mpc7450-pmu.c Paul Mackerras 2009-06-17 419 {
ec3eb9d941a98f arch/powerpc/perf/mpc7450-pmu.c Rashmica Gupta 2022-07-07 420 unsigned int pvr = mfspr(SPRN_PVR);
ec3eb9d941a98f arch/powerpc/perf/mpc7450-pmu.c Rashmica Gupta 2022-07-07 421
ec3eb9d941a98f arch/powerpc/perf/mpc7450-pmu.c Rashmica Gupta 2022-07-07 @422 if (PVR_VER(pvr) != PVR_7450)
^^^^^^^^^^^^^^^^^^^^^^^^
Impossible. Unclear what was intended.

7325927e5a20bf arch/powerpc/kernel/mpc7450-pmu.c Paul Mackerras 2009-06-17 423 return -ENODEV;
7325927e5a20bf arch/powerpc/kernel/mpc7450-pmu.c Paul Mackerras 2009-06-17 424
7325927e5a20bf arch/powerpc/kernel/mpc7450-pmu.c Paul Mackerras 2009-06-17 425 return register_power_pmu(&mpc7450_pmu);
7325927e5a20bf arch/powerpc/kernel/mpc7450-pmu.c Paul Mackerras 2009-06-17 426 }

--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests