[ammarfaizi2-block:google/android/kernel/common/android-4.19-stable 350/9999] drivers/cpuidle/cpuidle.c:598:27: sparse: sparse: incorrect type in initializer (different address spaces)

From: kernel test robot
Date: Fri Jan 21 2022 - 22:47:21 EST


tree: https://github.com/ammarfaizi2/linux-block google/android/kernel/common/android-4.19-stable
head: 90a691fca4c2525068d9908ac203e9f09e4e33c0
commit: 02f88aaaac53929e0cf4fe50f807cdea4b9e224d [350/9999] ANDROID: GKI: Export symbols arm_cpuidle_suspend, cpuidle_dev and cpuidle_register_governor
config: x86_64-randconfig-s022 (https://download.01.org/0day-ci/archive/20220122/202201221155.oQX7vOxx-lkp@xxxxxxxxx/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.4-dirty
# https://github.com/ammarfaizi2/linux-block/commit/02f88aaaac53929e0cf4fe50f807cdea4b9e224d
git remote add ammarfaizi2-block https://github.com/ammarfaizi2/linux-block
git fetch --no-tags ammarfaizi2-block google/android/kernel/common/android-4.19-stable
git checkout 02f88aaaac53929e0cf4fe50f807cdea4b9e224d
# save the config file to linux build tree
mkdir build_dir
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=x86_64 SHELL=/bin/bash drivers/cpuidle/

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@xxxxxxxxx>


sparse warnings: (new ones prefixed by >>)
>> drivers/cpuidle/cpuidle.c:598:27: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] <asn:3> *__vpp_verify @@ got struct cpuidle_device * @@
drivers/cpuidle/cpuidle.c:598:27: sparse: expected void const [noderef] <asn:3> *__vpp_verify
drivers/cpuidle/cpuidle.c:598:27: sparse: got struct cpuidle_device *
drivers/cpuidle/cpuidle.c:630:27: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void const [noderef] <asn:3> *__vpp_verify @@ got struct cpuidle_device * @@
drivers/cpuidle/cpuidle.c:630:27: sparse: expected void const [noderef] <asn:3> *__vpp_verify
drivers/cpuidle/cpuidle.c:630:27: sparse: got struct cpuidle_device *

vim +598 drivers/cpuidle/cpuidle.c

4f86d3a8e29720 Len Brown 2007-10-03 584
1c192d047a0ddc Daniel Lezcano 2013-04-23 585 /**
4c637b2175a0dc Daniel Lezcano 2013-04-23 586 * cpuidle_unregister: unregister a driver and the devices. This function
4c637b2175a0dc Daniel Lezcano 2013-04-23 587 * can be used only if the driver has been previously registered through
4c637b2175a0dc Daniel Lezcano 2013-04-23 588 * the cpuidle_register function.
4c637b2175a0dc Daniel Lezcano 2013-04-23 589 *
4c637b2175a0dc Daniel Lezcano 2013-04-23 590 * @drv: a valid pointer to a struct cpuidle_driver
4c637b2175a0dc Daniel Lezcano 2013-04-23 591 */
4c637b2175a0dc Daniel Lezcano 2013-04-23 592 void cpuidle_unregister(struct cpuidle_driver *drv)
4c637b2175a0dc Daniel Lezcano 2013-04-23 593 {
4c637b2175a0dc Daniel Lezcano 2013-04-23 594 int cpu;
4c637b2175a0dc Daniel Lezcano 2013-04-23 595 struct cpuidle_device *device;
4c637b2175a0dc Daniel Lezcano 2013-04-23 596
82467a5a885ddd Daniel Lezcano 2013-06-07 597 for_each_cpu(cpu, drv->cpumask) {
4c637b2175a0dc Daniel Lezcano 2013-04-23 @598 device = &per_cpu(cpuidle_dev, cpu);
4c637b2175a0dc Daniel Lezcano 2013-04-23 599 cpuidle_unregister_device(device);
4c637b2175a0dc Daniel Lezcano 2013-04-23 600 }
4c637b2175a0dc Daniel Lezcano 2013-04-23 601
4c637b2175a0dc Daniel Lezcano 2013-04-23 602 cpuidle_unregister_driver(drv);
4c637b2175a0dc Daniel Lezcano 2013-04-23 603 }
4c637b2175a0dc Daniel Lezcano 2013-04-23 604 EXPORT_SYMBOL_GPL(cpuidle_unregister);
4c637b2175a0dc Daniel Lezcano 2013-04-23 605

:::::: The code at line 598 was first introduced by commit
:::::: 4c637b2175a0dc65d533494225525c6c82d73293 cpuidle: make a single register function for all

:::::: TO: Daniel Lezcano <daniel.lezcano@xxxxxxxxxx>
:::::: CC: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx