[peterz-queue:modules/WIP 22/23] module.c:undefined reference to `ftrace_module_release'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git modules/WIP
head: 21453b24e9eaee832e0dd74437713de44eb2d842
commit: 2768d65c7d43ed1eed92a71592820a16c208ba29 [22/23] ftrace: Merge ftrace_module_{init,enable}()
config: i386-randconfig-c003-20200515 (attached as .config)
compiler: gcc-7 (Ubuntu 7.5.0-6ubuntu2) 7.5.0
reproduce:
git checkout 2768d65c7d43ed1eed92a71592820a16c208ba29
# save the attached .config to linux build tree
make ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
ld: kernel/module.o: in function `__ia32_sys_delete_module':
module.c:(.text+0x2582): undefined reference to `ftrace_module_release'
ld: kernel/module.o: in function `load_module':
module.c:(.text+0x41ee): undefined reference to `ftrace_module_release'
ld: kernel/module.o: in function `do_init_module':
>> module.c:(.text.unlikely+0x376): undefined reference to `ftrace_module_release'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
Re: [RFC] arm64: Enable perf events based hard lockup detector
by kbuild test robot
Hi Sumit,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on arm64/for-next/core]
[also build test ERROR on arm-soc/for-next arm/for-next xlnx/master kvmarm/next linus/master v5.7-rc5 next-20200514]
[if your patch is applied to the wrong git tree, please drop us a note to help
improve the system. BTW, we also suggest to use '--base' option to specify the
base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
url: https://github.com/0day-ci/linux/commits/Sumit-Garg/arm64-Enable-perf-eve...
base: https://git.kernel.org/pub/scm/linux/kernel/git/arm64/linux.git for-next/core
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All error/warnings (new ones prefixed by >>, old ones prefixed by <<):
In file included from include/asm-generic/percpu.h:7,
from arch/arm/include/asm/percpu.h:39,
from include/linux/percpu.h:13,
from include/linux/context_tracking_state.h:5,
from include/linux/vtime.h:5,
from include/linux/hardirq.h:8,
from include/linux/interrupt.h:11,
from include/linux/perf/arm_pmu.h:11,
from drivers/perf/arm_pmu.c:20:
drivers/perf/arm_pmu.c: In function 'arm_pmu_irq_is_nmi':
>> drivers/perf/arm_pmu.c:613:20: error: 'cpu_irq_ops' undeclared (first use in this function); did you mean 'pmu_irq_ops'?
613 | irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
| ^~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; | ^~~
include/linux/percpu-defs.h:269:29: note: in expansion of macro 'per_cpu_ptr'
269 | #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
| ^~~~~~~~~~~
>> drivers/perf/arm_pmu.c:613:12: note: in expansion of macro 'per_cpu'
613 | irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
| ^~~~~~~
drivers/perf/arm_pmu.c:613:20: note: each undeclared identifier is reported only once for each function it appears in
613 | irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
| ^~~~~~~~~~~
include/linux/percpu-defs.h:219:47: note: in definition of macro '__verify_pcpu_ptr'
219 | const void __percpu *__vpp_verify = (typeof((ptr) + 0))NULL; | ^~~
include/linux/percpu-defs.h:269:29: note: in expansion of macro 'per_cpu_ptr'
269 | #define per_cpu(var, cpu) (*per_cpu_ptr(&(var), cpu))
| ^~~~~~~~~~~
>> drivers/perf/arm_pmu.c:613:12: note: in expansion of macro 'per_cpu'
613 | irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
| ^~~~~~~
>> drivers/perf/arm_pmu.c:614:18: error: 'pmunmi_ops' undeclared (first use in this function)
614 | if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
| ^~~~~~~~~~
>> drivers/perf/arm_pmu.c:614:44: error: 'percpu_pmunmi_ops' undeclared (first use in this function)
614 | if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
| ^~~~~~~~~~~~~~~~~
>> drivers/perf/arm_pmu.c:618:1: warning: control reaches end of non-void function [-Wreturn-type]
618 | }
| ^
vim +613 drivers/perf/arm_pmu.c
608
609 bool arm_pmu_irq_is_nmi(void)
610 {
611 const struct pmu_irq_ops *irq_ops;
612
> 613 irq_ops = per_cpu(cpu_irq_ops, smp_processor_id());
> 614 if (irq_ops == &pmunmi_ops || irq_ops == &percpu_pmunmi_ops)
615 return true;
616 else
617 return false;
> 618 }
619
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[dm:for-next 53/58] drivers/md/dm-zoned-metadata.c:779:3: error: implicit declaration of function 'export_uuid'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/device-mapper/linux-dm.git for-next
head: 6c871f63986b34c7768080259ddf5991c55ee385
commit: 70978208ec91d798066f4c291bc98ff914bea222 [53/58] dm zoned: metadata version 2
config: nios2-allyesconfig (attached as .config)
compiler: nios2-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 70978208ec91d798066f4c291bc98ff914bea222
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=nios2
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
drivers/md/dm-zoned-metadata.c: In function 'dmz_write_sb':
>> drivers/md/dm-zoned-metadata.c:779:3: error: implicit declaration of function 'export_uuid' [-Werror=implicit-function-declaration]
779 | export_uuid(sb->dmz_uuid, &zmd->uuid);
| ^~~~~~~~~~~
drivers/md/dm-zoned-metadata.c: In function 'dmz_check_sb':
>> drivers/md/dm-zoned-metadata.c:1015:3: error: implicit declaration of function 'import_uuid' [-Werror=implicit-function-declaration]
1015 | import_uuid(&sb_uuid, sb->dmz_uuid);
| ^~~~~~~~~~~
cc1: some warnings being treated as errors
vim +/export_uuid +779 drivers/md/dm-zoned-metadata.c
761
762 /*
763 * Write super block of the specified metadata set.
764 */
765 static int dmz_write_sb(struct dmz_metadata *zmd, unsigned int set)
766 {
767 struct dmz_mblock *mblk = zmd->sb[set].mblk;
768 struct dmz_super *sb = zmd->sb[set].sb;
769 struct dmz_dev *dev = zmd->sb[set].dev;
770 sector_t sb_block;
771 u64 sb_gen = zmd->sb_gen + 1;
772 int ret;
773
774 sb->magic = cpu_to_le32(DMZ_MAGIC);
775
776 sb->version = cpu_to_le32(zmd->sb_version);
777 if (zmd->sb_version > 1) {
778 BUILD_BUG_ON(UUID_SIZE != 16);
> 779 export_uuid(sb->dmz_uuid, &zmd->uuid);
780 memcpy(sb->dmz_label, zmd->label, BDEVNAME_SIZE);
781 export_uuid(sb->dev_uuid, &dev->uuid);
782 }
783
784 sb->gen = cpu_to_le64(sb_gen);
785
786 /*
787 * The metadata always references the absolute block address,
788 * ie relative to the entire block range, not the per-device
789 * block address.
790 */
791 sb_block = zmd->sb[set].zone->id << zmd->zone_nr_blocks_shift;
792 sb->sb_block = cpu_to_le64(sb_block);
793 sb->nr_meta_blocks = cpu_to_le32(zmd->nr_meta_blocks);
794 sb->nr_reserved_seq = cpu_to_le32(zmd->nr_reserved_seq);
795 sb->nr_chunks = cpu_to_le32(zmd->nr_chunks);
796
797 sb->nr_map_blocks = cpu_to_le32(zmd->nr_map_blocks);
798 sb->nr_bitmap_blocks = cpu_to_le32(zmd->nr_bitmap_blocks);
799
800 sb->crc = 0;
801 sb->crc = cpu_to_le32(crc32_le(sb_gen, (unsigned char *)sb, DMZ_BLOCK_SIZE));
802
803 ret = dmz_rdwr_block(dev, REQ_OP_WRITE, zmd->sb[set].block,
804 mblk->page);
805 if (ret == 0)
806 ret = blkdev_issue_flush(dev->bdev, GFP_NOIO, NULL);
807
808 return ret;
809 }
810
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[peterz-queue:locking/kcsan 12/21] kernel/events/ring_buffer.c:22:9: sparse: sparse: incorrect type in assignment (different base types)
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/kcsan
head: ffed638b6a2180da8fd002a46632d746af72b299
commit: bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417 [12/21] READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> kernel/events/ring_buffer.c:22:9: sparse: sparse: incorrect type in assignment (different base types) @@ expected int volatile @@ got restricted __poll_int volatile @@
>> kernel/events/ring_buffer.c:22:9: sparse: expected int volatile
kernel/events/ring_buffer.c:22:9: sparse: got restricted __poll_t [usertype]
kernel/events/ring_buffer.c:169:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer [noderef] <asn:4> *
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer *
kernel/events/ring_buffer.c:169:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer [noderef] <asn:4> *
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer *
kernel/events/ring_buffer.c:169:14: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer [noderef] <asn:4> *
kernel/events/ring_buffer.c:169:14: sparse: struct perf_buffer *
vim +22 kernel/events/ring_buffer.c
76369139ceb955 Frederic Weisbecker 2011-05-19 19
76369139ceb955 Frederic Weisbecker 2011-05-19 20 static void perf_output_wakeup(struct perf_output_handle *handle)
76369139ceb955 Frederic Weisbecker 2011-05-19 21 {
a9a08845e9acbd Linus Torvalds 2018-02-11 @22 atomic_set(&handle->rb->poll, EPOLLIN);
76369139ceb955 Frederic Weisbecker 2011-05-19 23
76369139ceb955 Frederic Weisbecker 2011-05-19 24 handle->event->pending_wakeup = 1;
76369139ceb955 Frederic Weisbecker 2011-05-19 25 irq_work_queue(&handle->event->pending);
76369139ceb955 Frederic Weisbecker 2011-05-19 26 }
76369139ceb955 Frederic Weisbecker 2011-05-19 27
:::::: The code at line 22 was first introduced by commit
:::::: a9a08845e9acbd224e4ee466f5c1275ed50054e8 vfs: do bulk POLL* -> EPOLL* replacement
:::::: TO: Linus Torvalds <torvalds(a)linux-foundation.org>
:::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[peterz-queue:modules/WIP 22/23] module.c:undefined reference to `.ftrace_module_release'
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git modules/WIP
head: 21453b24e9eaee832e0dd74437713de44eb2d842
commit: 2768d65c7d43ed1eed92a71592820a16c208ba29 [22/23] ftrace: Merge ftrace_module_{init,enable}()
config: powerpc-defconfig (attached as .config)
compiler: powerpc64-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 2768d65c7d43ed1eed92a71592820a16c208ba29
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
powerpc64-linux-ld: kernel/module.o: in function `.__se_sys_delete_module':
>> module.c:(.text+0x54dc): undefined reference to `.ftrace_module_release'
powerpc64-linux-ld: kernel/module.o: in function `.do_init_module':
module.c:(.text+0x57f0): undefined reference to `.ftrace_module_release'
powerpc64-linux-ld: kernel/module.o: in function `.load_module':
module.c:(.text+0x6f90): undefined reference to `.ftrace_module_release'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[peterz-queue:locking/kcsan 14/21] arch/arm64/mm/fault.c:144:15: sparse: sparse: cast to non-scalar
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/kcsan
head: ffed638b6a2180da8fd002a46632d746af72b299
commit: 7b364f0949ae2dd205d5e9afa4b82ee17030d928 [14/21] READ_ONCE: Drop pointer qualifiers when reading from scalar types
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout 7b364f0949ae2dd205d5e9afa4b82ee17030d928
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> arch/arm64/mm/fault.c:144:15: sparse: sparse: cast to non-scalar
>> arch/arm64/mm/fault.c:144:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:156:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:156:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:161:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:161:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:162:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:162:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:167:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:167:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:168:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:168:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:191:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/fault.c:191:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/fault.c:406:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted vm_fault_t @@ got t_t @@
arch/arm64/mm/fault.c:406:24: sparse: expected restricted vm_fault_t
arch/arm64/mm/fault.c:406:24: sparse: got int
arch/arm64/mm/fault.c:414:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted vm_fault_t @@ got t_t @@
arch/arm64/mm/fault.c:414:32: sparse: expected restricted vm_fault_t
arch/arm64/mm/fault.c:414:32: sparse: got int
arch/arm64/mm/fault.c:416:32: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted vm_fault_t @@ got t_t @@
arch/arm64/mm/fault.c:416:32: sparse: expected restricted vm_fault_t
arch/arm64/mm/fault.c:416:32: sparse: got int
arch/arm64/mm/fault.c:424:24: sparse: sparse: incorrect type in return expression (different base types) @@ expected restricted vm_fault_t @@ got t_t @@
arch/arm64/mm/fault.c:424:24: sparse: expected restricted vm_fault_t
arch/arm64/mm/fault.c:424:24: sparse: got int
arch/arm64/mm/fault.c:534:13: sparse: sparse: restricted vm_fault_t degrades to integer
arch/arm64/mm/fault.c:534:13: sparse: sparse: restricted vm_fault_t degrades to integer
arch/arm64/mm/fault.c:596:39: sparse: sparse: restricted vm_fault_t degrades to integer
--
>> arch/arm64/mm/mmu.c:146:16: sparse: sparse: cast to non-scalar
>> arch/arm64/mm/mmu.c:146:16: sparse: sparse: cast from non-scalar
>> arch/arm64/mm/mmu.c:146:16: sparse: sparse: cast to non-scalar
>> arch/arm64/mm/mmu.c:146:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:148:33: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:148:33: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:172:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:172:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:180:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:180:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:207:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:207:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:207:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:207:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:209:33: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:209:33: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:243:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:243:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:254:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:254:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:293:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:293:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:300:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:300:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:306:33: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:306:33: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:647:17: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:647:17: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:702:22: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:702:22: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:706:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:706:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:713:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:713:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:714:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:714:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:721:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:721:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:722:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:722:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:766:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:766:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:767:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:767:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:787:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:787:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:788:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:788:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:820:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:820:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:852:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:852:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:870:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:870:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:887:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:887:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:888:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:888:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:905:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:905:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:907:22: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:907:22: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:925:24: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:925:24: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:926:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:926:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:945:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:945:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:947:22: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:947:22: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:966:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:966:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:987:22: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:987:22: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1006:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1006:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1024:23: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1024:23: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1129:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1129:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1144:13: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1144:13: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1298:14: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1298:14: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1306:14: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1306:14: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1317:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1317:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1324:17: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1324:17: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1338:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1338:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1345:17: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1345:17: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1093:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1093:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1103:21: sparse: sparse: cast to non-scalar
arch/arm64/mm/mmu.c:1103:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/mmu.c:1107:16: sparse: sparse: cast to non-scalar
>> arch/arm64/mm/mmu.c:1107:16: sparse: sparse: too many warnings
--
>> arch/arm64/mm/pageattr.c:25:21: sparse: sparse: cast to non-scalar
>> arch/arm64/mm/pageattr.c:25:21: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:210:22: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:210:22: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:214:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:214:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:220:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:220:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:221:15: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:221:15: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:227:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:227:16: sparse: sparse: cast from non-scalar
arch/arm64/mm/pageattr.c:228:16: sparse: sparse: cast to non-scalar
arch/arm64/mm/pageattr.c:228:16: sparse: sparse: cast from non-scalar
--
>> arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:180:28: sparse: sparse: cast to non-scalar
>> arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:180:28: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:247:27: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:247:27: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:369:15: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:369:15: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:462:43: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:462:43: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:471:28: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:471:28: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:482:27: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:482:27: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:499:27: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:499:27: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:618:23: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:618:23: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:635:23: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:635:23: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1193:16: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1193:16: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1282:15: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1282:15: sparse: sparse: cast from non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1426:15: sparse: sparse: cast to non-scalar
arch/arm64/kvm/../../../virt/kvm/arm/mmu.c:1426:15: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/stage2_pgtable.h:176:24: sparse: sparse: cast from non-scalar
--
>> fs/proc/task_mmu.c:594:15: sparse: sparse: cast to non-scalar
>> fs/proc/task_mmu.c:594:15: sparse: sparse: cast from non-scalar
fs/proc/task_mmu.c:1049:15: sparse: sparse: cast to non-scalar
fs/proc/task_mmu.c:1049:15: sparse: sparse: cast from non-scalar
fs/proc/task_mmu.c:1407:26: sparse: sparse: cast to non-scalar
fs/proc/task_mmu.c:1407:26: sparse: sparse: cast from non-scalar
fs/proc/task_mmu.c:1736:26: sparse: sparse: cast to non-scalar
fs/proc/task_mmu.c:1736:26: sparse: sparse: cast from non-scalar
fs/proc/task_mmu.c:583:28: sparse: sparse: context imbalance in 'smaps_pte_range' - unexpected unlock
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast from non-scalar
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast to non-scalar
>> arch/arm64/include/asm/pgtable.h:709:15: sparse: sparse: cast from non-scalar
fs/proc/task_mmu.c:1042:28: sparse: sparse: context imbalance in 'clear_refs_pte_range' - unexpected unlock
fs/proc/task_mmu.c:1395:28: sparse: sparse: context imbalance in 'pagemap_pmd_range' - unexpected unlock
fs/proc/task_mmu.c:1729:28: sparse: sparse: context imbalance in 'gather_pte_stats' - unexpected unlock
vim +144 arch/arm64/mm/fault.c
e4365f968fcd5e Mark Rutland 2019-10-03 113
1d18c47c735e8a Catalin Marinas 2012-03-05 114 /*
67ce16ec15ce9d Kristina Martsenko 2017-06-09 115 * Dump out the page tables associated with 'addr' in the currently active mm.
1d18c47c735e8a Catalin Marinas 2012-03-05 116 */
7048a5973eb1d6 Will Deacon 2019-04-03 117 static void show_pte(unsigned long addr)
1d18c47c735e8a Catalin Marinas 2012-03-05 118 {
67ce16ec15ce9d Kristina Martsenko 2017-06-09 119 struct mm_struct *mm;
20a004e7b017cc Will Deacon 2018-02-15 120 pgd_t *pgdp;
20a004e7b017cc Will Deacon 2018-02-15 121 pgd_t pgd;
1d18c47c735e8a Catalin Marinas 2012-03-05 122
356607f21e6035 Andrey Konovalov 2018-12-28 123 if (is_ttbr0_addr(addr)) {
67ce16ec15ce9d Kristina Martsenko 2017-06-09 124 /* TTBR0 */
67ce16ec15ce9d Kristina Martsenko 2017-06-09 125 mm = current->active_mm;
67ce16ec15ce9d Kristina Martsenko 2017-06-09 126 if (mm == &init_mm) {
67ce16ec15ce9d Kristina Martsenko 2017-06-09 127 pr_alert("[%016lx] user address but active_mm is swapper\n",
67ce16ec15ce9d Kristina Martsenko 2017-06-09 128 addr);
67ce16ec15ce9d Kristina Martsenko 2017-06-09 129 return;
67ce16ec15ce9d Kristina Martsenko 2017-06-09 130 }
356607f21e6035 Andrey Konovalov 2018-12-28 131 } else if (is_ttbr1_addr(addr)) {
67ce16ec15ce9d Kristina Martsenko 2017-06-09 132 /* TTBR1 */
1d18c47c735e8a Catalin Marinas 2012-03-05 133 mm = &init_mm;
67ce16ec15ce9d Kristina Martsenko 2017-06-09 134 } else {
67ce16ec15ce9d Kristina Martsenko 2017-06-09 135 pr_alert("[%016lx] address between user and kernel address ranges\n",
67ce16ec15ce9d Kristina Martsenko 2017-06-09 136 addr);
67ce16ec15ce9d Kristina Martsenko 2017-06-09 137 return;
67ce16ec15ce9d Kristina Martsenko 2017-06-09 138 }
1d18c47c735e8a Catalin Marinas 2012-03-05 139
5383cc6efed137 Steve Capper 2019-08-07 140 pr_alert("%s pgtable: %luk pages, %llu-bit VAs, pgdp=%016lx\n",
1eb34b6e5160f2 Will Deacon 2017-05-15 141 mm == &init_mm ? "swapper" : "user", PAGE_SIZE / SZ_1K,
e4365f968fcd5e Mark Rutland 2019-10-03 142 vabits_actual, mm_to_pgd_phys(mm));
20a004e7b017cc Will Deacon 2018-02-15 143 pgdp = pgd_offset(mm, addr);
20a004e7b017cc Will Deacon 2018-02-15 @144 pgd = READ_ONCE(*pgdp);
20a004e7b017cc Will Deacon 2018-02-15 145 pr_alert("[%016lx] pgd=%016llx", addr, pgd_val(pgd));
1d18c47c735e8a Catalin Marinas 2012-03-05 146
1d18c47c735e8a Catalin Marinas 2012-03-05 147 do {
20a004e7b017cc Will Deacon 2018-02-15 148 pud_t *pudp, pud;
20a004e7b017cc Will Deacon 2018-02-15 149 pmd_t *pmdp, pmd;
20a004e7b017cc Will Deacon 2018-02-15 150 pte_t *ptep, pte;
1d18c47c735e8a Catalin Marinas 2012-03-05 151
20a004e7b017cc Will Deacon 2018-02-15 152 if (pgd_none(pgd) || pgd_bad(pgd))
1d18c47c735e8a Catalin Marinas 2012-03-05 153 break;
1d18c47c735e8a Catalin Marinas 2012-03-05 154
20a004e7b017cc Will Deacon 2018-02-15 155 pudp = pud_offset(pgdp, addr);
20a004e7b017cc Will Deacon 2018-02-15 156 pud = READ_ONCE(*pudp);
20a004e7b017cc Will Deacon 2018-02-15 157 pr_cont(", pud=%016llx", pud_val(pud));
20a004e7b017cc Will Deacon 2018-02-15 158 if (pud_none(pud) || pud_bad(pud))
1d18c47c735e8a Catalin Marinas 2012-03-05 159 break;
1d18c47c735e8a Catalin Marinas 2012-03-05 160
20a004e7b017cc Will Deacon 2018-02-15 161 pmdp = pmd_offset(pudp, addr);
20a004e7b017cc Will Deacon 2018-02-15 162 pmd = READ_ONCE(*pmdp);
20a004e7b017cc Will Deacon 2018-02-15 163 pr_cont(", pmd=%016llx", pmd_val(pmd));
20a004e7b017cc Will Deacon 2018-02-15 164 if (pmd_none(pmd) || pmd_bad(pmd))
1d18c47c735e8a Catalin Marinas 2012-03-05 165 break;
1d18c47c735e8a Catalin Marinas 2012-03-05 166
20a004e7b017cc Will Deacon 2018-02-15 167 ptep = pte_offset_map(pmdp, addr);
20a004e7b017cc Will Deacon 2018-02-15 168 pte = READ_ONCE(*ptep);
20a004e7b017cc Will Deacon 2018-02-15 169 pr_cont(", pte=%016llx", pte_val(pte));
20a004e7b017cc Will Deacon 2018-02-15 170 pte_unmap(ptep);
1d18c47c735e8a Catalin Marinas 2012-03-05 171 } while(0);
1d18c47c735e8a Catalin Marinas 2012-03-05 172
6ef4fb387d50fa Mark Rutland 2017-01-03 173 pr_cont("\n");
1d18c47c735e8a Catalin Marinas 2012-03-05 174 }
1d18c47c735e8a Catalin Marinas 2012-03-05 175
:::::: The code at line 144 was first introduced by commit
:::::: 20a004e7b017cce282a46ac5d02c2b9c6b9bb1fa arm64: mm: Use READ_ONCE/WRITE_ONCE when accessing page tables
:::::: TO: Will Deacon <will.deacon(a)arm.com>
:::::: CC: Catalin Marinas <catalin.marinas(a)arm.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[ti:ti-rt-linux-5.4.y 3577/6874] drivers/gpu/drm/bridge/cdns-mhdp-j721e.h:46:1: error: expected identifier or '(' before '{' token
by kbuild test robot
Hi Yuti,
FYI, the error/warning still remains.
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-rt-linux-5.4.y
head: 99cf035411ae868ca277678d0902a4e4b7c48c63
commit: 027933539b12d9948f86bed77cb17767db19b343 [3577/6874] drm: bridge: cdns-mhdp: add j721e wrapper
config: sh-randconfig-r011-20200515 (attached as .config)
compiler: sh4-linux-gcc (GCC) 9.3.0
reproduce:
wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
chmod +x ~/bin/make.cross
git checkout 027933539b12d9948f86bed77cb17767db19b343
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day GCC_VERSION=9.3.0 make.cross ARCH=sh
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>, old ones prefixed by <<):
In file included from drivers/gpu/drm/bridge/cdns-mhdp-core.c:39:
>> drivers/gpu/drm/bridge/cdns-mhdp-j721e.h:46:1: error: expected identifier or '(' before '{' token
46 | {
| ^
drivers/gpu/drm/bridge/cdns-mhdp-j721e.h:45:6: warning: 'cdns_mhdp_j721e_sst_enable' declared 'static' but never defined [-Wunused-function]
45 | void cdns_mhdp_j721e_sst_enable(struct cdns_mhdp_device *mhdp);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
vim +46 drivers/gpu/drm/bridge/cdns-mhdp-j721e.h
43
44 static inline
45 void cdns_mhdp_j721e_sst_enable(struct cdns_mhdp_device *mhdp);
> 46 {
47 }
48
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months
[peterz-queue:locking/kcsan 12/21] kernel/sched/fair.c:2510:13: sparse: sparse: incorrect type in assignment (different address spaces)
by kbuild test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git locking/kcsan
head: ffed638b6a2180da8fd002a46632d746af72b299
commit: bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417 [12/21] READ_ONCE: Simplify implementations of {READ,WRITE}_ONCE()
reproduce:
# apt-get install sparse
# sparse version: v0.6.1-193-gb8fad4bc-dirty
git checkout bbfa112b46bdbbdfc2f5bfb9c2dcbef780ff6417
make ARCH=x86_64 allmodconfig
make C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__'
If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
kernel/sched/fair.c:882:34: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct sched_entity *se @@ got struct sched_entitstruct sched_entity *se @@
kernel/sched/fair.c:882:34: sparse: expected struct sched_entity *se
kernel/sched/fair.c:882:34: sparse: got struct sched_entity [noderef] <asn:4> *
>> kernel/sched/fair.c:2510:13: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_structstruct task_struct *tsk @@
kernel/sched/fair.c:2510:13: sparse: expected struct task_struct *tsk
kernel/sched/fair.c:2510:13: sparse: got struct task_struct [noderef] <asn:4> *__x
kernel/sched/fair.c:4835:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:4835:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/fair.c:4835:22: sparse: struct task_struct *
kernel/sched/fair.c:5358:38: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:5358:38: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/fair.c:5358:38: sparse: struct task_struct *
kernel/sched/fair.c:5373:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_structstruct task_struct *curr @@
kernel/sched/fair.c:5373:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:5373:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/fair.c:5598:1: sparse: sparse: symbol '__pcpu_scope_load_balance_mask' was not declared. Should it be static?
kernel/sched/fair.c:5599:1: sparse: sparse: symbol '__pcpu_scope_select_idle_mask' was not declared. Should it be static?
kernel/sched/fair.c:6529:20: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct struct sched_domain *[assigned] sd @@
kernel/sched/fair.c:6529:20: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:6529:20: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:6648:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct struct sched_domain *[assigned] tmp @@
kernel/sched/fair.c:6648:9: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:6648:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:6850:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_structstruct task_struct *curr @@
kernel/sched/fair.c:6850:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:6850:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/fair.c:7101:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_structstruct task_struct *curr @@
kernel/sched/fair.c:7101:38: sparse: expected struct task_struct *curr
kernel/sched/fair.c:7101:38: sparse: got struct task_struct [noderef] <asn:4> *curr
kernel/sched/fair.c:8059:40: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *child @@ got struct sched_domaistruct sched_domain *child @@
kernel/sched/fair.c:8059:40: sparse: expected struct sched_domain *child
kernel/sched/fair.c:8059:40: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:8552:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:8552:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/fair.c:8552:22: sparse: struct task_struct *
kernel/sched/fair.c:9796:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct struct sched_domain *[assigned] sd @@
kernel/sched/fair.c:9796:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9796:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:9456:44: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct sched_domain *sd_parent @@ got struct sched_domaistruct sched_domain *sd_parent @@
kernel/sched/fair.c:9456:44: sparse: expected struct sched_domain *sd_parent
kernel/sched/fair.c:9456:44: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:9875:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct struct sched_domain *[assigned] sd @@
kernel/sched/fair.c:9875:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:9875:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:10475:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct struct sched_domain *[assigned] sd @@
kernel/sched/fair.c:10475:9: sparse: expected struct sched_domain *[assigned] sd
kernel/sched/fair.c:10475:9: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/fair.c:10679:22: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10679:22: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/fair.c:10679:22: sparse: struct task_struct *
kernel/sched/fair.c:10812:30: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/fair.c:10812:30: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/fair.c:10812:30: sparse: struct task_struct *
kernel/sched/fair.c:2454:9: sparse: sparse: context imbalance in 'task_numa_placement' - different lock contexts for basic block
kernel/sched/fair.c:5904:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domaistruct sched_domain *sd @@
kernel/sched/fair.c:5904:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5904:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5910:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domaistruct sched_domain *sd @@
kernel/sched/fair.c:5910:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5910:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5917:28: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *sd @@ got struct sched_domaistruct sched_domain *sd @@
kernel/sched/fair.c:5917:28: sparse: expected struct sched_domain *sd
kernel/sched/fair.c:5917:28: sparse: got struct sched_domain [noderef] <asn:4> *child
kernel/sched/fair.c:5925:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] tmp @@ got struct struct sched_domain *[assigned] tmp @@
kernel/sched/fair.c:5925:17: sparse: expected struct sched_domain *[assigned] tmp
kernel/sched/fair.c:5925:17: sparse: got struct sched_domain [noderef] <asn:4> *parent
kernel/sched/sched.h:1809:9: sparse: sparse: incompatible types in comparison expression (different address spaces):
kernel/sched/sched.h:1809:9: sparse: struct task_struct [noderef] <asn:4> *
kernel/sched/sched.h:1809:9: sparse: struct task_struct *
vim +2510 kernel/sched/fair.c
8c8a743c5087ba Peter Zijlstra 2013-10-07 2473
3e6a9418cf0563 Mel Gorman 2013-10-07 2474 static void task_numa_group(struct task_struct *p, int cpupid, int flags,
3e6a9418cf0563 Mel Gorman 2013-10-07 2475 int *priv)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2476 {
8c8a743c5087ba Peter Zijlstra 2013-10-07 2477 struct numa_group *grp, *my_grp;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2478 struct task_struct *tsk;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2479 bool join = false;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2480 int cpu = cpupid_to_cpu(cpupid);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2481 int i;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2482
cb361d8cdef699 Jann Horn 2019-07-16 2483 if (unlikely(!deref_curr_numa_group(p))) {
8c8a743c5087ba Peter Zijlstra 2013-10-07 2484 unsigned int size = sizeof(struct numa_group) +
50ec8a401fed6d Rik van Riel 2014-01-27 2485 4*nr_node_ids*sizeof(unsigned long);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2486
8c8a743c5087ba Peter Zijlstra 2013-10-07 2487 grp = kzalloc(size, GFP_KERNEL | __GFP_NOWARN);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2488 if (!grp)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2489 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2490
c45a77952427b6 Elena Reshetova 2019-01-18 2491 refcount_set(&grp->refcount, 1);
4142c3ebb685bb Rik van Riel 2016-01-25 2492 grp->active_nodes = 1;
4142c3ebb685bb Rik van Riel 2016-01-25 2493 grp->max_faults_cpu = 0;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2494 spin_lock_init(&grp->lock);
e29cf08b05dc0b Mel Gorman 2013-10-07 2495 grp->gid = p->pid;
50ec8a401fed6d Rik van Riel 2014-01-27 2496 /* Second half of the array tracks nids where faults happen */
be1e4e760d940c Rik van Riel 2014-01-27 2497 grp->faults_cpu = grp->faults + NR_NUMA_HINT_FAULT_TYPES *
be1e4e760d940c Rik van Riel 2014-01-27 2498 nr_node_ids;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2499
be1e4e760d940c Rik van Riel 2014-01-27 2500 for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++)
44dba3d5d6a106 Iulia Manda 2014-10-31 2501 grp->faults[i] = p->numa_faults[i];
8c8a743c5087ba Peter Zijlstra 2013-10-07 2502
989348b5fc2367 Mel Gorman 2013-10-07 2503 grp->total_faults = p->total_numa_faults;
83e1d2cd9eabec Mel Gorman 2013-10-07 2504
8c8a743c5087ba Peter Zijlstra 2013-10-07 2505 grp->nr_tasks++;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2506 rcu_assign_pointer(p->numa_group, grp);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2507 }
8c8a743c5087ba Peter Zijlstra 2013-10-07 2508
8c8a743c5087ba Peter Zijlstra 2013-10-07 2509 rcu_read_lock();
316c1608d15c73 Jason Low 2015-04-28 @2510 tsk = READ_ONCE(cpu_rq(cpu)->curr);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2511
8c8a743c5087ba Peter Zijlstra 2013-10-07 2512 if (!cpupid_match_pid(tsk, cpupid))
3354781a218438 Peter Zijlstra 2013-10-09 2513 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2514
8c8a743c5087ba Peter Zijlstra 2013-10-07 2515 grp = rcu_dereference(tsk->numa_group);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2516 if (!grp)
3354781a218438 Peter Zijlstra 2013-10-09 2517 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2518
cb361d8cdef699 Jann Horn 2019-07-16 2519 my_grp = deref_curr_numa_group(p);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2520 if (grp == my_grp)
3354781a218438 Peter Zijlstra 2013-10-09 2521 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2522
8c8a743c5087ba Peter Zijlstra 2013-10-07 2523 /*
8c8a743c5087ba Peter Zijlstra 2013-10-07 2524 * Only join the other group if its bigger; if we're the bigger group,
8c8a743c5087ba Peter Zijlstra 2013-10-07 2525 * the other task will join us.
8c8a743c5087ba Peter Zijlstra 2013-10-07 2526 */
8c8a743c5087ba Peter Zijlstra 2013-10-07 2527 if (my_grp->nr_tasks > grp->nr_tasks)
3354781a218438 Peter Zijlstra 2013-10-09 2528 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2529
8c8a743c5087ba Peter Zijlstra 2013-10-07 2530 /*
8c8a743c5087ba Peter Zijlstra 2013-10-07 2531 * Tie-break on the grp address.
8c8a743c5087ba Peter Zijlstra 2013-10-07 2532 */
8c8a743c5087ba Peter Zijlstra 2013-10-07 2533 if (my_grp->nr_tasks == grp->nr_tasks && my_grp > grp)
3354781a218438 Peter Zijlstra 2013-10-09 2534 goto no_join;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2535
dabe1d992414a6 Rik van Riel 2013-10-07 2536 /* Always join threads in the same process. */
dabe1d992414a6 Rik van Riel 2013-10-07 2537 if (tsk->mm == current->mm)
dabe1d992414a6 Rik van Riel 2013-10-07 2538 join = true;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2539
dabe1d992414a6 Rik van Riel 2013-10-07 2540 /* Simple filter to avoid false positives due to PID collisions */
dabe1d992414a6 Rik van Riel 2013-10-07 2541 if (flags & TNF_SHARED)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2542 join = true;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2543
3e6a9418cf0563 Mel Gorman 2013-10-07 2544 /* Update priv based on whether false sharing was detected */
3e6a9418cf0563 Mel Gorman 2013-10-07 2545 *priv = !join;
3e6a9418cf0563 Mel Gorman 2013-10-07 2546
dabe1d992414a6 Rik van Riel 2013-10-07 2547 if (join && !get_numa_group(grp))
3354781a218438 Peter Zijlstra 2013-10-09 2548 goto no_join;
dabe1d992414a6 Rik van Riel 2013-10-07 2549
8c8a743c5087ba Peter Zijlstra 2013-10-07 2550 rcu_read_unlock();
8c8a743c5087ba Peter Zijlstra 2013-10-07 2551
8c8a743c5087ba Peter Zijlstra 2013-10-07 2552 if (!join)
8c8a743c5087ba Peter Zijlstra 2013-10-07 2553 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2554
60e69eed85bb7b Mike Galbraith 2014-04-07 2555 BUG_ON(irqs_disabled());
60e69eed85bb7b Mike Galbraith 2014-04-07 2556 double_lock_irq(&my_grp->lock, &grp->lock);
989348b5fc2367 Mel Gorman 2013-10-07 2557
be1e4e760d940c Rik van Riel 2014-01-27 2558 for (i = 0; i < NR_NUMA_HINT_FAULT_STATS * nr_node_ids; i++) {
44dba3d5d6a106 Iulia Manda 2014-10-31 2559 my_grp->faults[i] -= p->numa_faults[i];
44dba3d5d6a106 Iulia Manda 2014-10-31 2560 grp->faults[i] += p->numa_faults[i];
8c8a743c5087ba Peter Zijlstra 2013-10-07 2561 }
989348b5fc2367 Mel Gorman 2013-10-07 2562 my_grp->total_faults -= p->total_numa_faults;
989348b5fc2367 Mel Gorman 2013-10-07 2563 grp->total_faults += p->total_numa_faults;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2564
8c8a743c5087ba Peter Zijlstra 2013-10-07 2565 my_grp->nr_tasks--;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2566 grp->nr_tasks++;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2567
8c8a743c5087ba Peter Zijlstra 2013-10-07 2568 spin_unlock(&my_grp->lock);
60e69eed85bb7b Mike Galbraith 2014-04-07 2569 spin_unlock_irq(&grp->lock);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2570
8c8a743c5087ba Peter Zijlstra 2013-10-07 2571 rcu_assign_pointer(p->numa_group, grp);
8c8a743c5087ba Peter Zijlstra 2013-10-07 2572
8c8a743c5087ba Peter Zijlstra 2013-10-07 2573 put_numa_group(my_grp);
3354781a218438 Peter Zijlstra 2013-10-09 2574 return;
3354781a218438 Peter Zijlstra 2013-10-09 2575
3354781a218438 Peter Zijlstra 2013-10-09 2576 no_join:
3354781a218438 Peter Zijlstra 2013-10-09 2577 rcu_read_unlock();
3354781a218438 Peter Zijlstra 2013-10-09 2578 return;
8c8a743c5087ba Peter Zijlstra 2013-10-07 2579 }
8c8a743c5087ba Peter Zijlstra 2013-10-07 2580
:::::: The code at line 2510 was first introduced by commit
:::::: 316c1608d15c736439d4065ed12f306db554b3da sched, timer: Convert usages of ACCESS_ONCE() in the scheduler to READ_ONCE()/WRITE_ONCE()
:::::: TO: Jason Low <jason.low2(a)hp.com>
:::::: CC: Ingo Molnar <mingo(a)kernel.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
2 years, 4 months