mailweb.openeuler.org
Manage this list

Keyboard Shortcuts

Thread View

  • j: Next unread message
  • k: Previous unread message
  • j a: Jump to all threads
  • j l: Jump to MailingList overview

Kernel

Threads by month
  • ----- 2025 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2024 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2023 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2022 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2021 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2020 -----
  • December
  • November
  • October
  • September
  • August
  • July
  • June
  • May
  • April
  • March
  • February
  • January
  • ----- 2019 -----
  • December
kernel@openeuler.org

  • 55 participants
  • 22181 discussions
[openeuler:openEuler-1.0-LTS 20295/23714] drivers/net/bonding/bond_sysctl.c:9:25: sparse: sparse: symbol 'bond_broadcast_arp_or_nd_table_header' was not declared. Should it be static?
by kernel test robot 17 Sep '24

17 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 0397c33121652647d544d4bcdceb9f2d868146af [20295/23714] anolis: bond: broadcast ARP or ND messages to all slaves config: x86_64-randconfig-123-20240915 (https://download.01.org/0day-ci/archive/20240917/202409170243.8clAJD1d-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240917/202409170243.8clAJD1d-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409170243.8clAJD1d-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/net/bonding/bond_sysctl.c:9:25: sparse: sparse: symbol 'bond_broadcast_arp_or_nd_table_header' was not declared. Should it be static? vim +/bond_broadcast_arp_or_nd_table_header +9 drivers/net/bonding/bond_sysctl.c 8 > 9 struct ctl_table_header *bond_broadcast_arp_or_nd_table_header; 10 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 19376/23714] net/ax25/ax25_dev.o: warning: objtool: missing symbol for section .exit.text
by kernel test robot 17 Sep '24

17 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 5ba8a3eb026f02aa75f4a22099250bfd4db659cb [19376/23714] ax25: add refcount in ax25_dev to avoid UAF bugs config: x86_64-buildonly-randconfig-005-20240915 (https://download.01.org/0day-ci/archive/20240917/202409170005.Q9skpI8V-lkp@…) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240917/202409170005.Q9skpI8V-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409170005.Q9skpI8V-lkp@intel.com/ All warnings (new ones prefixed by >>): >> net/ax25/ax25_dev.o: warning: objtool: missing symbol for section .exit.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 9570/23714] drivers/scsi/scsi_logging.o: warning: objtool: missing symbol for section .text
by kernel test robot 16 Sep '24

16 Sep '24
Hi Bart, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 63b053c4efdb2e27f350bc9c1db4fed08a30801d [9570/23714] scsi: core: Reduce memory required for SCSI logging config: x86_64-buildonly-randconfig-002-20240915 (https://download.01.org/0day-ci/archive/20240916/202409162223.ddty3va3-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409162223.ddty3va3-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409162223.ddty3va3-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/scsi/scsi_logging.o: warning: objtool: missing symbol for section .text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 17157/23714] drivers/md/bcache/request.c:1333:27: sparse: sparse: incorrect type in argument 1 (different address spaces)
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: cb004e127a5500466043986dbc4cc43ec63d849e [17157/23714] Add traffic policy for low cache available. config: x86_64-randconfig-123-20240915 (https://download.01.org/0day-ci/archive/20240916/202409162232.mD47BzHq-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409162232.mD47BzHq-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409162232.mD47BzHq-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/md/bcache/request.c: note: in included file (through drivers/md/bcache/bcache.h): include/uapi/linux/bcache.h:294:38: sparse: sparse: array of flexible structures drivers/md/bcache/request.c: note: in included file (through drivers/md/bcache/bcache.h): drivers/md/bcache/bset.h:231:36: sparse: sparse: array of flexible structures >> drivers/md/bcache/request.c:1333:27: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected void [noderef] <asn:1> *to @@ got struct get_bcache_status * @@ drivers/md/bcache/request.c:1333:27: sparse: expected void [noderef] <asn:1> *to drivers/md/bcache/request.c:1333:27: sparse: got struct get_bcache_status * >> drivers/md/bcache/request.c:1346:33: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void const [noderef] <asn:1> *from @@ got struct set_bcache_status * @@ drivers/md/bcache/request.c:1346:33: sparse: expected void const [noderef] <asn:1> *from drivers/md/bcache/request.c:1346:33: sparse: got struct set_bcache_status * vim +1333 drivers/md/bcache/request.c 1315 1316 static int bcache_get_write_status(struct cached_dev *dc, unsigned long arg) 1317 { 1318 struct get_bcache_status a; 1319 uint64_t cache_sectors; 1320 struct cache_set *c = dc->disk.c; 1321 1322 if (c == NULL) 1323 return -ENODEV; 1324 1325 a.writeback_sector_size_per_sec = dc->writeback_sector_size_per_sec; 1326 a.writeback_io_num_per_sec = dc->writeback_io_num_per_sec; 1327 a.front_io_num_per_sec = dc->front_io_num_per_sec; 1328 cache_sectors = c->nbuckets * c->sb.bucket_size - 1329 atomic_long_read(&c->flash_dev_dirty_sectors); 1330 a.dirty_rate = div64_u64(bcache_dev_sectors_dirty(&dc->disk) * 100, 1331 cache_sectors); 1332 a.available = 100 - c->gc_stats.in_use; > 1333 if (copy_to_user((struct get_bcache_status *)arg, &a, 1334 sizeof(struct get_bcache_status))) 1335 return -EFAULT; 1336 return 0; 1337 } 1338 1339 static int bcache_set_write_status(struct cached_dev *dc, unsigned long arg) 1340 { 1341 struct set_bcache_status a; 1342 struct cache_set *c = dc->disk.c; 1343 1344 if (c == NULL) 1345 return -ENODEV; > 1346 if (copy_from_user(&a, (struct set_bcache_status *)arg, 1347 sizeof(struct set_bcache_status))) 1348 return -EFAULT; 1349 1350 if (c->traffic_policy_start != a.traffic_policy_start) 1351 pr_info("%s traffic policy %s", dc->disk.disk->disk_name, 1352 (a.traffic_policy_start == true) ? "enable" : "disable"); 1353 if (c->force_write_through != a.force_write_through) 1354 pr_info("%s force write through %s", dc->disk.disk->disk_name, 1355 (a.force_write_through == true) ? "enable" : "disable"); 1356 if (a.trigger_gc) { 1357 pr_info("trigger %s gc", dc->disk.disk->disk_name); 1358 atomic_set(&c->sectors_to_gc, -1); 1359 wake_up_gc(c); 1360 } 1361 if ((a.cutoff_writeback_sync >= MIN_CUTOFF_WRITEBACK_SYNC) && 1362 (a.cutoff_writeback_sync <= MAX_CUTOFF_WRITEBACK_SYNC)) { 1363 c->cutoff_writeback_sync = a.cutoff_writeback_sync; 1364 } 1365 1366 dc->max_sector_size = a.write_token_sector_size; 1367 dc->max_io_num = a.write_token_io_num; 1368 c->traffic_policy_start = a.traffic_policy_start; 1369 c->force_write_through = a.force_write_through; 1370 c->gc_sectors = a.gc_sectors; 1371 dc->writeback_state = a.writeback_state; 1372 return 0; 1373 } 1374 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 15748/23714] include/linux/uaccess.h:112:17: warning: 'kmask' may be used uninitialized
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: b77633c8236f2383f8d994249b40ed1bd3d012c0 [15748/23714] signal: simplify set_user_sigmask/restore_user_sigmask config: arm64-randconfig-001-20240913 (https://download.01.org/0day-ci/archive/20240916/202409162133.aY7fqmYk-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409162133.aY7fqmYk-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409162133.aY7fqmYk-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): | ^~~~~~~~~~~ In file included from include/asm-generic/termios.h:6, from ./arch/arm64/include/generated/uapi/asm/termios.h:1, from include/uapi/linux/termios.h:6, from include/linux/tty.h:7, from kernel/signal.c:23: In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_sigaltstack' at kernel/signal.c:3635:13, inlined from '__se_sys_sigaltstack' at kernel/signal.c:3631:1: include/linux/uaccess.h:112:17: warning: 'new' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compiler.h:251, from include/asm-generic/bug.h:5, from arch/arm64/include/asm/bug.h:37, from include/linux/bug.h:5, from include/linux/mmdebug.h:5, from include/linux/gfp.h:5, from include/linux/slab.h:15, from kernel/signal.c:13: include/linux/kasan-checks.h: In function '__se_sys_sigaltstack': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3633:17: note: 'new' declared here 3633 | stack_t new, old; | ^~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'do_compat_sigaltstack' at kernel/signal.c:3678:7: include/linux/uaccess.h:112:17: warning: 'uss32' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'do_compat_sigaltstack': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3677:32: note: 'uss32' declared here 3677 | compat_stack_t uss32; | ^~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_tgsigqueueinfo' at kernel/signal.c:3496:6, inlined from '__se_sys_rt_tgsigqueueinfo' at kernel/signal.c:3491:1: include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_rt_tgsigqueueinfo': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3494:19: note: 'info' declared here 3494 | siginfo_t info; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_sigqueueinfo' at kernel/signal.c:3454:6, inlined from '__se_sys_rt_sigqueueinfo' at kernel/signal.c:3450:1: include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_rt_sigqueueinfo': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3453:19: note: 'info' declared here 3453 | siginfo_t info; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_sigprocmask' at kernel/signal.c:3783:7, inlined from '__se_sys_sigprocmask' at kernel/signal.c:3774:1: include/linux/uaccess.h:112:17: warning: 'new_set' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_sigprocmask': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3777:31: note: 'new_set' declared here 3777 | old_sigset_t old_set, new_set; | ^~~~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_sigprocmask' at kernel/signal.c:2887:7, inlined from '__se_sys_rt_sigprocmask' at kernel/signal.c:2874:1: include/linux/uaccess.h:112:17: warning: 'new_set' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_rt_sigprocmask': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:2877:27: note: 'new_set' declared here 2877 | sigset_t old_set, new_set; | ^~~~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'set_user_sigmask' at kernel/signal.c:2836:6: >> include/linux/uaccess.h:112:17: warning: 'kmask' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'set_user_sigmask': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:2830:18: note: 'kmask' declared here 2830 | sigset_t kmask; | ^~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_sigtimedwait' at kernel/signal.c:3281:6, inlined from '__se_sys_rt_sigtimedwait' at kernel/signal.c:3268:1: include/linux/uaccess.h:112:17: warning: 'these' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_rt_sigtimedwait': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3272:18: note: 'these' declared here 3272 | sigset_t these; | ^~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'copy_siginfo_from_user32' at kernel/signal.c:3125:6: include/linux/uaccess.h:112:17: warning: 'from' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'copy_siginfo_from_user32': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3123:31: note: 'from' declared here 3123 | struct compat_siginfo from; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_sigaction' at kernel/signal.c:3834:13, inlined from '__se_sys_rt_sigaction' at kernel/signal.c:3822:1: include/linux/uaccess.h:112:17: warning: 'new_sa' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__se_sys_rt_sigaction': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3827:28: note: 'new_sa' declared here 3827 | struct k_sigaction new_sa, old_sa; | ^~~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'restore_altstack' at kernel/signal.c:3648:6: include/linux/uaccess.h:112:17: warning: 'new' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'restore_altstack': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:3647:17: note: 'new' declared here 3647 | stack_t new; | ^~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from '__do_sys_rt_sigsuspend' at kernel/signal.c:4053:6, inlined from '__se_sys_rt_sigsuspend' at kernel/signal.c:4045:1, inlined from '__arm64_sys_rt_sigsuspend' at kernel/signal.c:4045:1: include/linux/uaccess.h:112:17: warning: 'newset' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function '__arm64_sys_rt_sigsuspend': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ kernel/signal.c:4047:18: note: 'newset' declared here 4047 | sigset_t newset; | ^~~~~~ vim +/kmask +112 include/linux/uaccess.h d597580d373774 Al Viro 2017-03-20 104 d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 108 { d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n; 9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault(); 4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) { 9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n); d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n); 9c5f6908de03a4 Al Viro 2017-06-29 114 } d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res)) d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res); d597580d373774 Al Viro 2017-03-20 117 return res; d597580d373774 Al Viro 2017-03-20 118 } d597580d373774 Al Viro 2017-03-20 119 #else d597580d373774 Al Viro 2017-03-20 120 extern unsigned long d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long); d597580d373774 Al Viro 2017-03-20 122 #endif d597580d373774 Al Viro 2017-03-20 123 :::::: The code at line 112 was first introduced by commit :::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line :::::: TO: Al Viro <viro(a)zeniv.linux.org.uk> :::::: CC: Al Viro <viro(a)zeniv.linux.org.uk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 16693/23714] arch/x86/kernel/unwind_orc.o: warning: objtool: missing symbol for section .text
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: badd79c400ed404df871e1d035bed971d20ead4c [16693/23714] x86/unwind/orc: Remove boot-time ORC unwind tables sorting config: x86_64-buildonly-randconfig-005-20240915 (https://download.01.org/0day-ci/archive/20240916/202409162123.h3UocbtQ-lkp@…) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409162123.h3UocbtQ-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409162123.h3UocbtQ-lkp@intel.com/ All warnings (new ones prefixed by >>): arch/x86/kernel/unwind_orc.c:179:13: warning: unused function 'orc_sort_swap' [-Wunused-function] 179 | static void orc_sort_swap(void *_a, void *_b, int size) | ^~~~~~~~~~~~~ arch/x86/kernel/unwind_orc.c:199:12: warning: unused function 'orc_sort_cmp' [-Wunused-function] 199 | static int orc_sort_cmp(const void *_a, const void *_b) | ^~~~~~~~~~~~ 2 warnings generated. >> arch/x86/kernel/unwind_orc.o: warning: objtool: missing symbol for section .text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 15692/23714] include/linux/uaccess.h:112:17: warning: 'ciov' may be used uninitialized
by kernel test robot 16 Sep '24

16 Sep '24
Hi Jens, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 6c08191286995b0594d2ecf12fe7fca3cea1a5ca [15692/23714] io_uring: add support for pre-mapped user IO buffers config: arm64-randconfig-001-20240913 (https://download.01.org/0day-ci/archive/20240916/202409161843.Wdlfbwor-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161843.Wdlfbwor-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161843.Wdlfbwor-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): In file included from include/linux/poll.h:12, from include/linux/ring_buffer.h:7, from include/linux/trace_events.h:6, from include/trace/syscall.h:7, from include/linux/syscalls.h:86, from fs/io_uring.c:32: In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'io_copy_iov.isra' at fs/io_uring.c:1457:7: >> include/linux/uaccess.h:112:17: warning: 'ciov' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compiler.h:251, from include/linux/export.h:45, from include/linux/linkage.h:7, from include/linux/kernel.h:7, from fs/io_uring.c:29: include/linux/kasan-checks.h: In function 'io_copy_iov.isra': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ fs/io_uring.c:1454:37: note: 'ciov' declared here 1454 | struct compat_iovec ciov; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'io_uring_setup' at fs/io_uring.c:1960:6: include/linux/uaccess.h:112:17: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'io_uring_setup': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ fs/io_uring.c:1956:32: note: 'p' declared here 1956 | struct io_uring_params p; | ^ In file included from include/linux/uaccess.h:11: In function 'set_fs', inlined from 'io_sq_wq_submit_work' at fs/io_uring.c:1114:3: arch/arm64/include/asm/uaccess.h:59:12: warning: 'old_fs' may be used uninitialized [-Wmaybe-uninitialized] 59 | if (IS_ENABLED(CONFIG_ARM64_UAO) && fs == KERNEL_DS) | ^ fs/io_uring.c: In function 'io_sq_wq_submit_work': fs/io_uring.c:1074:22: note: 'old_fs' was declared here 1074 | mm_segment_t old_fs; | ^~~~~~ vim +/ciov +112 include/linux/uaccess.h d597580d373774 Al Viro 2017-03-20 104 d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 108 { d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n; 9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault(); 4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) { 9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n); d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n); 9c5f6908de03a4 Al Viro 2017-06-29 114 } d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res)) d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res); d597580d373774 Al Viro 2017-03-20 117 return res; d597580d373774 Al Viro 2017-03-20 118 } d597580d373774 Al Viro 2017-03-20 119 #else d597580d373774 Al Viro 2017-03-20 120 extern unsigned long d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long); d597580d373774 Al Viro 2017-03-20 122 #endif d597580d373774 Al Viro 2017-03-20 123 :::::: The code at line 112 was first introduced by commit :::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line :::::: TO: Al Viro <viro(a)zeniv.linux.org.uk> :::::: CC: Al Viro <viro(a)zeniv.linux.org.uk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 8359/23714] fs/gfs2/bmap.c:960:31: warning: 'lblock' may be used uninitialized
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 484798bc8218ce6a0f8269675897b870a12c49e2 [8359/23714] gfs2: gfs2_walk_metadata fix config: x86_64-buildonly-randconfig-006-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161757.QAy2sdT1-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161757.QAy2sdT1-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161757.QAy2sdT1-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): fs/gfs2/bmap.c: In function 'gfs2_iomap_alloc': fs/gfs2/bmap.c:748:28: warning: this statement may fall through [-Wimplicit-fallthrough=] 748 | if (n == 0) | ^ fs/gfs2/bmap.c:751:17: note: here 751 | case ALLOC_GROW_DEPTH: | ^~~~ fs/gfs2/bmap.c:759:28: warning: this statement may fall through [-Wimplicit-fallthrough=] 759 | if (n == 0) | ^ fs/gfs2/bmap.c:762:17: note: here 762 | case ALLOC_DATA: | ^~~~ fs/gfs2/bmap.c: In function 'gfs2_iomap_get': >> fs/gfs2/bmap.c:960:31: warning: 'lblock' may be used uninitialized [-Wmaybe-uninitialized] 960 | ret = gfs2_hole_size(inode, lblock, len, mp, iomap); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/gfs2/bmap.c:851:18: note: 'lblock' was declared here 851 | sector_t lblock; | ^~~~~~ fs/gfs2/bmap.c:960:31: warning: 'len' may be used uninitialized [-Wmaybe-uninitialized] 960 | ret = gfs2_hole_size(inode, lblock, len, mp, iomap); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ fs/gfs2/bmap.c:855:13: note: 'len' was declared here 855 | u64 len; | ^~~ fs/gfs2/bmap.c:959:32: warning: 'height' may be used uninitialized [-Wmaybe-uninitialized] 959 | if (pos < size && height == ip->i_height) | ~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~ fs/gfs2/bmap.c:857:12: note: 'height' was declared here 857 | u8 height; | ^~~~~~ fs/gfs2/bmap.c:1290: warning: Function parameter or member 'inode' not described in 'gfs2_block_zero_range' fs/gfs2/bmap.c:1290: warning: Function parameter or member 'from' not described in 'gfs2_block_zero_range' fs/gfs2/bmap.c:1290: warning: Function parameter or member 'length' not described in 'gfs2_block_zero_range' fs/gfs2/bmap.c:1493: warning: Function parameter or member 'rd_gh' not described in 'sweep_bh_for_rgrps' fs/gfs2/bmap.c:1493: warning: Excess function parameter 'rg_gh' description in 'sweep_bh_for_rgrps' fs/gfs2/bmap.c:1661: warning: Function parameter or member 'sdp' not described in 'find_nonnull_ptr' fs/gfs2/bmap.c:1661: warning: Function parameter or member 'end_list' not described in 'find_nonnull_ptr' fs/gfs2/bmap.c:1661: warning: Function parameter or member 'end_aligned' not described in 'find_nonnull_ptr' vim +/lblock +960 fs/gfs2/bmap.c 7ee66c03e40a57 Christoph Hellwig 2018-06-01 831 3974320ca6aa68 Bob Peterson 2017-02-16 832 /** 628e366df11c0a Andreas Gruenbacher 2018-06-04 833 * gfs2_iomap_get - Map blocks from an inode to disk blocks 3974320ca6aa68 Bob Peterson 2017-02-16 834 * @inode: The inode 3974320ca6aa68 Bob Peterson 2017-02-16 835 * @pos: Starting position in bytes 3974320ca6aa68 Bob Peterson 2017-02-16 836 * @length: Length to map, in bytes 3974320ca6aa68 Bob Peterson 2017-02-16 837 * @flags: iomap flags 3974320ca6aa68 Bob Peterson 2017-02-16 838 * @iomap: The iomap structure 628e366df11c0a Andreas Gruenbacher 2018-06-04 839 * @mp: The metapath 3974320ca6aa68 Bob Peterson 2017-02-16 840 * 3974320ca6aa68 Bob Peterson 2017-02-16 841 * Returns: errno 3974320ca6aa68 Bob Peterson 2017-02-16 842 */ 628e366df11c0a Andreas Gruenbacher 2018-06-04 843 static int gfs2_iomap_get(struct inode *inode, loff_t pos, loff_t length, 628e366df11c0a Andreas Gruenbacher 2018-06-04 844 unsigned flags, struct iomap *iomap, 628e366df11c0a Andreas Gruenbacher 2018-06-04 845 struct metapath *mp) b3b94faa5fe596 David Teigland 2006-01-16 846 { feaa7bba026c18 Steven Whitehouse 2006-06-14 847 struct gfs2_inode *ip = GFS2_I(inode); feaa7bba026c18 Steven Whitehouse 2006-06-14 848 struct gfs2_sbd *sdp = GFS2_SB(inode); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 849 loff_t size = i_size_read(inode); 9b8c81d1de4994 Steven Whitehouse 2008-02-22 850 __be64 *ptr; 3974320ca6aa68 Bob Peterson 2017-02-16 851 sector_t lblock; 628e366df11c0a Andreas Gruenbacher 2018-06-04 852 sector_t lblock_stop; 628e366df11c0a Andreas Gruenbacher 2018-06-04 853 int ret; 9b8c81d1de4994 Steven Whitehouse 2008-02-22 854 int eob; 628e366df11c0a Andreas Gruenbacher 2018-06-04 855 u64 len; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 856 struct buffer_head *dibh = NULL, *bh; 9b8c81d1de4994 Steven Whitehouse 2008-02-22 857 u8 height; 7276b3b0c77101 Steven Whitehouse 2006-09-21 858 628e366df11c0a Andreas Gruenbacher 2018-06-04 859 if (!length) 628e366df11c0a Andreas Gruenbacher 2018-06-04 860 return -EINVAL; b3b94faa5fe596 David Teigland 2006-01-16 861 d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 862 down_read(&ip->i_rw_mutex); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 863 d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 864 ret = gfs2_meta_inode_buffer(ip, &dibh); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 865 if (ret) d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 866 goto unlock; 38084377af4fc8 Andreas Gruenbacher 2018-11-11 867 mp->mp_bh[0] = dibh; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 868 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 869 if (gfs2_is_stuffed(ip)) { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 870 if (flags & IOMAP_WRITE) { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 871 loff_t max_size = gfs2_max_stuffed_size(ip); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 872 d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 873 if (pos + length > max_size) d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 874 goto unstuff; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 875 iomap->length = max_size; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 876 } else { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 877 if (pos >= size) { 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 878 if (flags & IOMAP_REPORT) { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 879 ret = -ENOENT; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 880 goto unlock; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 881 } else { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 882 /* report a hole */ d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 883 iomap->offset = pos; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 884 iomap->length = length; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 885 goto do_alloc; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 886 } 3974320ca6aa68 Bob Peterson 2017-02-16 887 } d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 888 iomap->length = size; 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 889 } d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 890 iomap->addr = (ip->i_no_addr << inode->i_blkbits) + d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 891 sizeof(struct gfs2_dinode); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 892 iomap->type = IOMAP_INLINE; 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 893 iomap->inline_data = dibh->b_data + sizeof(struct gfs2_dinode); d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 894 goto out; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 895 } d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 896 d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 897 unstuff: 3974320ca6aa68 Bob Peterson 2017-02-16 898 lblock = pos >> inode->i_blkbits; 3974320ca6aa68 Bob Peterson 2017-02-16 899 iomap->offset = lblock << inode->i_blkbits; 628e366df11c0a Andreas Gruenbacher 2018-06-04 900 lblock_stop = (pos + length - 1) >> inode->i_blkbits; 628e366df11c0a Andreas Gruenbacher 2018-06-04 901 len = lblock_stop - lblock + 1; d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 902 iomap->length = len << inode->i_blkbits; 20cdc1931ee8e0 Andreas Gruenbacher 2017-09-22 903 9b8c81d1de4994 Steven Whitehouse 2008-02-22 904 height = ip->i_height; 9a38662ba4e268 Andreas Gruenbacher 2018-04-16 905 while ((lblock + 1) * sdp->sd_sb.sb_bsize > sdp->sd_heightsize[height]) ecc30c79157103 Steven Whitehouse 2008-01-28 906 height++; 628e366df11c0a Andreas Gruenbacher 2018-06-04 907 find_metapath(sdp, lblock, mp, height); 9b8c81d1de4994 Steven Whitehouse 2008-02-22 908 if (height > ip->i_height || gfs2_is_stuffed(ip)) 9b8c81d1de4994 Steven Whitehouse 2008-02-22 909 goto do_alloc; 3974320ca6aa68 Bob Peterson 2017-02-16 910 628e366df11c0a Andreas Gruenbacher 2018-06-04 911 ret = lookup_metapath(ip, mp); e8b43fe0c1e035 Andreas Gruenbacher 2017-12-08 912 if (ret) 628e366df11c0a Andreas Gruenbacher 2018-06-04 913 goto unlock; 3974320ca6aa68 Bob Peterson 2017-02-16 914 628e366df11c0a Andreas Gruenbacher 2018-06-04 915 if (mp->mp_aheight != ip->i_height) 9b8c81d1de4994 Steven Whitehouse 2008-02-22 916 goto do_alloc; 3974320ca6aa68 Bob Peterson 2017-02-16 917 628e366df11c0a Andreas Gruenbacher 2018-06-04 918 ptr = metapointer(ip->i_height - 1, mp); 9b8c81d1de4994 Steven Whitehouse 2008-02-22 919 if (*ptr == 0) 9b8c81d1de4994 Steven Whitehouse 2008-02-22 920 goto do_alloc; 3974320ca6aa68 Bob Peterson 2017-02-16 921 628e366df11c0a Andreas Gruenbacher 2018-06-04 922 bh = mp->mp_bh[ip->i_height - 1]; bcfe94139a45fa Andreas Gruenbacher 2018-05-11 923 len = gfs2_extent_length(bh, ptr, len, &eob); 3974320ca6aa68 Bob Peterson 2017-02-16 924 628e366df11c0a Andreas Gruenbacher 2018-06-04 925 iomap->addr = be64_to_cpu(*ptr) << inode->i_blkbits; 628e366df11c0a Andreas Gruenbacher 2018-06-04 926 iomap->length = len << inode->i_blkbits; 628e366df11c0a Andreas Gruenbacher 2018-06-04 927 iomap->type = IOMAP_MAPPED; 0ed91eca1130e6 Andreas Gruenbacher 2018-07-25 928 iomap->flags |= IOMAP_F_MERGED; 9b8c81d1de4994 Steven Whitehouse 2008-02-22 929 if (eob) 7ee66c03e40a57 Christoph Hellwig 2018-06-01 930 iomap->flags |= IOMAP_F_GFS2_BOUNDARY; 3974320ca6aa68 Bob Peterson 2017-02-16 931 3974320ca6aa68 Bob Peterson 2017-02-16 932 out: 628e366df11c0a Andreas Gruenbacher 2018-06-04 933 iomap->bdev = inode->i_sb->s_bdev; 628e366df11c0a Andreas Gruenbacher 2018-06-04 934 unlock: 628e366df11c0a Andreas Gruenbacher 2018-06-04 935 up_read(&ip->i_rw_mutex); 9b8c81d1de4994 Steven Whitehouse 2008-02-22 936 return ret; 9b8c81d1de4994 Steven Whitehouse 2008-02-22 937 9b8c81d1de4994 Steven Whitehouse 2008-02-22 938 do_alloc: 628e366df11c0a Andreas Gruenbacher 2018-06-04 939 iomap->addr = IOMAP_NULL_ADDR; 628e366df11c0a Andreas Gruenbacher 2018-06-04 940 iomap->type = IOMAP_HOLE; 628e366df11c0a Andreas Gruenbacher 2018-06-04 941 if (flags & IOMAP_REPORT) { 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 942 if (pos >= size) 3974320ca6aa68 Bob Peterson 2017-02-16 943 ret = -ENOENT; 628e366df11c0a Andreas Gruenbacher 2018-06-04 944 else if (height == ip->i_height) 628e366df11c0a Andreas Gruenbacher 2018-06-04 945 ret = gfs2_hole_size(inode, lblock, len, mp, iomap); 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 946 else 49edd5bf429c40 Andreas Gruenbacher 2018-02-06 947 iomap->length = size - pos; 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 948 } else if (flags & IOMAP_WRITE) { 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 949 u64 alloc_size; 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 950 967bcc91b04493 Andreas Gruenbacher 2018-06-19 951 if (flags & IOMAP_DIRECT) 967bcc91b04493 Andreas Gruenbacher 2018-06-19 952 goto out; /* (see gfs2_file_direct_write) */ 967bcc91b04493 Andreas Gruenbacher 2018-06-19 953 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 954 len = gfs2_alloc_size(inode, mp, len); 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 955 alloc_size = len << inode->i_blkbits; 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 956 if (alloc_size < iomap->length) 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 957 iomap->length = alloc_size; 64bc06bb32ee9c Andreas Gruenbacher 2018-06-24 958 } else { d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 959 if (pos < size && height == ip->i_height) d505a96a3b16f4 Andreas Gruenbacher 2018-06-24 @960 ret = gfs2_hole_size(inode, lblock, len, mp, iomap); 3974320ca6aa68 Bob Peterson 2017-02-16 961 } 628e366df11c0a Andreas Gruenbacher 2018-06-04 962 goto out; 628e366df11c0a Andreas Gruenbacher 2018-06-04 963 } 628e366df11c0a Andreas Gruenbacher 2018-06-04 964 :::::: The code at line 960 was first introduced by commit :::::: d505a96a3b16f46455035dc0296bc2da6014e163 gfs2: Further iomap cleanups :::::: TO: Andreas Gruenbacher <agruenba(a)redhat.com> :::::: CC: Andreas Gruenbacher <agruenba(a)redhat.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 16489/23714] drivers/md/bcache/acache.c:29:5: sparse: sparse: symbol 'acache_prefetch_workers' was not declared. Should it be static?
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 1c09f1b02db96b8277226cbe64fe5bbd185a7149 [16489/23714] bcache: add a framework to perform prefetch config: x86_64-randconfig-123-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161647.o9SQbpWe-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161647.o9SQbpWe-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161647.o9SQbpWe-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/md/bcache/acache.c:29:5: sparse: sparse: symbol 'acache_prefetch_workers' was not declared. Should it be static? >> drivers/md/bcache/acache.c:65:5: sparse: sparse: symbol 'acache_open' was not declared. Should it be static? >> drivers/md/bcache/acache.c:83:5: sparse: sparse: symbol 'acache_release' was not declared. Should it be static? >> drivers/md/bcache/acache.c:89:9: sparse: sparse: symbol 'read_circ_slice' was not declared. Should it be static? >> drivers/md/bcache/acache.c:224:6: sparse: sparse: symbol 'init_acache_circ' was not declared. Should it be static? >> drivers/md/bcache/acache.c:253:5: sparse: sparse: symbol 'acache_prefetch_init' was not declared. Should it be static? >> drivers/md/bcache/acache.c:401:19: sparse: sparse: symbol 'get_cached_device_by_dev' was not declared. Should it be static? >> drivers/md/bcache/acache.c:414:12: sparse: sparse: symbol 'get_bio_by_item' was not declared. Should it be static? drivers/md/bcache/acache.c:65:5: warning: no previous prototype for 'acache_open' [-Wmissing-prototypes] 65 | int acache_open(struct inode *inode, struct file *filp) | ^~~~~~~~~~~ drivers/md/bcache/acache.c:83:5: warning: no previous prototype for 'acache_release' [-Wmissing-prototypes] 83 | int acache_release(struct inode *inode, struct file *filp) | ^~~~~~~~~~~~~~ drivers/md/bcache/acache.c:89:9: warning: no previous prototype for 'read_circ_slice' [-Wmissing-prototypes] 89 | ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, | ^~~~~~~~~~~~~~~ drivers/md/bcache/acache.c:224:6: warning: no previous prototype for 'init_acache_circ' [-Wmissing-prototypes] 224 | void init_acache_circ(struct acache_circ **circ, void *startaddr) | ^~~~~~~~~~~~~~~~ drivers/md/bcache/acache.c:253:5: warning: no previous prototype for 'acache_prefetch_init' [-Wmissing-prototypes] 253 | int acache_prefetch_init(struct acache_device *adev) | ^~~~~~~~~~~~~~~~~~~~ drivers/md/bcache/acache.c:401:20: warning: no previous prototype for 'get_cached_device_by_dev' [-Wmissing-prototypes] 401 | struct cached_dev *get_cached_device_by_dev(dev_t dev) | ^~~~~~~~~~~~~~~~~~~~~~~~ drivers/md/bcache/acache.c:414:13: warning: no previous prototype for 'get_bio_by_item' [-Wmissing-prototypes] 414 | struct bio *get_bio_by_item(struct cached_dev *dc, struct acache_info *item) | ^~~~~~~~~~~~~~~ vim +/acache_prefetch_workers +29 drivers/md/bcache/acache.c 28 > 29 int acache_prefetch_workers = 1000; 30 31 module_param_named(prefetch_workers, acache_prefetch_workers, int, 0444); 32 MODULE_PARM_DESC(prefetch_workers, "num of workers for processing prefetch requests"); 33 34 struct prefetch_worker { 35 struct acache_info s; 36 struct work_struct work; 37 struct list_head list; 38 }; 39 40 struct acache_device { 41 bool initialized; 42 43 dev_t devno; 44 struct cdev cdev; 45 struct class *class; 46 struct mem_reg *mem_regionp; 47 48 struct acache_info *readbuf; 49 struct acache_info *writebuf; 50 51 struct acache_circ *acache_info_circ; 52 53 struct workqueue_struct *wq; 54 struct prefetch_worker *prefetch_workers; 55 struct list_head prefetch_workers_free; 56 spinlock_t prefetch_workers_free_list_lock; 57 } adev; 58 59 #define MAX_TRANSFER_SIZE (1024 * 1024) 60 61 static atomic_t acache_opened_dev = ATOMIC_INIT(0); 62 static struct acache_metadata metadata; 63 64 > 65 int acache_open(struct inode *inode, struct file *filp) 66 { 67 struct mem_reg *dev; 68 69 int minor = MINOR(inode->i_rdev); 70 71 if (minor >= ACACHE_NR_DEVS) 72 return -ENODEV; 73 if (atomic_xchg(&acache_opened_dev, 1)) 74 return -EPERM; 75 76 dev = &adev.mem_regionp[minor]; 77 78 filp->private_data = dev; 79 80 return 0; 81 } 82 > 83 int acache_release(struct inode *inode, struct file *filp) 84 { 85 atomic_dec(&acache_opened_dev); 86 return 0; 87 } 88 > 89 ssize_t read_circ_slice(struct acache_circ *circ, struct acache_info *buf, 90 size_t size) 91 { 92 unsigned long first, todo, flags; 93 94 spin_lock_irqsave(&circ->lock, flags); 95 96 todo = CIRC_CNT(circ->head, circ->tail, circ->size); 97 if (todo == 0) { 98 spin_unlock_irqrestore(&circ->lock, flags); 99 return 0; 100 } 101 if (todo > size / sizeof(struct acache_info)) 102 todo = size / sizeof(struct acache_info); 103 104 first = CIRC_CNT_TO_END(circ->head, circ->tail, circ->size); 105 if (first > todo) 106 first = todo; 107 108 memcpy(buf, circ->data + circ->tail, first * sizeof(struct acache_info)); 109 if (first < todo) 110 memcpy(buf + first, circ->data, 111 (todo - first) * sizeof(struct acache_info)); 112 circ->tail = (circ->tail + todo) & (circ->size - 1); 113 114 spin_unlock_irqrestore(&circ->lock, flags); 115 return todo * sizeof(struct acache_info); 116 } 117 118 static ssize_t acache_read(struct file *filp, char __user *buf, 119 size_t size, loff_t *ppos) 120 { 121 long ret, cut; 122 123 if (metadata.conntype != ACACHE_READWRITE_CONN) 124 return -EINVAL; 125 126 if (size > MAX_TRANSFER_SIZE) 127 size = MAX_TRANSFER_SIZE; 128 129 ret = read_circ_slice(adev.acache_info_circ, adev.readbuf, size); 130 if (ret <= 0) 131 return ret; 132 133 cut = copy_to_user(buf, adev.readbuf, size); 134 return ret - cut; 135 } 136 137 int process_one_request(struct acache_info *item); 138 static void prefetch_worker_func(struct work_struct *work) 139 { 140 struct prefetch_worker *sw = 141 container_of(work, struct prefetch_worker, work); 142 143 process_one_request(&sw->s); 144 spin_lock(&adev.prefetch_workers_free_list_lock); 145 list_add_tail(&sw->list, &adev.prefetch_workers_free); 146 spin_unlock(&adev.prefetch_workers_free_list_lock); 147 } 148 149 static int queue_prefetch_item(struct acache_info *s) 150 { 151 struct prefetch_worker *sw; 152 153 spin_lock(&adev.prefetch_workers_free_list_lock); 154 sw = list_first_entry_or_null(&adev.prefetch_workers_free, 155 struct prefetch_worker, list); 156 if (!sw) { 157 spin_unlock(&adev.prefetch_workers_free_list_lock); 158 return -1; 159 } 160 list_del_init(&sw->list); 161 spin_unlock(&adev.prefetch_workers_free_list_lock); 162 163 memcpy(&sw->s, s, sizeof(struct acache_info)); 164 INIT_WORK(&sw->work, prefetch_worker_func); 165 queue_work(adev.wq, &sw->work); 166 return 0; 167 } 168 169 static ssize_t acache_write(struct file *filp, const char __user *buf, 170 size_t size, loff_t *ppos) 171 { 172 long cut; 173 int i; 174 175 if (metadata.conntype != ACACHE_READWRITE_CONN) 176 return -EINVAL; 177 178 if (size > MAX_TRANSFER_SIZE) 179 size = MAX_TRANSFER_SIZE; 180 181 cut = copy_from_user(adev.writebuf, buf, size); 182 for (i = 0; i < (size - cut) / sizeof(struct acache_info); i++) { 183 if (queue_prefetch_item(adev.writebuf + i)) 184 break; 185 } 186 return i * sizeof(struct acache_info); 187 } 188 189 static long acache_ioctl(struct file *filp, unsigned int cmd, unsigned long arg) 190 { 191 switch (cmd) { 192 case ACACHE_GET_METADATA: 193 return copy_to_user((struct acache_metadata __user *)arg, 194 &metadata, sizeof(struct acache_metadata)); 195 default: 196 return -EINVAL; 197 } 198 } 199 200 static const struct file_operations acache_fops = { 201 .owner = THIS_MODULE, 202 .read = acache_read, 203 .write = acache_write, 204 .open = acache_open, 205 .release = acache_release, 206 .unlocked_ioctl = acache_ioctl, 207 }; 208 209 void save_circ_item(struct acache_info *data) 210 { 211 unsigned long flags; 212 struct acache_circ *circ = adev.acache_info_circ; 213 214 spin_lock_irqsave(&circ->lock, flags); 215 if (CIRC_SPACE(circ->head, circ->tail, circ->size) >= 1) { 216 memcpy(&circ->data[circ->head], data, sizeof(struct acache_info)); 217 circ->head = (circ->head + 1) & (circ->size - 1); 218 } else { 219 pr_debug("ringbuffer is full; discard new request."); 220 } 221 spin_unlock_irqrestore(&circ->lock, flags); 222 } 223 > 224 void init_acache_circ(struct acache_circ **circ, void *startaddr) 225 { 226 *circ = (struct acache_circ *)startaddr; 227 (*circ)->head = 0; 228 (*circ)->tail = 0; 229 (*circ)->size = ACACHE_CIRC_SIZE; 230 spin_lock_init(&(*circ)->lock); 231 } 232 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 15686/23714] include/linux/uaccess.h:112:17: warning: 'p' may be used uninitialized
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: a2491968ab51323208d2d1a4d4b28325886d41b8 [15686/23714] Add io_uring IO interface config: arm64-randconfig-001-20240913 (https://download.01.org/0day-ci/archive/20240916/202409161422.WtkE4KWn-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161422.WtkE4KWn-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161422.WtkE4KWn-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): In file included from include/linux/poll.h:12, from include/linux/ring_buffer.h:7, from include/linux/trace_events.h:6, from include/trace/syscall.h:7, from include/linux/syscalls.h:86, from fs/io_uring.c:31: In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'io_uring_setup' at fs/io_uring.c:1224:6: >> include/linux/uaccess.h:112:17: warning: 'p' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compiler.h:251, from include/linux/export.h:45, from include/linux/linkage.h:7, from include/linux/kernel.h:7, from fs/io_uring.c:28: include/linux/kasan-checks.h: In function 'io_uring_setup': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ fs/io_uring.c:1220:32: note: 'p' declared here 1220 | struct io_uring_params p; | ^ vim +/p +112 include/linux/uaccess.h d597580d373774 Al Viro 2017-03-20 104 d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 108 { d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n; 9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault(); 4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) { 9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n); d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n); 9c5f6908de03a4 Al Viro 2017-06-29 114 } d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res)) d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res); d597580d373774 Al Viro 2017-03-20 117 return res; d597580d373774 Al Viro 2017-03-20 118 } d597580d373774 Al Viro 2017-03-20 119 #else d597580d373774 Al Viro 2017-03-20 120 extern unsigned long d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long); d597580d373774 Al Viro 2017-03-20 122 #endif d597580d373774 Al Viro 2017-03-20 123 :::::: The code at line 112 was first introduced by commit :::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line :::::: TO: Al Viro <viro(a)zeniv.linux.org.uk> :::::: CC: Al Viro <viro(a)zeniv.linux.org.uk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 17815/23714] drivers/edac/skx_common.o: warning: objtool: missing symbol for section .init.text
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 3b7ad71a0a415eb51fb41ddc01ef538a7e163de4 [17815/23714] Intel: EDAC, i10nm: Add a driver for Intel 10nm server processors config: x86_64-buildonly-randconfig-001-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161418.IlepWryM-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161418.IlepWryM-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161418.IlepWryM-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/edac/skx_common.c: In function 'skx_mce_output_error': drivers/edac/skx_common.c:470:15: warning: variable 'type' set but not used [-Wunused-but-set-variable] 470 | char *type, *optype; | ^~~~ drivers/edac/skx_common.c: In function 'skx_get_dimm_info': drivers/edac/skx_common.c:309:79: warning: '_DIMM#' directive output may be truncated writing 6 bytes into a region of size between 0 and 9 [-Wformat-truncation=] 309 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~ drivers/edac/skx_common.c:309:52: note: using the range [0, 4294967295] for directive argument 309 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/skx_common.c:309:9: note: 'snprintf' output between 31 and 53 bytes into a destination of size 32 309 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 310 | imc->src_id, imc->lmc, chan, dimmno); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/skx_common.c: In function 'skx_get_nvdimm_info': drivers/edac/skx_common.c:357:79: warning: '_DIMM#' directive output may be truncated writing 6 bytes into a region of size between 0 and 9 [-Wformat-truncation=] 357 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~ drivers/edac/skx_common.c:357:52: note: using the range [0, 4294967295] for directive argument 357 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ drivers/edac/skx_common.c:357:9: note: 'snprintf' output between 31 and 53 bytes into a destination of size 32 357 | snprintf(dimm->label, sizeof(dimm->label), "CPU_SrcID#%u_MC#%u_Chan#%u_DIMM#%u", | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 358 | imc->src_id, imc->lmc, chan, dimmno); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> drivers/edac/skx_common.o: warning: objtool: missing symbol for section .init.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 2962/23714] fs/pstore/inode.o: warning: objtool: missing symbol for section .exit.text
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 68bc9e8812a24c4a04fd18a9e1ede123eaff0420 [2962/23714] pstore: Centralize init/exit routines config: x86_64-buildonly-randconfig-006-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161416.tZCUlfeW-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161416.tZCUlfeW-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161416.tZCUlfeW-lkp@intel.com/ All warnings (new ones prefixed by >>): >> fs/pstore/inode.o: warning: objtool: missing symbol for section .exit.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 6399/23714] drivers/md/bcache/journal.c:320:6: sparse: sparse: symbol 'is_discard_enabled' was not declared. Should it be static?
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 70e6748c08ab45df178269e4e3ae6da56c33af54 [6399/23714] bcache: fix failure in journal relplay config: x86_64-randconfig-123-20240915 (https://download.01.org/0day-ci/archive/20240916/202409161342.bh5SnmU9-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161342.bh5SnmU9-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161342.bh5SnmU9-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) drivers/md/bcache/journal.c: note: in included file (through drivers/md/bcache/bcache.h): include/uapi/linux/bcache.h:294:38: sparse: sparse: array of flexible structures >> drivers/md/bcache/journal.c:320:6: sparse: sparse: symbol 'is_discard_enabled' was not declared. Should it be static? drivers/md/bcache/journal.c: note: in included file (through drivers/md/bcache/bcache.h): drivers/md/bcache/bset.h:231:36: sparse: sparse: array of flexible structures drivers/md/bcache/journal.c:627:13: sparse: sparse: context imbalance in 'journal_write_unlocked' - different lock contexts for basic block drivers/md/bcache/journal.c:725:9: sparse: sparse: context imbalance in 'journal_try_write' - different lock contexts for basic block drivers/md/bcache/journal.c:320:6: warning: no previous prototype for 'is_discard_enabled' [-Wmissing-prototypes] 320 | bool is_discard_enabled(struct cache_set *s) | ^~~~~~~~~~~~~~~~~~ drivers/md/bcache/journal.o: warning: objtool: journal_read_bucket()+0x157: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_write_work()+0x6f: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: do_journal_discard()+0x4d: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_reclaim()+0x64d: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_wait_for_write()+0x290: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal_mark()+0x6a2: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: is_discard_enabled()+0x13e: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal_replay()+0x101: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: journal_write_unlocked()+0xeb: sibling call from callable instruction with modified stack frame drivers/md/bcache/journal.o: warning: objtool: bch_journal()+0x28d: sibling call from callable instruction with modified stack frame vim +/is_discard_enabled +320 drivers/md/bcache/journal.c 319 > 320 bool is_discard_enabled(struct cache_set *s) 321 { 322 struct cache *ca; 323 unsigned int i; 324 325 for_each_cache(ca, s, i) 326 if (ca->discard) 327 return true; 328 329 return false; 330 } 331 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1625/13950] ls2k500sfb.c:undefined reference to `fg_console'
by kernel test robot 16 Sep '24

16 Sep '24
Hi Chong, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 8248d42b7c5f4338a54f26d8efebec8614b43466 [1625/13950] fbdev: add ls2k500sfb driver for ls2k500 bmc. config: loongarch-randconfig-r064-20240916 (https://download.01.org/0day-ci/archive/20240916/202409161114.sOtMxgv1-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161114.sOtMxgv1-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161114.sOtMxgv1-lkp@intel.com/ All errors (new ones prefixed by >>): loongarch64-linux-ld: drivers/video/fbdev/ls2k500sfb.o: in function `.L152': >> ls2k500sfb.c:(.text+0xf9c): undefined reference to `fg_console' >> loongarch64-linux-ld: ls2k500sfb.c:(.text+0xfa0): undefined reference to `fg_console' loongarch64-linux-ld: net/ipv4/inet_hashtables.o: in function `inet_ehash_nolisten': inet_hashtables.c:(.text+0x2ff0): undefined reference to `sysctl_local_port_allocation' loongarch64-linux-ld: inet_hashtables.c:(.text+0x3000): undefined reference to `sysctl_local_port_allocation' -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 7633/13950] drivers/ptp/ptp_hisi.c:731:36: warning: unused variable 'hisi_ptp_acpi_match'
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: e6aa0ecf50a8a0da6b742aacd9cbd47463275a30 [7633/13950] net: hns3: add support for Hisilicon ptp sync device config: arm64-randconfig-003-20240916 (https://download.01.org/0day-ci/archive/20240916/202409161130.34ZDV9qj-lkp@…) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project bf684034844c660b778f0eba103582f582b710c9) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161130.34ZDV9qj-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161130.34ZDV9qj-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from drivers/ptp/ptp_hisi.c:3: In file included from include/linux/mm.h:2204: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> drivers/ptp/ptp_hisi.c:731:36: warning: unused variable 'hisi_ptp_acpi_match' [-Wunused-const-variable] 731 | static const struct acpi_device_id hisi_ptp_acpi_match[] = { | ^~~~~~~~~~~~~~~~~~~ 5 warnings generated. vim +/hisi_ptp_acpi_match +731 drivers/ptp/ptp_hisi.c 730 > 731 static const struct acpi_device_id hisi_ptp_acpi_match[] = { 732 { "HISI0411", 0 }, 733 { } 734 }; 735 MODULE_DEVICE_TABLE(acpi, hisi_ptp_acpi_match); 736 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 5957/23714] include/linux/uaccess.h:112:17: warning: 'params' may be used uninitialized
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 2dd8345826607c5d2d6528de872118da554015b6 [5957/23714] vfio: Add support for Shared Virtual Addressing config: arm64-randconfig-001-20240913 (https://download.01.org/0day-ci/archive/20240916/202409161055.v0wzDm7V-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409161055.v0wzDm7V-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161055.v0wzDm7V-lkp@intel.com/ Note: it may well be a FALSE warning. FWIW you are at least aware of it now. http://gcc.gnu.org/wiki/Better_Uninitialized_Warnings All warnings (new ones prefixed by >>): In file included from drivers/vfio/vfio_iommu_type1.c:31: include/linux/module.h:134:13: warning: 'init_module' specifies less restrictive attribute than its target 'vfio_iommu_type1_init': 'cold' [-Wmissing-attributes] 134 | int init_module(void) __attribute__((alias(#initfn))); | ^~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2222:1: note: in expansion of macro 'module_init' 2222 | module_init(vfio_iommu_type1_init); | ^~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2212:19: note: 'init_module' target declared here 2212 | static int __init vfio_iommu_type1_init(void) | ^~~~~~~~~~~~~~~~~~~~~ include/linux/module.h:140:14: warning: 'cleanup_module' specifies less restrictive attribute than its target 'vfio_iommu_type1_cleanup': 'cold' [-Wmissing-attributes] 140 | void cleanup_module(void) __attribute__((alias(#exitfn))); | ^~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2223:1: note: in expansion of macro 'module_exit' 2223 | module_exit(vfio_iommu_type1_cleanup); | ^~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2217:20: note: 'cleanup_module' target declared here 2217 | static void __exit vfio_iommu_type1_cleanup(void) | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compat.h:19, from drivers/vfio/vfio_iommu_type1.c:27: In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_bind_process' at drivers/vfio/vfio_iommu_type1.c:1933:6: >> include/linux/uaccess.h:112:17: warning: 'params' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compiler.h:251, from include/asm-generic/div64.h:25, from ./arch/arm64/include/generated/asm/div64.h:1, from include/linux/math64.h:6, from include/linux/time64.h:5, from include/linux/compat_time.h:6, from include/linux/compat.h:10: include/linux/kasan-checks.h: In function 'vfio_iommu_type1_bind_process': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:1920:46: note: 'params' declared here 1920 | struct vfio_iommu_type1_bind_process params; | ^~~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_unbind_process' at drivers/vfio/vfio_iommu_type1.c:2021:6: >> include/linux/uaccess.h:112:17: warning: 'params' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_unbind_process': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2014:46: note: 'params' declared here 2014 | struct vfio_iommu_type1_bind_process params; | ^~~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_ioctl' at drivers/vfio/vfio_iommu_type1.c:2084:7: include/linux/uaccess.h:112:17: warning: 'info' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2080:46: note: 'info' declared here 2080 | struct vfio_iommu_type1_info info; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_ioctl' at drivers/vfio/vfio_iommu_type1.c:2104:7: include/linux/uaccess.h:112:17: warning: 'map' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2098:49: note: 'map' declared here 2098 | struct vfio_iommu_type1_dma_map map; | ^~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_ioctl' at drivers/vfio/vfio_iommu_type1.c:2118:7: include/linux/uaccess.h:112:17: warning: 'unmap' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2113:51: note: 'unmap' declared here 2113 | struct vfio_iommu_type1_dma_unmap unmap; | ^~~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_ioctl' at drivers/vfio/vfio_iommu_type1.c:2136:7: >> include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2132:46: note: 'bind' declared here 2132 | struct vfio_iommu_type1_bind bind; | ^~~~ In function '_copy_from_user', inlined from 'copy_from_user' at include/linux/uaccess.h:144:7, inlined from 'vfio_iommu_type1_ioctl' at drivers/vfio/vfio_iommu_type1.c:2155:7: >> include/linux/uaccess.h:112:17: warning: 'bind' may be used uninitialized [-Wmaybe-uninitialized] 112 | kasan_check_write(to, n); | ^~~~~~~~~~~~~~~~~~~~~~~~ include/linux/kasan-checks.h: In function 'vfio_iommu_type1_ioctl': include/linux/kasan-checks.h:7:6: note: by argument 1 of type 'const volatile void *' to 'kasan_check_write' declared here 7 | void kasan_check_write(const volatile void *p, unsigned int size); | ^~~~~~~~~~~~~~~~~ drivers/vfio/vfio_iommu_type1.c:2151:46: note: 'bind' declared here 2151 | struct vfio_iommu_type1_bind bind; | ^~~~ vim +/params +112 include/linux/uaccess.h d597580d373774 Al Viro 2017-03-20 104 d597580d373774 Al Viro 2017-03-20 105 #ifdef INLINE_COPY_FROM_USER d597580d373774 Al Viro 2017-03-20 106 static inline unsigned long d597580d373774 Al Viro 2017-03-20 107 _copy_from_user(void *to, const void __user *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 108 { d597580d373774 Al Viro 2017-03-20 109 unsigned long res = n; 9c5f6908de03a4 Al Viro 2017-06-29 110 might_fault(); 4983cb67a383a7 Linus Torvalds 2019-02-14 111 if (likely(access_ok(from, n))) { 9c5f6908de03a4 Al Viro 2017-06-29 @112 kasan_check_write(to, n); d597580d373774 Al Viro 2017-03-20 113 res = raw_copy_from_user(to, from, n); 9c5f6908de03a4 Al Viro 2017-06-29 114 } d597580d373774 Al Viro 2017-03-20 115 if (unlikely(res)) d597580d373774 Al Viro 2017-03-20 116 memset(to + (n - res), 0, res); d597580d373774 Al Viro 2017-03-20 117 return res; d597580d373774 Al Viro 2017-03-20 118 } d597580d373774 Al Viro 2017-03-20 119 #else d597580d373774 Al Viro 2017-03-20 120 extern unsigned long d597580d373774 Al Viro 2017-03-20 121 _copy_from_user(void *, const void __user *, unsigned long); d597580d373774 Al Viro 2017-03-20 122 #endif d597580d373774 Al Viro 2017-03-20 123 d597580d373774 Al Viro 2017-03-20 124 #ifdef INLINE_COPY_TO_USER d597580d373774 Al Viro 2017-03-20 125 static inline unsigned long d597580d373774 Al Viro 2017-03-20 126 _copy_to_user(void __user *to, const void *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 127 { 9c5f6908de03a4 Al Viro 2017-06-29 128 might_fault(); 4983cb67a383a7 Linus Torvalds 2019-02-14 129 if (access_ok(to, n)) { 9c5f6908de03a4 Al Viro 2017-06-29 130 kasan_check_read(from, n); d597580d373774 Al Viro 2017-03-20 131 n = raw_copy_to_user(to, from, n); 9c5f6908de03a4 Al Viro 2017-06-29 132 } d597580d373774 Al Viro 2017-03-20 133 return n; d597580d373774 Al Viro 2017-03-20 134 } d597580d373774 Al Viro 2017-03-20 135 #else d597580d373774 Al Viro 2017-03-20 136 extern unsigned long d597580d373774 Al Viro 2017-03-20 137 _copy_to_user(void __user *, const void *, unsigned long); d597580d373774 Al Viro 2017-03-20 138 #endif d597580d373774 Al Viro 2017-03-20 139 d597580d373774 Al Viro 2017-03-20 140 static __always_inline unsigned long __must_check d597580d373774 Al Viro 2017-03-20 141 copy_from_user(void *to, const void __user *from, unsigned long n) d597580d373774 Al Viro 2017-03-20 142 { b0377fedb65280 Al Viro 2017-06-29 143 if (likely(check_copy_size(to, n, false))) d597580d373774 Al Viro 2017-03-20 @144 n = _copy_from_user(to, from, n); d597580d373774 Al Viro 2017-03-20 145 return n; d597580d373774 Al Viro 2017-03-20 146 } d597580d373774 Al Viro 2017-03-20 147 :::::: The code at line 112 was first introduced by commit :::::: 9c5f6908de03a4f52ba7364b11fcd6116225480c copy_{from,to}_user(): move kasan checks and might_fault() out-of-line :::::: TO: Al Viro <viro(a)zeniv.linux.org.uk> :::::: CC: Al Viro <viro(a)zeniv.linux.org.uk> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 3778/13950] kernel/sched/core.c:11392:5: sparse: sparse: symbol 'tg_set_dynamic_affinity_mode' was not declared. Should it be static?
by kernel test robot 16 Sep '24

16 Sep '24
Hi Xianglai, First bad commit (maybe != root cause): tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 351aa968603500987e891b20cc97a677602ae7c2 [3778/13950] loongarch/kernel: Fix loongarch compilation error config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240916/202409161053.1Z3YaAWy-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240916/202409161053.1Z3YaAWy-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409161053.1Z3YaAWy-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) kernel/sched/core.c:266:56: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:266:56: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:266:56: sparse: struct task_struct * kernel/sched/core.c:1046:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:1046:38: sparse: expected struct task_struct *curr kernel/sched/core.c:1046:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:2235:33: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:2235:33: sparse: expected struct task_struct *p kernel/sched/core.c:2235:33: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:2235:68: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *tsk @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:2235:68: sparse: expected struct task_struct *tsk kernel/sched/core.c:2235:68: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:3752:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/core.c:3752:17: sparse: expected struct sched_domain *[assigned] sd kernel/sched/core.c:3752:17: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/core.c:3960:36: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:3960:36: sparse: expected struct task_struct const *p kernel/sched/core.c:3960:36: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:9529:43: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *push_task @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:9529:43: sparse: expected struct task_struct *push_task kernel/sched/core.c:9529:43: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:5700:38: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected struct task_struct *curr @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:5700:38: sparse: expected struct task_struct *curr kernel/sched/core.c:5700:38: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:6334:32: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:6334:32: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:6334:32: sparse: struct task_struct * kernel/sched/core.c:6365:23: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:6365:23: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:6365:23: sparse: struct task_struct * kernel/sched/core.c:6373:46: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:6373:46: sparse: struct task_struct * kernel/sched/core.c:6373:46: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:6432:9: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct sched_domain *[assigned] sd @@ got struct sched_domain [noderef] __rcu *parent @@ kernel/sched/core.c:6432:9: sparse: expected struct sched_domain *[assigned] sd kernel/sched/core.c:6432:9: sparse: got struct sched_domain [noderef] __rcu *parent kernel/sched/core.c:6645:14: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected struct task_struct *prev @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:6645:14: sparse: expected struct task_struct *prev kernel/sched/core.c:6645:14: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:7170:17: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:7170:17: sparse: struct task_struct * kernel/sched/core.c:7170:17: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:7386:22: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:7386:22: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:7386:22: sparse: struct task_struct * kernel/sched/core.c:7433:48: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:7433:48: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:7433:48: sparse: struct task_struct * >> kernel/sched/core.c:11392:5: sparse: sparse: symbol 'tg_set_dynamic_affinity_mode' was not declared. Should it be static? >> kernel/sched/core.c:11433:5: sparse: sparse: symbol 'tg_set_affinity_period' was not declared. Should it be static? >> kernel/sched/core.c:11447:5: sparse: sparse: symbol 'tg_get_affinity_period' was not declared. Should it be static? kernel/sched/core.c:12140:25: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct *p @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/core.c:12140:25: sparse: expected struct task_struct *p kernel/sched/core.c:12140:25: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:340:9: sparse: sparse: context imbalance in 'sched_core_lock' - different lock contexts for basic block kernel/sched/core.c:350:17: sparse: sparse: context imbalance in 'sched_core_unlock' - unexpected unlock kernel/sched/core.c:553:6: sparse: sparse: context imbalance in 'raw_spin_rq_lock_nested' - wrong count at exit kernel/sched/core.c:578:6: sparse: sparse: context imbalance in 'raw_spin_rq_trylock' - wrong count at exit kernel/sched/core.c: note: in included file: kernel/sched/sched.h:1364:30: sparse: sparse: context imbalance in 'raw_spin_rq_unlock' - unexpected unlock kernel/sched/core.c:640:36: sparse: sparse: context imbalance in '__task_rq_lock' - wrong count at exit kernel/sched/core.c:681:36: sparse: sparse: context imbalance in 'task_rq_lock' - wrong count at exit kernel/sched/core.c: note: in included file: kernel/sched/pelt.h:97:13: sparse: sparse: incorrect type in argument 1 (different address spaces) @@ expected struct task_struct const *p @@ got struct task_struct [noderef] __rcu *curr @@ kernel/sched/pelt.h:97:13: sparse: expected struct task_struct const *p kernel/sched/pelt.h:97:13: sparse: got struct task_struct [noderef] __rcu *curr kernel/sched/core.c:2226:33: sparse: sparse: dereference of noderef expression kernel/sched/core.c:2227:19: sparse: sparse: dereference of noderef expression kernel/sched/core.c:2228:18: sparse: sparse: dereference of noderef expression kernel/sched/core.c:2288:15: sparse: sparse: context imbalance in 'wait_task_inactive' - different lock contexts for basic block kernel/sched/core.c: note: in included file: kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/core.c:2201:38: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/core.c:2201:38: sparse: struct task_struct [noderef] __rcu * kernel/sched/core.c:2201:38: sparse: struct task_struct const * kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/core.c: note: in included file (through include/linux/mmu_context.h, include/linux/cpuset.h): arch/loongarch/include/asm/mmu_context.h:86:9: sparse: sparse: undefined identifier '__builtin_loongarch_csrwr_w' arch/loongarch/include/asm/mmu_context.h:89:17: sparse: sparse: undefined identifier '__builtin_loongarch_csrwr_d' arch/loongarch/include/asm/mmu_context.h:91:17: sparse: sparse: undefined identifier '__builtin_loongarch_csrwr_d' kernel/sched/core.c: note: in included file (through arch/loongarch/include/asm/switch_to.h): arch/loongarch/include/asm/fpu.h:76:17: sparse: sparse: undefined identifier '__builtin_loongarch_csrrd_w' arch/loongarch/include/asm/fpu.h:85:17: sparse: sparse: undefined identifier '__builtin_loongarch_csrrd_w' kernel/sched/core.c: note: in included file (through arch/loongarch/include/asm/cpu-info.h, arch/loongarch/include/asm/processor.h, ...): arch/loongarch/include/asm/loongarch.h:1252:1: sparse: sparse: undefined identifier '__builtin_loongarch_csrrd_w' arch/loongarch/include/asm/loongarch.h:1252:1: sparse: sparse: undefined identifier '__builtin_loongarch_csrwr_w' kernel/sched/core.c: note: in included file (through arch/loongarch/include/asm/switch_to.h): arch/loongarch/include/asm/fpu.h:225:17: sparse: sparse: undefined identifier '__builtin_loongarch_csrxchg_w' kernel/sched/core.c: note: in included file: kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * kernel/sched/sched.h:2288:25: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2288:25: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2288:25: sparse: struct task_struct * kernel/sched/sched.h:2454:9: sparse: sparse: incompatible types in comparison expression (different address spaces): kernel/sched/sched.h:2454:9: sparse: struct task_struct [noderef] __rcu * kernel/sched/sched.h:2454:9: sparse: struct task_struct * vim +/tg_set_dynamic_affinity_mode +11392 kernel/sched/core.c 304000390f88d0 Josh Don 2021-07-29 11390 6eb07f9925a906 Hui Tang 2024-01-17 11391 #ifdef CONFIG_QOS_SCHED_SMART_GRID 6eb07f9925a906 Hui Tang 2024-01-17 @11392 int tg_set_dynamic_affinity_mode(struct task_group *tg, u64 mode) 6eb07f9925a906 Hui Tang 2024-01-17 11393 { 6eb07f9925a906 Hui Tang 2024-01-17 11394 struct auto_affinity *auto_affi = tg->auto_affinity; 6eb07f9925a906 Hui Tang 2024-01-17 11395 6eb07f9925a906 Hui Tang 2024-01-17 11396 if (unlikely(!auto_affi)) 6eb07f9925a906 Hui Tang 2024-01-17 11397 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11398 6eb07f9925a906 Hui Tang 2024-01-17 11399 /* auto mode */ 6eb07f9925a906 Hui Tang 2024-01-17 11400 if (mode == 1) 6eb07f9925a906 Hui Tang 2024-01-17 11401 start_auto_affinity(auto_affi); 6eb07f9925a906 Hui Tang 2024-01-17 11402 else if (mode == 0) 6eb07f9925a906 Hui Tang 2024-01-17 11403 stop_auto_affinity(auto_affi); 6eb07f9925a906 Hui Tang 2024-01-17 11404 else 6eb07f9925a906 Hui Tang 2024-01-17 11405 return -EINVAL; 6eb07f9925a906 Hui Tang 2024-01-17 11406 6eb07f9925a906 Hui Tang 2024-01-17 11407 return 0; 6eb07f9925a906 Hui Tang 2024-01-17 11408 } 6eb07f9925a906 Hui Tang 2024-01-17 11409 6eb07f9925a906 Hui Tang 2024-01-17 11410 static u64 cpu_affinity_mode_read_u64(struct cgroup_subsys_state *css, 6eb07f9925a906 Hui Tang 2024-01-17 11411 struct cftype *cft) 6eb07f9925a906 Hui Tang 2024-01-17 11412 { 6eb07f9925a906 Hui Tang 2024-01-17 11413 struct task_group *tg = css_tg(css); 6eb07f9925a906 Hui Tang 2024-01-17 11414 e76dedf2e4cc38 Yipeng Zou 2024-01-17 11415 if (!smart_grid_enabled()) 6eb07f9925a906 Hui Tang 2024-01-17 11416 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11417 6eb07f9925a906 Hui Tang 2024-01-17 11418 if (unlikely(!tg->auto_affinity)) 6eb07f9925a906 Hui Tang 2024-01-17 11419 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11420 6eb07f9925a906 Hui Tang 2024-01-17 11421 return tg->auto_affinity->mode; 6eb07f9925a906 Hui Tang 2024-01-17 11422 } 6eb07f9925a906 Hui Tang 2024-01-17 11423 6eb07f9925a906 Hui Tang 2024-01-17 11424 static int cpu_affinity_mode_write_u64(struct cgroup_subsys_state *css, 6eb07f9925a906 Hui Tang 2024-01-17 11425 struct cftype *cftype, u64 mode) 6eb07f9925a906 Hui Tang 2024-01-17 11426 { e76dedf2e4cc38 Yipeng Zou 2024-01-17 11427 if (!smart_grid_enabled()) 6eb07f9925a906 Hui Tang 2024-01-17 11428 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11429 6eb07f9925a906 Hui Tang 2024-01-17 11430 return tg_set_dynamic_affinity_mode(css_tg(css), mode); 6eb07f9925a906 Hui Tang 2024-01-17 11431 } 6eb07f9925a906 Hui Tang 2024-01-17 11432 6eb07f9925a906 Hui Tang 2024-01-17 @11433 int tg_set_affinity_period(struct task_group *tg, u64 period_ms) 6eb07f9925a906 Hui Tang 2024-01-17 11434 { 6eb07f9925a906 Hui Tang 2024-01-17 11435 if (unlikely(!tg->auto_affinity)) 6eb07f9925a906 Hui Tang 2024-01-17 11436 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11437 6eb07f9925a906 Hui Tang 2024-01-17 11438 if (!period_ms || period_ms > U64_MAX / NSEC_PER_MSEC) 6eb07f9925a906 Hui Tang 2024-01-17 11439 return -EINVAL; 6eb07f9925a906 Hui Tang 2024-01-17 11440 6eb07f9925a906 Hui Tang 2024-01-17 11441 raw_spin_lock_irq(&tg->auto_affinity->lock); 6eb07f9925a906 Hui Tang 2024-01-17 11442 tg->auto_affinity->period = ms_to_ktime(period_ms); 6eb07f9925a906 Hui Tang 2024-01-17 11443 raw_spin_unlock_irq(&tg->auto_affinity->lock); 6eb07f9925a906 Hui Tang 2024-01-17 11444 return 0; 6eb07f9925a906 Hui Tang 2024-01-17 11445 } 6eb07f9925a906 Hui Tang 2024-01-17 11446 6eb07f9925a906 Hui Tang 2024-01-17 @11447 u64 tg_get_affinity_period(struct task_group *tg) 6eb07f9925a906 Hui Tang 2024-01-17 11448 { 6eb07f9925a906 Hui Tang 2024-01-17 11449 if (unlikely(!tg->auto_affinity)) 6eb07f9925a906 Hui Tang 2024-01-17 11450 return -EPERM; 6eb07f9925a906 Hui Tang 2024-01-17 11451 6eb07f9925a906 Hui Tang 2024-01-17 11452 return ktime_to_ms(tg->auto_affinity->period); 6eb07f9925a906 Hui Tang 2024-01-17 11453 } 6eb07f9925a906 Hui Tang 2024-01-17 11454 :::::: The code at line 11392 was first introduced by commit :::::: 6eb07f9925a906d81f328c808ba25f7800888dce sched: Introduce smart grid scheduling strategy for cfs :::::: TO: Hui Tang <tanghui20(a)huawei.com> :::::: CC: yanhaitao <yanhaitao2(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 10902/23714] drivers/pci/hotplug/pciehp_core.o: warning: objtool: missing symbol for section .init.text
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 58d584102f06f870f118644f1022c751e015e7bb [10902/23714] PCI: portdrv: Initialize service drivers directly config: x86_64-buildonly-randconfig-001-20240915 (https://download.01.org/0day-ci/archive/20240916/202409160928.GS8enSKA-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160928.GS8enSKA-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160928.GS8enSKA-lkp@intel.com/ All warnings (new ones prefixed by >>): drivers/pci/hotplug/pciehp_core.c:214: warning: Function parameter or member 'ctrl' not described in 'pciehp_check_presence' >> drivers/pci/hotplug/pciehp_core.o: warning: objtool: missing symbol for section .init.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2552/13950] kernel/sched/fair.c:314:36: error: 'hundred_thousand' undeclared here (not in a function)
by kernel test robot 16 Sep '24

16 Sep '24
Hi Yipeng, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: f7c232d3e20a69b46e53da221ba3cbac0fa68a0d [2552/13950] smart_grid: introduce smart_grid_strategy_ctrl sysctl config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240916/202409160615.YbK4RmzA-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240916/202409160615.YbK4RmzA-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160615.YbK4RmzA-lkp@intel.com/ All errors (new ones prefixed by >>): >> kernel/sched/fair.c:314:36: error: 'hundred_thousand' undeclared here (not in a function) 314 | .extra2 = &hundred_thousand, | ^~~~~~~~~~~~~~~~ kernel/sched/fair.c:7104:6: warning: no previous prototype for 'free_affinity_domains' [-Wmissing-prototypes] 7104 | void free_affinity_domains(struct affinity_domain *ad) | ^~~~~~~~~~~~~~~~~~~~~ vim +/hundred_thousand +314 kernel/sched/fair.c 216 217 #ifdef CONFIG_SYSCTL 218 static struct ctl_table sched_fair_sysctls[] = { 219 { 220 .procname = "sched_child_runs_first", 221 .data = &sysctl_sched_child_runs_first, 222 .maxlen = sizeof(unsigned int), 223 .mode = 0644, 224 .proc_handler = proc_dointvec, 225 }, 226 #ifdef CONFIG_CFS_BANDWIDTH 227 { 228 .procname = "sched_cfs_bandwidth_slice_us", 229 .data = &sysctl_sched_cfs_bandwidth_slice, 230 .maxlen = sizeof(unsigned int), 231 .mode = 0644, 232 .proc_handler = proc_dointvec_minmax, 233 .extra1 = SYSCTL_ONE, 234 }, 235 #endif 236 #ifdef CONFIG_NUMA_BALANCING 237 { 238 .procname = "numa_balancing_promote_rate_limit_MBps", 239 .data = &sysctl_numa_balancing_promote_rate_limit, 240 .maxlen = sizeof(unsigned int), 241 .mode = 0644, 242 .proc_handler = proc_dointvec_minmax, 243 .extra1 = SYSCTL_ZERO, 244 }, 245 #endif /* CONFIG_NUMA_BALANCING */ 246 #ifdef CONFIG_QOS_SCHED 247 { 248 .procname = "qos_overload_detect_period_ms", 249 .data = &sysctl_overload_detect_period, 250 .maxlen = sizeof(unsigned int), 251 .mode = 0644, 252 .proc_handler = proc_dointvec_minmax, 253 .extra1 = SYSCTL_ONE_HUNDRED, 254 .extra2 = &hundred_thousand, 255 }, 256 { 257 .procname = "qos_offline_wait_interval_ms", 258 .data = &sysctl_offline_wait_interval, 259 .maxlen = sizeof(unsigned int), 260 .mode = 0644, 261 .proc_handler = proc_dointvec_minmax, 262 .extra1 = SYSCTL_ONE_HUNDRED, 263 .extra2 = &one_thousand, 264 }, 265 #endif 266 #ifdef CONFIG_QOS_SCHED_DYNAMIC_AFFINITY 267 { 268 .procname = "sched_util_low_pct", 269 .data = &sysctl_sched_util_low_pct, 270 .maxlen = sizeof(sysctl_sched_util_low_pct), 271 .mode = 0644, 272 .proc_handler = proc_dointvec_minmax, 273 .extra1 = SYSCTL_ZERO, 274 .extra2 = SYSCTL_ONE_HUNDRED, 275 }, 276 #endif 277 #ifdef CONFIG_QOS_SCHED_PRIO_LB 278 { 279 .procname = "sched_prio_load_balance_enabled", 280 .data = &sysctl_sched_prio_load_balance_enabled, 281 .maxlen = sizeof(unsigned int), 282 .mode = 0644, 283 .proc_handler = proc_dointvec_minmax, 284 .extra1 = SYSCTL_ZERO, 285 .extra2 = SYSCTL_ONE, 286 }, 287 #endif 288 #ifdef CONFIG_QOS_SCHED_MULTILEVEL 289 { 290 .procname = "qos_level_weights", 291 .data = &sysctl_qos_level_weights, 292 .maxlen = 5*sizeof(int), 293 .mode = 0644, 294 .proc_handler = proc_dointvec, 295 }, 296 #endif 297 #ifdef CONFIG_QOS_SCHED_SMART_GRID 298 { 299 .procname = "smart_grid_strategy_ctrl", 300 .data = &sysctl_smart_grid_strategy_ctrl, 301 .maxlen = sizeof(unsigned int), 302 .mode = 0644, 303 .proc_handler = proc_dointvec_minmax, 304 .extra1 = SYSCTL_ZERO, 305 .extra2 = SYSCTL_ONE, 306 }, 307 { 308 .procname = "affinity_adjust_delay_ms", 309 .data = &sysctl_affinity_adjust_delay_ms, 310 .maxlen = sizeof(unsigned int), 311 .mode = 0644, 312 .proc_handler = proc_dointvec_minmax, 313 .extra1 = SYSCTL_ZERO, > 314 .extra2 = &hundred_thousand, 315 }, 316 #endif 317 {} 318 }; 319 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2700/13950] drivers/platform/mpam/mpam_devices.c:247:11: error: call to undeclared function '__acpi_get_mem_attribute'; ISO C99 and later do not support implicit function declarations
by kernel test robot 16 Sep '24

16 Sep '24
Hi James, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 3e9e723f3bf92a19e5e15dda89bbb136ce463294 [2700/13950] arm_mpam: Add probe/remove for mpam msc driver and kbuild boiler plate config: arm64-randconfig-003-20240916 (https://download.01.org/0day-ci/archive/20240916/202409160613.WSAJ8mH8-lkp@…) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project bf684034844c660b778f0eba103582f582b710c9) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160613.WSAJ8mH8-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160613.WSAJ8mH8-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/platform/mpam/mpam_devices.c:212:24: error: no member named 'mon_sel_lock' in 'struct mpam_msc'; did you mean 'part_sel_lock'? 212 | spin_lock_init(&msc->mon_sel_lock); | ^~~~~~~~~~~~ | part_sel_lock include/linux/spinlock.h:335:38: note: expanded from macro 'spin_lock_init' 335 | __raw_spin_lock_init(spinlock_check(lock), \ | ^ drivers/platform/mpam/mpam_internal.h:43:14: note: 'part_sel_lock' declared here 43 | spinlock_t part_sel_lock; | ^ >> drivers/platform/mpam/mpam_devices.c:247:11: error: call to undeclared function '__acpi_get_mem_attribute'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 247 | prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr); | ^ >> drivers/platform/mpam/mpam_devices.c:247:9: error: assigning to 'pgprot_t' from incompatible type 'int' 247 | prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr); | ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 3 errors generated. vim +/__acpi_get_mem_attribute +247 drivers/platform/mpam/mpam_devices.c 170 171 static int mpam_msc_drv_probe(struct platform_device *pdev) 172 { 173 int err; 174 pgprot_t prot; 175 void * __iomem io; 176 struct mpam_msc *msc; 177 struct resource *msc_res; 178 void *plat_data = pdev->dev.platform_data; 179 180 mutex_lock(&mpam_list_lock); 181 do { 182 msc = devm_kzalloc(&pdev->dev, sizeof(*msc), GFP_KERNEL); 183 if (!msc) { 184 err = -ENOMEM; 185 break; 186 } 187 188 INIT_LIST_HEAD_RCU(&msc->glbl_list); 189 msc->pdev = pdev; 190 191 err = device_property_read_u32(&pdev->dev, "arm,not-ready-us", 192 &msc->nrdy_usec); 193 if (err) { 194 /* This will prevent CSU monitors being usable */ 195 msc->nrdy_usec = 0; 196 } 197 198 err = get_msc_affinity(msc); 199 if (err) 200 break; 201 if (cpumask_empty(&msc->accessibility)) { 202 pr_err_once("msc:%u is not accessible from any CPU!", 203 msc->id); 204 err = -EINVAL; 205 break; 206 } 207 208 mutex_init(&msc->lock); 209 msc->id = mpam_num_msc++; 210 INIT_LIST_HEAD_RCU(&msc->ris); 211 spin_lock_init(&msc->part_sel_lock); 212 spin_lock_init(&msc->mon_sel_lock); 213 214 if (device_property_read_u32(&pdev->dev, "pcc-channel", 215 &msc->pcc_subspace_id)) 216 msc->iface = MPAM_IFACE_MMIO; 217 else 218 msc->iface = MPAM_IFACE_PCC; 219 220 if (msc->iface == MPAM_IFACE_MMIO) { 221 io = devm_platform_get_and_ioremap_resource(pdev, 0, 222 &msc_res); 223 if (IS_ERR(io)) { 224 pr_err("Failed to map MSC base address\n"); 225 devm_kfree(&pdev->dev, msc); 226 err = PTR_ERR(io); 227 break; 228 } 229 msc->mapped_hwpage_sz = msc_res->end - msc_res->start; 230 msc->mapped_hwpage = io; 231 } else if (msc->iface == MPAM_IFACE_PCC) { 232 msc->pcc_cl.dev = &pdev->dev; 233 msc->pcc_cl.rx_callback = mpam_pcc_rx_callback; 234 msc->pcc_cl.tx_block = false; 235 msc->pcc_cl.tx_tout = 1000; /* 1s */ 236 msc->pcc_cl.knows_txdone = false; 237 238 msc->pcc_chan = pcc_mbox_request_channel(&msc->pcc_cl, 239 msc->pcc_subspace_id); 240 if (IS_ERR(msc->pcc_chan)) { 241 pr_err("Failed to request MSC PCC channel\n"); 242 devm_kfree(&pdev->dev, msc); 243 err = PTR_ERR(msc->pcc_chan); 244 break; 245 } 246 > 247 prot = __acpi_get_mem_attribute(msc->pcc_chan->shmem_base_addr); 248 io = ioremap_prot(msc->pcc_chan->shmem_base_addr, 249 msc->pcc_chan->shmem_size, pgprot_val(prot)); 250 if (IS_ERR(io)) { 251 pr_err("Failed to map MSC base address\n"); 252 pcc_mbox_free_channel(msc->pcc_chan); 253 devm_kfree(&pdev->dev, msc); 254 err = PTR_ERR(io); 255 break; 256 } 257 258 /* TODO: issue a read to update the registers */ 259 260 msc->mapped_hwpage_sz = msc->pcc_chan->shmem_size; 261 msc->mapped_hwpage = io + sizeof(struct acpi_pcct_shared_memory); 262 } 263 264 list_add_rcu(&msc->glbl_list, &mpam_all_msc); 265 platform_set_drvdata(pdev, msc); 266 } while (0); 267 mutex_unlock(&mpam_list_lock); 268 269 if (!err) { 270 /* Create RIS entries described by firmware */ 271 if (!acpi_disabled) 272 err = acpi_mpam_parse_resources(msc, plat_data); 273 else 274 err = mpam_dt_parse_resources(msc, plat_data); 275 } 276 277 if (!err && fw_num_msc == mpam_num_msc) 278 mpam_discovery_complete(); 279 280 return err; 281 } 282 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6] BUILD REGRESSION 84404f248a61323e09909849803ea4efce81742f
by kernel test robot 16 Sep '24

16 Sep '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6 branch HEAD: 84404f248a61323e09909849803ea4efce81742f !11556 bpf: Fix a kernel verifier crash in stacksafe() Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202409151313.4XBOlxtN-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409151723.cHHy97fz-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160027.9Sg9DJSu-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160214.lVT0QY5g-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160256.rcSYesB7-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160318.lnCckgr9-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160448.mekEXGBM-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409160450.X95GB3Yc-lkp@intel.com drivers/crypto/ccp/hygon/hct.c:1730:51: error: 'struct device' has no member named 'numa_node' include/linux/syscalls.h:247:28: error: invalid storage class for function '__do_sys_membarrier' include/linux/syscalls.h:249:25: error: static declaration of '__se_sys_membarrier' follows non-static declaration kernel/sched/autogroup.c:15:35: error: initializer element is not constant kernel/sched/autogroup.c:202:15: error: non-static declaration of 'sched_autogroup_create_attach' follows static declaration kernel/sched/autogroup.c:209:15: error: non-static declaration of 'sched_autogroup_detach' follows static declaration kernel/sched/autogroup.c:221:19: error: invalid storage class for function 'setup_autogroup' kernel/sched/autogroup.c:25:20: error: invalid storage class for function 'sched_autogroup_sysctl_init' kernel/sched/autogroup.c:47:20: error: invalid storage class for function 'autogroup_destroy' kernel/sched/autogroup.c:60:20: error: invalid storage class for function 'autogroup_kref_put' kernel/sched/autogroup.c:71:33: error: invalid storage class for function 'autogroup_task_get' kernel/sched/autogroup.c:7:28: error: section attribute cannot be specified for local variables kernel/sched/autogroup.c:85:33: error: invalid storage class for function 'autogroup_create' kernel/sched/build_utility.c:110: error: expected declaration or statement at end of input kernel/sched/core.c:11514:74: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type 'int' [-Wformat=] kernel/sched/fair.c:145:12: warning: 'one_thousand' defined but not used [-Wunused-variable] kernel/sched/fair.c:146:12: warning: 'hundred_thousand' defined but not used [-Wunused-variable] kernel/sched/membarrier.c:165:13: error: invalid storage class for function 'ipi_mb' kernel/sched/membarrier.c:170:13: error: invalid storage class for function 'ipi_sync_core' kernel/sched/membarrier.c:200:13: error: invalid storage class for function 'ipi_sync_rq_state' kernel/sched/membarrier.c:245:12: error: invalid storage class for function 'membarrier_global_expedited' kernel/sched/membarrier.c:310:12: error: invalid storage class for function 'membarrier_private_expedited' kernel/sched/membarrier.c:426:12: error: invalid storage class for function 'sync_runqueues_membarrier_state' kernel/sched/membarrier.c:502:12: error: invalid storage class for function 'membarrier_register_private_expedited' kernel/sched/membarrier.c:544:12: error: invalid storage class for function 'membarrier_get_registrations' kernel/sched/psi.c:1098:13: error: invalid storage class for function 'task_is_in_psi_v1' kernel/sched/psi.c:1112:33: error: invalid storage class for function 'task_psi_group' kernel/sched/psi.c:1130:13: error: invalid storage class for function 'psi_flags_change' kernel/sched/psi.c:1763:12: error: invalid storage class for function 'psi_io_show' kernel/sched/psi.c:1768:12: error: invalid storage class for function 'psi_memory_show' kernel/sched/psi.c:1778:12: error: invalid storage class for function 'psi_io_open' kernel/sched/psi.c:1783:12: error: invalid storage class for function 'psi_memory_open' kernel/sched/psi.c:1788:12: error: invalid storage class for function 'psi_cpu_open' kernel/sched/psi.c:1793:16: error: invalid storage class for function 'psi_write' kernel/sched/psi.c:1836:16: error: invalid storage class for function 'psi_io_write' kernel/sched/psi.c:1842:16: error: invalid storage class for function 'psi_memory_write' kernel/sched/psi.c:1848:16: error: invalid storage class for function 'psi_cpu_write' kernel/sched/psi.c:1861:12: error: invalid storage class for function 'psi_fop_release' kernel/sched/psi.c:1870:27: error: initializer element is not constant kernel/sched/psi.c:1907:13: error: invalid storage class for function 'get_stat_names' kernel/sched/psi.c:1953:12: error: invalid storage class for function 'system_psi_stat_show' kernel/sched/psi.c:1958:12: error: invalid storage class for function 'psi_stat_open' kernel/sched/psi.c:419:13: error: invalid storage class for function 'psi_group_stat_change' kernel/sched/psi.c:469:13: error: invalid storage class for function 'get_recent_stat_times' kernel/sched/psi.c:496:13: error: invalid storage class for function 'update_throttle_type' kernel/sched/psi.c:520:13: error: invalid storage class for function 'collect_percpu_times' kernel/sched/psi.c:588:13: error: invalid storage class for function 'window_reset' kernel/sched/psi.c:607:12: error: invalid storage class for function 'window_update' kernel/sched/psi.c:633:12: error: invalid storage class for function 'update_triggers' kernel/sched/psi.c:771:13: error: invalid storage class for function 'psi_avgs_work' kernel/sched/psi.c:847:13: error: invalid storage class for function 'psi_rtpoll_work' kernel/sched/psi.c:949:13: error: invalid storage class for function 'poll_timer_fn' kernel/sched/psi.c:957:13: error: invalid storage class for function 'record_times' kernel/sched/psi.c:990:13: error: invalid storage class for function 'psi_group_change' ld: vgettimeofday.c:(.text+0x118): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x358): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x44): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x60): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x6c): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0xc0): undefined reference to `__tsan_volatile_read4' loongson3-acpi-cpufreq.c:(.text+0x2a20): undefined reference to `acpi_processor_register_performance' mm/mem_reliable.c:345:2: error: call to undeclared function 'mem_reliable_ctrl_bit_disable'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] mm/share_pool.c:1226:14: error: call to undeclared function 'huge_ptep_get'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] vgettimeofday.c:(.text+0x2c): undefined reference to `__tsan_volatile_read4' vgettimeofday.c:(.text+0x584): undefined reference to `__tsan_write8' vgettimeofday.c:(.text.startup+0x8): undefined reference to `__tsan_init' Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-allmodconfig | `-- drivers-iommu-arm-arm-smmu-v3-arm-s-smmu-v3.c:warning:no-previous-prototype-for-function-virtcca_smmu_gerror_handler |-- arm64-randconfig-001-20240916 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_read2 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_read4 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_read8 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_volatile_read4 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_write4 | |-- ld:vgettimeofday.c:(.text):undefined-reference-to-__tsan_write8 | |-- vgettimeofday.c:(.text):undefined-reference-to-__tsan_volatile_read4 | |-- vgettimeofday.c:(.text):undefined-reference-to-__tsan_write8 | `-- vgettimeofday.c:(.text.startup):undefined-reference-to-__tsan_init |-- arm64-randconfig-002-20240916 | |-- mm-share_pool.c:error:call-to-undeclared-function-huge_ptep_get-ISO-C99-and-later-do-not-support-implicit-function-declarations | `-- mm-share_pool.c:error:initializing-pte_t-with-an-expression-of-incompatible-type-int |-- arm64-randconfig-003-20240916 | `-- mm-mem_reliable.c:error:call-to-undeclared-function-mem_reliable_ctrl_bit_disable-ISO-C99-and-later-do-not-support-implicit-function-declarations |-- loongarch-allmodconfig | `-- loongson3-acpi-cpufreq.c:(.text):undefined-reference-to-acpi_processor_register_performance |-- loongarch-randconfig-002-20240916 | |-- kernel-sched-fair.c:warning:hundred_thousand-defined-but-not-used | `-- kernel-sched-fair.c:warning:one_thousand-defined-but-not-used |-- loongarch-randconfig-r133-20240913 | |-- drivers-acpi-pptt.c:sparse:sparse:symbol-acpi_pptt_for_each_container-was-not-declared.-Should-it-be-static | |-- include-linux-syscalls.h:error:implicit-declaration-of-function-__do_sys_membarrier | |-- include-linux-syscalls.h:error:invalid-storage-class-for-function-__do_sys_membarrier | |-- include-linux-syscalls.h:error:static-declaration-of-__se_sys_membarrier-follows-non-static-declaration | |-- kernel-sched-autogroup.c:error:initializer-element-is-not-constant | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_create | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_destroy | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_kref_get | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_kref_put | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_move_group | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-autogroup_task_get | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-sched_autogroup_sysctl_init | |-- kernel-sched-autogroup.c:error:invalid-storage-class-for-function-setup_autogroup | |-- kernel-sched-autogroup.c:error:non-static-declaration-of-sched_autogroup_create_attach-follows-static-declaration | |-- kernel-sched-autogroup.c:error:non-static-declaration-of-sched_autogroup_detach-follows-static-declaration | |-- kernel-sched-autogroup.c:error:section-attribute-cannot-be-specified-for-local-variables | |-- kernel-sched-build_utility.c:error:expected-declaration-or-statement-at-end-of-input | |-- kernel-sched-core.c:warning:format-llu-expects-argument-of-type-long-long-unsigned-int-but-argument-has-type-int | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-ipi_mb | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-ipi_rseq | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-ipi_sync_core | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-ipi_sync_rq_state | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-membarrier_get_registrations | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-membarrier_global_expedited | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-membarrier_private_expedited | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-membarrier_register_global_expedited | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-membarrier_register_private_expedited | |-- kernel-sched-membarrier.c:error:invalid-storage-class-for-function-sync_runqueues_membarrier_state | |-- kernel-sched-psi.c:error:initializer-element-is-not-constant | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-collect_percpu_times | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-get_recent_stat_times | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-get_stat_names | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-init_rtpoll_triggers | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-poll_timer_fn | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_avgs_work | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_cpu_open | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_cpu_show | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_cpu_write | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_flags_change | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_fop_poll | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_fop_release | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_group_change | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_group_stat_change | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_io_open | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_io_show | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_io_write | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_memory_open | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_memory_show | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_memory_write | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_proc_init | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_rtpoll_work | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_rtpoll_worker | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_schedule_rtpoll_work | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_stat_flags_change | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_stat_open | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-psi_write | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-record_times | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-system_psi_stat_show | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-task_is_in_psi_v1 | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-task_psi_group | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-test_fine_grained_stat | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-update_averages | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-update_throttle_type | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-update_triggers | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-window_reset | |-- kernel-sched-psi.c:error:invalid-storage-class-for-function-window_update | |-- kernel-sched-psi.c:error:non-static-declaration-of-psi_memstall_enter-follows-static-declaration | `-- kernel-sched-psi.c:error:non-static-declaration-of-psi_memstall_leave-follows-static-declaration |-- x86_64-randconfig-011-20240916 | `-- drivers-crypto-ccp-hygon-hct.c:error:no-member-named-numa_node-in-struct-device |-- x86_64-randconfig-013-20240915 | `-- drivers-crypto-ccp-hygon-hct.c:error:struct-device-has-no-member-named-numa_node `-- x86_64-randconfig-071-20240916 `-- drivers-crypto-ccp-hygon-hct.c:error:struct-device-has-no-member-named-numa_node elapsed time: 1071m configs tested: 33 configs skipped: 122 tested configs: arm64 allmodconfig clang-20 arm64 allnoconfig gcc-14.1.0 arm64 randconfig-001-20240916 gcc-14.1.0 arm64 randconfig-002-20240916 clang-20 arm64 randconfig-003-20240916 clang-20 arm64 randconfig-004-20240916 clang-20 loongarch allmodconfig gcc-14.1.0 loongarch allnoconfig gcc-14.1.0 loongarch randconfig-001-20240916 gcc-14.1.0 loongarch randconfig-002-20240916 gcc-14.1.0 x86_64 allnoconfig clang-18 x86_64 allyesconfig clang-18 x86_64 buildonly-randconfig-001-20240916 gcc-12 x86_64 buildonly-randconfig-002-20240916 gcc-12 x86_64 buildonly-randconfig-003-20240916 gcc-12 x86_64 buildonly-randconfig-004-20240916 gcc-11 x86_64 buildonly-randconfig-005-20240916 gcc-12 x86_64 buildonly-randconfig-006-20240916 clang-18 x86_64 defconfig gcc-11 x86_64 randconfig-001-20240916 clang-18 x86_64 randconfig-002-20240916 gcc-12 x86_64 randconfig-003-20240916 gcc-12 x86_64 randconfig-004-20240916 gcc-12 x86_64 randconfig-005-20240916 gcc-11 x86_64 randconfig-006-20240916 gcc-12 x86_64 randconfig-011-20240916 clang-18 x86_64 randconfig-012-20240916 clang-18 x86_64 randconfig-013-20240916 gcc-12 x86_64 randconfig-014-20240916 gcc-12 x86_64 randconfig-015-20240916 gcc-12 x86_64 randconfig-071-20240916 gcc-12 x86_64 randconfig-072-20240916 clang-18 x86_64 rhel-8.3-rust clang-18 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1373/13950] ld: vgettimeofday.c:undefined reference to `__tsan_read2'
by kernel test robot 16 Sep '24

16 Sep '24
Hi Yang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 371d3f569b16c38afcf6abb24d620f9d768c95f9 [1373/13950] vdso: do cntvct workaround in the VDSO config: arm64-randconfig-001-20240916 (https://download.01.org/0day-ci/archive/20240916/202409160450.X95GB3Yc-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160450.X95GB3Yc-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160450.X95GB3Yc-lkp@intel.com/ All errors (new ones prefixed by >>): scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr] scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr] scripts/genksyms/parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples arch/arm64/kernel/vdso-ilp32/Makefile:93: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:87: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:90: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:71: FORCE prerequisite is missing ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__cvdso_gettimeofday_data.constprop.0': vgettimeofday.c:(.text+0x2c): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x44): undefined reference to `__tsan_read4' >> ld: vgettimeofday.c:(.text+0x60): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x80): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x90): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x9c): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0xa8): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0xb8): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0xc4): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0xd4): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x138): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x144): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x19c): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x1c0): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x1ec): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x1f8): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x204): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x210): undefined reference to `__tsan_write4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__cvdso_clock_gettime_data.constprop.0': vgettimeofday.c:(.text+0x2cc): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x2e4): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x300): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x32c): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x338): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x344): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x354): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x364): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x374): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x384): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x3e0): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x3ec): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x434): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x45c): undefined reference to `__tsan_read2' ld: vgettimeofday.c:(.text+0x51c): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x530): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x53c): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x548): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x554): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x564): undefined reference to `__tsan_volatile_read4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__kernel_clock_getres': vgettimeofday.c:(.text+0x644): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x650): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x680): undefined reference to `__tsan_volatile_read4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `_sub_I_00099_0': vgettimeofday.c:(.text.startup+0x8): undefined reference to `__tsan_init' collect2: error: ld returned 1 exit status make[3]: *** [arch/arm64/kernel/vdso-ilp32/Makefile:71: arch/arm64/kernel/vdso-ilp32/vdso-ilp32.so.dbg] Error 1 shuffle=2963184100 make[3]: Target 'include/generated/vdso-ilp32-offsets.h' not remade because of errors. make[2]: *** [arch/arm64/Makefile:201: vdso_prepare] Error 2 shuffle=2963184100 make[2]: Target 'prepare' not remade because of errors. make[1]: *** [Makefile:234: __sub-make] Error 2 shuffle=2963184100 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:234: __sub-make] Error 2 shuffle=2963184100 make: Target 'prepare' not remade because of errors. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1624/13950] loongson3-acpi-cpufreq.c:undefined reference to `acpi_processor_register_performance'
by kernel test robot 16 Sep '24

16 Sep '24
Hi liuyun, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 47a0b6f372d7f05822d021f86b21a34fd2142225 [1624/13950] cpufreq: Add cpufreq driver for LoongArch config: loongarch-allmodconfig (https://download.01.org/0day-ci/archive/20240916/202409160448.mekEXGBM-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160448.mekEXGBM-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160448.mekEXGBM-lkp@intel.com/ All errors (new ones prefixed by >>): loongarch64-linux-ld: drivers/cpufreq/loongson3-acpi-cpufreq.o: in function `loongson3_cpufreq_cpu_exit': loongson3-acpi-cpufreq.c:(.text+0x6f8): undefined reference to `acpi_processor_unregister_performance' loongarch64-linux-ld: drivers/cpufreq/loongson3-acpi-cpufreq.o: in function `.L333': >> loongson3-acpi-cpufreq.c:(.text+0x2a20): undefined reference to `acpi_processor_register_performance' loongarch64-linux-ld: drivers/cpufreq/loongson3-acpi-cpufreq.o: in function `.L372': loongson3-acpi-cpufreq.c:(.text+0x3390): undefined reference to `acpi_processor_unregister_performance' -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 4481/23714] net/tipc/topsrv.c:374:30: sparse: sparse: cast from restricted __be32
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: b8d954fb09872d1a3f0962b3590ecf87574ced1d [4481/23714] tipc: fix cancellation of topology subscriptions config: x86_64-randconfig-122-20240915 (https://download.01.org/0day-ci/archive/20240916/202409160357.101L4Sn7-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160357.101L4Sn7-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160357.101L4Sn7-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> net/tipc/topsrv.c:374:30: sparse: sparse: cast from restricted __be32 >> net/tipc/topsrv.c:374:30: sparse: sparse: cast from restricted __be32 >> net/tipc/topsrv.c:374:30: sparse: sparse: cast from restricted __be32 >> net/tipc/topsrv.c:374:30: sparse: sparse: cast from restricted __be32 In file included from include/linux/if_ether.h:23, from include/uapi/linux/ethtool.h:19, from include/linux/ethtool.h:18, from include/linux/netdevice.h:41, from net/tipc/core.h:52, from net/tipc/topsrv.h:40, from net/tipc/subscr.h:40, from net/tipc/topsrv.c:37: In function '__skb_insert', inlined from '__skb_queue_before' at include/linux/skbuff.h:1832:2, inlined from '__skb_queue_tail' at include/linux/skbuff.h:1866:2, inlined from 'tipc_topsrv_kern_evt' at net/tipc/topsrv.c:618:2: include/linux/skbuff.h:1726:34: warning: array subscript 'struct sk_buff[0]' is partly outside array bounds of 'struct sk_buff_head[1]' [-Warray-bounds] 1726 | next->prev = prev->next = newsk; | ~~~~~~~~~~~^~~~~~~ net/tipc/topsrv.c: In function 'tipc_topsrv_kern_evt': net/tipc/topsrv.c:608:29: note: object 'evtq' of size 80 608 | struct sk_buff_head evtq; | ^~~~ In function '__skb_insert', inlined from '__skb_queue_before' at include/linux/skbuff.h:1832:2, inlined from '__skb_queue_tail' at include/linux/skbuff.h:1866:2, inlined from 'tipc_topsrv_kern_evt' at net/tipc/topsrv.c:618:2: include/linux/skbuff.h:1726:21: warning: array subscript 'struct sk_buff[0]' is partly outside array bounds of 'struct sk_buff_head[1]' [-Warray-bounds] 1726 | next->prev = prev->next = newsk; | ~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~ net/tipc/topsrv.c: In function 'tipc_topsrv_kern_evt': net/tipc/topsrv.c:608:29: note: object 'evtq' of size 80 608 | struct sk_buff_head evtq; | ^~~~ net/tipc/topsrv.c:82: warning: Function parameter or member 'awork' not described in 'tipc_topsrv' net/tipc/topsrv.c:82: warning: Function parameter or member 'listener' not described in 'tipc_topsrv' net/tipc/topsrv.o: warning: objtool: tipc_conn_delete_sub()+0x15d: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_kern_evt()+0x192: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_conn_rcv_sub()+0x1e9: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_conn_send_to_sock()+0x2cc: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_queue_evt()+0x115: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_kern_subscr()+0x402: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_kern_unsubscr()+0x108: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_start()+0x51c: sibling call from callable instruction with modified stack frame net/tipc/topsrv.o: warning: objtool: tipc_topsrv_stop()+0x10e: sibling call from callable instruction with modified stack frame vim +374 net/tipc/topsrv.c 365 366 static int tipc_conn_rcv_sub(struct tipc_topsrv *srv, 367 struct tipc_conn *con, 368 struct tipc_subscr *s) 369 { 370 struct tipc_net *tn = tipc_net(srv->net); 371 struct tipc_subscription *sub; 372 373 if (tipc_sub_read(s, filter) & TIPC_SUB_CANCEL) { > 374 s->filter &= __constant_ntohl(~TIPC_SUB_CANCEL); 375 tipc_conn_delete_sub(con, s); 376 return 0; 377 } 378 if (atomic_read(&tn->subscription_count) >= TIPC_MAX_SUBSCR) { 379 pr_warn("Subscription rejected, max (%u)\n", TIPC_MAX_SUBSCR); 380 return -1; 381 } 382 sub = tipc_sub_subscribe(srv->net, s, con->conid); 383 if (!sub) 384 return -1; 385 atomic_inc(&tn->subscription_count); 386 spin_lock_bh(&con->sub_lock); 387 list_add(&sub->sub_list, &con->sub_list); 388 spin_unlock_bh(&con->sub_lock); 389 return 0; 390 } 391 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2413/13950] mm/mem_reliable.c:345:2: error: call to undeclared function 'mem_reliable_ctrl_bit_disable'; ISO C99 and later do not support implicit function declarations
by kernel test robot 16 Sep '24

16 Sep '24
Hi Ma, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 425771499c0742a996ab28df143d7a5123102686 [2413/13950] mm: mem_reliable: Introduce proc interface to disable memory reliable features config: arm64-randconfig-003-20240916 (https://download.01.org/0day-ci/archive/20240916/202409160318.lnCckgr9-lkp@…) compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project bf684034844c660b778f0eba103582f582b710c9) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160318.lnCckgr9-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160318.lnCckgr9-lkp@intel.com/ All errors (new ones prefixed by >>): In file included from mm/mem_reliable.c:5: In file included from include/linux/mm.h:2181: include/linux/vmstat.h:508:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 508 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 509 | item]; | ~~~~ include/linux/vmstat.h:515:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 515 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 516 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ include/linux/vmstat.h:522:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 522 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_" | ~~~~~~~~~~~ ^ ~~~ include/linux/vmstat.h:527:43: warning: arithmetic between different enumeration types ('enum zone_stat_item' and 'enum numa_stat_item') [-Wenum-enum-conversion] 527 | return vmstat_text[NR_VM_ZONE_STAT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~ ^ 528 | NR_VM_NUMA_EVENT_ITEMS + | ~~~~~~~~~~~~~~~~~~~~~~ >> mm/mem_reliable.c:345:2: error: call to undeclared function 'mem_reliable_ctrl_bit_disable'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration] 345 | mem_reliable_ctrl_bit_disable(idx); | ^ mm/mem_reliable.c:345:2: note: did you mean 'mem_reliable_ctrl_bit_disabled'? mm/mem_reliable.c:320:13: note: 'mem_reliable_ctrl_bit_disabled' declared here 320 | static void mem_reliable_ctrl_bit_disabled(int idx) {} | ^ mm/mem_reliable.c:376:45: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 376 | num += global_node_page_state(NR_LRU_BASE + LRU_ACTIVE_FILE); | ~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~ mm/mem_reliable.c:377:45: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion] 377 | num += global_node_page_state(NR_LRU_BASE + LRU_INACTIVE_FILE); | ~~~~~~~~~~~ ^ ~~~~~~~~~~~~~~~~~ 6 warnings and 1 error generated. vim +/mem_reliable_ctrl_bit_disable +345 mm/mem_reliable.c 322 323 static void mem_reliable_feature_disable(int idx) 324 { 325 char *str = NULL; 326 327 switch (idx) { 328 case MEM_RELIABLE_FALLBACK: 329 reliable_allow_fallback = false; 330 str = "fallback"; 331 break; 332 case MEM_RELIABLE_SHMEM: 333 shmem_reliable = false; 334 str = "shmem"; 335 break; 336 case MEM_RELIABLE_PAGECACHE: 337 pagecache_reliable = false; 338 str = "pagecache"; 339 break; 340 default: 341 pr_err("unknown index: %d", idx); 342 return; 343 } 344 > 345 mem_reliable_ctrl_bit_disable(idx); 346 pr_info("%s is disabled\n", str); 347 } 348 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 701/13950] vgettimeofday.c:undefined reference to `__tsan_volatile_read4'
by kernel test robot 16 Sep '24

16 Sep '24
Hi Andrew, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: f9b54a6714445cde83aeff0318cf767b3b81229d [701/13950] arm64:ilp32: add ARM64_ILP32 to Kconfig config: arm64-randconfig-001-20240916 (https://download.01.org/0day-ci/archive/20240916/202409160214.lVT0QY5g-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160214.lVT0QY5g-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160214.lVT0QY5g-lkp@intel.com/ All errors (new ones prefixed by >>): scripts/genksyms/parse.y: warning: 9 shift/reduce conflicts [-Wconflicts-sr] scripts/genksyms/parse.y: warning: 5 reduce/reduce conflicts [-Wconflicts-rr] scripts/genksyms/parse.y: note: rerun with option '-Wcounterexamples' to generate conflict counterexamples arch/arm64/kernel/vdso-ilp32/Makefile:90: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:84: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:87: FORCE prerequisite is missing arch/arm64/kernel/vdso-ilp32/Makefile:68: FORCE prerequisite is missing ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__cvdso_gettimeofday_data.constprop.0': >> vgettimeofday.c:(.text+0x2c): undefined reference to `__tsan_volatile_read4' >> ld: vgettimeofday.c:(.text+0x44): undefined reference to `__tsan_read4' >> ld: vgettimeofday.c:(.text+0x6c): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x78): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x84): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x90): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0xa0): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0xb0): undefined reference to `__tsan_read8' >> ld: vgettimeofday.c:(.text+0xc0): undefined reference to `__tsan_volatile_read4' >> ld: vgettimeofday.c:(.text+0x118): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x124): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x17c): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x188): undefined reference to `__tsan_write4' ld: vgettimeofday.c:(.text+0x194): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x1a0): undefined reference to `__tsan_write4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__cvdso_clock_gettime_data.constprop.0': vgettimeofday.c:(.text+0x24c): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x264): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x298): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x2a8): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x2b4): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x2c0): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x2d0): undefined reference to `__tsan_read4' ld: vgettimeofday.c:(.text+0x2e0): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x2f0): undefined reference to `__tsan_volatile_read4' >> ld: vgettimeofday.c:(.text+0x358): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x364): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x448): undefined reference to `__tsan_volatile_read4' ld: vgettimeofday.c:(.text+0x45c): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x468): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x474): undefined reference to `__tsan_read8' ld: vgettimeofday.c:(.text+0x480): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x490): undefined reference to `__tsan_volatile_read4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `__kernel_clock_getres': >> vgettimeofday.c:(.text+0x584): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x590): undefined reference to `__tsan_write8' ld: vgettimeofday.c:(.text+0x5c0): undefined reference to `__tsan_volatile_read4' ld: arch/arm64/kernel/vdso-ilp32/vgettimeofday-ilp32.o: in function `_sub_I_00099_0': >> vgettimeofday.c:(.text.startup+0x8): undefined reference to `__tsan_init' collect2: error: ld returned 1 exit status make[3]: *** [arch/arm64/kernel/vdso-ilp32/Makefile:68: arch/arm64/kernel/vdso-ilp32/vdso-ilp32.so.dbg] Error 1 shuffle=2963184100 make[3]: Target 'include/generated/vdso-ilp32-offsets.h' not remade because of errors. make[2]: *** [arch/arm64/Makefile:201: vdso_prepare] Error 2 shuffle=2963184100 make[2]: Target 'prepare' not remade because of errors. make[1]: *** [Makefile:234: __sub-make] Error 2 shuffle=2963184100 make[1]: Target 'prepare' not remade because of errors. make: *** [Makefile:234: __sub-make] Error 2 shuffle=2963184100 make: Target 'prepare' not remade because of errors. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1659/13950] kernel/sched/fair.c:146:12: warning: 'hundred_thousand' defined but not used
by kernel test robot 16 Sep '24

16 Sep '24
Hi Zhang, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: a3c9f2da0a35df4e41751556be4308f57bdaf3d6 [1659/13950] sched: Introduce handle priority reversion mechanism config: loongarch-randconfig-002-20240916 (https://download.01.org/0day-ci/archive/20240916/202409160256.rcSYesB7-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160256.rcSYesB7-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160256.rcSYesB7-lkp@intel.com/ All warnings (new ones prefixed by >>): >> kernel/sched/fair.c:146:12: warning: 'hundred_thousand' defined but not used [-Wunused-variable] 146 | static int hundred_thousand = 100000; | ^~~~~~~~~~~~~~~~ >> kernel/sched/fair.c:145:12: warning: 'one_thousand' defined but not used [-Wunused-variable] 145 | static int one_thousand = 1000; | ^~~~~~~~~~~~ vim +/hundred_thousand +146 kernel/sched/fair.c 139 140 static DEFINE_PER_CPU_SHARED_ALIGNED(struct list_head, qos_throttled_cfs_rq); 141 static DEFINE_PER_CPU_SHARED_ALIGNED(struct hrtimer, qos_overload_timer); 142 static DEFINE_PER_CPU(int, qos_cpu_overload); 143 unsigned int sysctl_overload_detect_period = 5000; /* in ms */ 144 unsigned int sysctl_offline_wait_interval = 100; /* in ms */ > 145 static int one_thousand = 1000; > 146 static int hundred_thousand = 100000; 147 static int unthrottle_qos_cfs_rqs(int cpu); 148 #endif 149 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 5041/23714] drivers/hid/i2c-hid/i2c-hid-dmi-quirks.o: warning: objtool: missing symbol for section .text
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 211070f39ed4ec7390dca8351c9fee934b8179e7 [5041/23714] HID: i2c-hid: override HID descriptors for certain devices config: x86_64-buildonly-randconfig-001-20240915 (https://download.01.org/0day-ci/archive/20240916/202409160207.ASe7kPkG-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240916/202409160207.ASe7kPkG-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160207.ASe7kPkG-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/hid/i2c-hid/i2c-hid-dmi-quirks.o: warning: objtool: missing symbol for section .text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2690/13950] drivers/acpi/pptt.c:309:5: sparse: sparse: symbol 'acpi_pptt_for_each_container' was not declared. Should it be static?
by kernel test robot 16 Sep '24

16 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 1ab6383ee94e788fe424d7eac10dc8ec3bfa6828 [2690/13950] ACPI / PPTT: Provide a helper to walk processor containers config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240916/202409160027.9Sg9DJSu-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240916/202409160027.9Sg9DJSu-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409160027.9Sg9DJSu-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/acpi/pptt.c:309:5: sparse: sparse: symbol 'acpi_pptt_for_each_container' was not declared. Should it be static? vim +/acpi_pptt_for_each_container +309 drivers/acpi/pptt.c 297 298 /** 299 * acpi_pptt_for_each_container() - Iterate over all processor containers 300 * 301 * Not all 'Processor' entries in the PPTT are either a CPU or a Processor 302 * Container, they may exist purely to describe a Private resource. CPUs 303 * have to be leaves, so a Processor Container is a non-leaf that has the 304 * 'ACPI Processor ID valid' flag set. 305 * 306 * Return: 0 for a complete walk, or the first non-zero value from the callback 307 * that stopped the walk. 308 */ > 309 int acpi_pptt_for_each_container(acpi_pptt_cpu_callback_t callback, void *arg) 310 { 311 struct acpi_pptt_processor *cpu_node; 312 struct acpi_table_header *table_hdr; 313 struct acpi_subtable_header *entry; 314 bool leaf_flag, has_leaf_flag = false; 315 unsigned long table_end; 316 acpi_status status; 317 u32 proc_sz; 318 int ret = 0; 319 320 status = acpi_get_table(ACPI_SIG_PPTT, 0, &table_hdr); 321 if (ACPI_FAILURE(status)) 322 return 0; 323 324 if (table_hdr->revision > 1) 325 has_leaf_flag = true; 326 327 table_end = (unsigned long)table_hdr + table_hdr->length; 328 entry = ACPI_ADD_PTR(struct acpi_subtable_header, table_hdr, 329 sizeof(struct acpi_table_pptt)); 330 proc_sz = sizeof(struct acpi_pptt_processor); 331 while ((unsigned long)entry + proc_sz < table_end) { 332 cpu_node = (struct acpi_pptt_processor *)entry; 333 if (entry->type == ACPI_PPTT_TYPE_PROCESSOR && 334 cpu_node->flags & ACPI_PPTT_ACPI_PROCESSOR_ID_VALID) 335 { 336 leaf_flag = cpu_node->flags & ACPI_PPTT_ACPI_LEAF_NODE; 337 if ((has_leaf_flag && !leaf_flag) || 338 (!has_leaf_flag && !acpi_pptt_leaf_node(table_hdr, cpu_node))) 339 { 340 ret = callback(cpu_node, arg); 341 if (ret) 342 break; 343 } 344 } 345 entry = ACPI_ADD_PTR(struct acpi_subtable_header, entry, 346 entry->length); 347 } 348 349 acpi_put_table(table_hdr); 350 351 return ret; 352 } 353 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 14922/30000] mm/damon/core-test.h:284:9: sparse: sparse: incompatible types in comparison expression (different signedness):
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 commit: 83b931be40b2829e20f38356509d8706ea6b6238 [14922/30000] mm/damon/core-test: test damon_set_regions config: x86_64-randconfig-121-20240915 (https://download.01.org/0day-ci/archive/20240915/202409152151.x8rsjC6m-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409152151.x8rsjC6m-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409152151.x8rsjC6m-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) mm/damon/core.c: note: in included file: >> mm/damon/core-test.h:284:9: sparse: sparse: incompatible types in comparison expression (different signedness): mm/damon/core-test.h:284:9: sparse: unsigned int * mm/damon/core-test.h:284:9: sparse: int * vim +284 mm/damon/core-test.h 269 270 static void damon_test_set_regions(struct kunit *test) 271 { 272 struct damon_target *t = damon_new_target(); 273 struct damon_region *r1 = damon_new_region(4, 16); 274 struct damon_region *r2 = damon_new_region(24, 32); 275 struct damon_addr_range range = {.start = 8, .end = 28}; 276 unsigned long expects[] = {8, 16, 16, 24, 24, 28}; 277 int expect_idx = 0; 278 struct damon_region *r; 279 280 damon_add_region(r1, t); 281 damon_add_region(r2, t); 282 damon_set_regions(t, &range, 1); 283 > 284 KUNIT_EXPECT_EQ(test, damon_nr_regions(t), 3); 285 damon_for_each_region(r, t) { 286 KUNIT_EXPECT_EQ(test, r->ar.start, expects[expect_idx++]); 287 KUNIT_EXPECT_EQ(test, r->ar.end, expects[expect_idx++]); 288 } 289 damon_destroy_target(t); 290 } 291 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 21355/23714] drivers/gpio/gpio-phytium-platform.c:30:36: warning: 'phytium_gpio_acpi_match' defined but not used
by kernel test robot 15 Sep '24

15 Sep '24
Hi Tian, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 00711bad7e372a30c4975ba43811ffa666aff0e1 [21355/23714] gpio: add phytium gpio driver config: arm64-randconfig-r051-20240915 (https://download.01.org/0day-ci/archive/20240915/202409152152.KNtItlJj-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409152152.KNtItlJj-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409152152.KNtItlJj-lkp@intel.com/ All warnings (new ones prefixed by >>): >> drivers/gpio/gpio-phytium-platform.c:30:36: warning: 'phytium_gpio_acpi_match' defined but not used [-Wunused-const-variable=] 30 | static const struct acpi_device_id phytium_gpio_acpi_match[] = { | ^~~~~~~~~~~~~~~~~~~~~~~ cocci warnings: (new ones prefixed by >>) >> drivers/gpio/gpio-phytium-platform.c:111:2-3: Unneeded semicolon vim +/phytium_gpio_acpi_match +30 drivers/gpio/gpio-phytium-platform.c 29 > 30 static const struct acpi_device_id phytium_gpio_acpi_match[] = { 31 { "PHYT0001", 0 }, 32 { } 33 }; 34 MODULE_DEVICE_TABLE(acpi, phytium_gpio_acpi_match); 35 36 static int phytium_gpio_probe(struct platform_device *pdev) 37 { 38 struct device *dev = &pdev->dev; 39 struct resource *res; 40 struct phytium_gpio *gpio; 41 struct gpio_irq_chip *girq; 42 struct fwnode_handle *fwnode; 43 int err, irq_count; 44 45 gpio = devm_kzalloc(&pdev->dev, sizeof(*gpio), GFP_KERNEL); 46 if (!gpio) 47 return -ENOMEM; 48 49 res = platform_get_resource(pdev, IORESOURCE_MEM, 0); 50 gpio->regs = devm_ioremap_resource(&pdev->dev, res); 51 if (IS_ERR(gpio->regs)) 52 return PTR_ERR(gpio->regs); 53 54 if (!device_get_child_node_count(dev)) 55 return -ENODEV; 56 57 device_for_each_child_node(dev, fwnode) { 58 int idx; 59 60 if (fwnode_property_read_u32(fwnode, "reg", &idx) || 61 idx >= MAX_NPORTS) { 62 dev_err(dev, "missing/invalid port index\n"); 63 fwnode_handle_put(fwnode); 64 return -EINVAL; 65 } 66 67 if (fwnode_property_read_u32(fwnode, "nr-gpios", 68 &gpio->ngpio[idx])) { 69 dev_info(dev, 70 "failed to get number of gpios for Port%c\n", 71 idx ? 'B' : 'A'); 72 gpio->ngpio[idx] = NGPIO_DEFAULT; 73 } 74 } 75 76 /* irq_chip support */ 77 gpio->irq_chip.name = dev_name(dev); 78 gpio->irq_chip.irq_ack = phytium_gpio_irq_ack; 79 gpio->irq_chip.irq_mask = phytium_gpio_irq_mask; 80 gpio->irq_chip.irq_unmask = phytium_gpio_irq_unmask; 81 gpio->irq_chip.irq_set_type = phytium_gpio_irq_set_type; 82 gpio->irq_chip.irq_enable = phytium_gpio_irq_enable; 83 gpio->irq_chip.irq_disable = phytium_gpio_irq_disable; 84 #ifdef CONFIG_SMP 85 gpio->irq_chip.irq_set_affinity = phytium_gpio_irq_set_affinity; 86 #endif 87 raw_spin_lock_init(&gpio->lock); 88 89 gpio->gc.base = -1; 90 gpio->gc.get_direction = phytium_gpio_get_direction; 91 gpio->gc.direction_input = phytium_gpio_direction_input; 92 gpio->gc.direction_output = phytium_gpio_direction_output; 93 gpio->gc.get = phytium_gpio_get; 94 gpio->gc.set = phytium_gpio_set; 95 gpio->gc.ngpio = gpio->ngpio[0] + gpio->ngpio[1]; 96 gpio->gc.label = dev_name(dev); 97 gpio->gc.parent = dev; 98 gpio->gc.owner = THIS_MODULE; 99 100 girq = &gpio->gc.irq; 101 girq->handler = handle_bad_irq; 102 girq->default_type = IRQ_TYPE_NONE; 103 104 for (irq_count = 0; irq_count < gpio->ngpio[0]; irq_count++) { 105 gpio->irq[irq_count] = -ENXIO; 106 gpio->irq[irq_count] = platform_get_irq(pdev, irq_count); 107 if (gpio->irq[irq_count] < 0) { 108 dev_warn(dev, "no irq is found.\n"); 109 break; 110 } > 111 }; 112 113 girq->num_parents = irq_count; 114 girq->parents = gpio->irq; 115 girq->parent_handler = phytium_gpio_irq_handler; 116 117 girq->chip = &gpio->irq_chip; 118 119 err = devm_gpiochip_add_data(dev, &gpio->gc, gpio); 120 if (err) 121 return err; 122 123 platform_set_drvdata(pdev, gpio); 124 dev_info(dev, "Phytium GPIO controller @%pa registered\n", 125 &res->start); 126 127 return 0; 128 } 129 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 15490/23714] ld: drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.o:drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:50: multiple definition of `debug'; arch/x86/entry/entry_64.o:arch/x86/entry/entry_64.S:1094: first defined here
by kernel test robot 15 Sep '24

15 Sep '24
Hi Naixin, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: ea190d90c609e9909f37afa0d1a19f938ffb95d3 [15490/23714] Huawei BMA: Adding Huawei BMA driver: host_edma_drv config: x86_64-randconfig-r054-20240915 (https://download.01.org/0day-ci/archive/20240915/202409151713.s9RtLBuv-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409151713.s9RtLBuv-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409151713.s9RtLBuv-lkp@intel.com/ All errors (new ones prefixed by >>): >> ld: drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.o:drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c:50: multiple definition of `debug'; arch/x86/entry/entry_64.o:arch/x86/entry/entry_64.S:1094: first defined here ld: warning: arch/x86/lib/csum-copy_64.o: missing .note.GNU-stack section implies executable stack ld: NOTE: This behaviour is deprecated and will be removed in a future version of the linker -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2547/13950] kernel/sched/core.c:11514:74: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type 'int'
by kernel test robot 15 Sep '24

15 Sep '24
Hi Hui, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: 6eb07f9925a906d81f328c808ba25f7800888dce [2547/13950] sched: Introduce smart grid scheduling strategy for cfs config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240915/202409151723.cHHy97fz-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240915/202409151723.cHHy97fz-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409151723.cHHy97fz-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from include/linux/irq.h:23, from arch/loongarch/include/asm/hardirq.h:10, from include/linux/hardirq.h:11, from include/linux/highmem.h:12, from kernel/sched/core.c:9: include/linux/nmi.h: In function 'trigger_all_cpu_backtrace': arch/loongarch/include/asm/irq.h:42:40: error: void value not ignored as it ought to be 42 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace include/linux/nmi.h:160:16: note: in expansion of macro 'arch_trigger_cpumask_backtrace' 160 | return arch_trigger_cpumask_backtrace(cpu_online_mask, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/nmi.h: In function 'trigger_allbutcpu_cpu_backtrace': arch/loongarch/include/asm/irq.h:42:40: error: void value not ignored as it ought to be 42 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace include/linux/nmi.h:165:16: note: in expansion of macro 'arch_trigger_cpumask_backtrace' 165 | return arch_trigger_cpumask_backtrace(cpu_online_mask, exclude_cpu); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/nmi.h: In function 'trigger_cpumask_backtrace': arch/loongarch/include/asm/irq.h:42:40: error: void value not ignored as it ought to be 42 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace include/linux/nmi.h:170:16: note: in expansion of macro 'arch_trigger_cpumask_backtrace' 170 | return arch_trigger_cpumask_backtrace(mask, -1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/nmi.h: In function 'trigger_single_cpu_backtrace': arch/loongarch/include/asm/irq.h:42:40: error: void value not ignored as it ought to be 42 | #define arch_trigger_cpumask_backtrace arch_trigger_cpumask_backtrace include/linux/nmi.h:175:16: note: in expansion of macro 'arch_trigger_cpumask_backtrace' 175 | return arch_trigger_cpumask_backtrace(cpumask_of(cpu), -1); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/core.c: At top level: kernel/sched/core.c:11374:5: warning: no previous prototype for 'tg_set_dynamic_affinity_mode' [-Wmissing-prototypes] 11374 | int tg_set_dynamic_affinity_mode(struct task_group *tg, u64 mode) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/core.c:11415:5: warning: no previous prototype for 'tg_set_affinity_period' [-Wmissing-prototypes] 11415 | int tg_set_affinity_period(struct task_group *tg, u64 period_ms) | ^~~~~~~~~~~~~~~~~~~~~~ kernel/sched/core.c:11429:5: warning: no previous prototype for 'tg_get_affinity_period' [-Wmissing-prototypes] 11429 | u64 tg_get_affinity_period(struct task_group *tg) | ^~~~~~~~~~~~~~~~~~~~~~ kernel/sched/core.c: In function 'cpu_affinity_stat_show': >> kernel/sched/core.c:11514:74: warning: format '%llu' expects argument of type 'long long unsigned int', but argument 6 has type 'int' [-Wformat=] 11514 | seq_printf(sf, "sd_level %d, cpu list %*pbl, stay_cnt %llu\n", | ~~~^ | | | long long unsigned int | %u In file included from kernel/sched/core.c:54: include/linux/nmi.h: In function 'trigger_single_cpu_backtrace': include/linux/nmi.h:176:1: warning: control reaches end of non-void function [-Wreturn-type] 176 | } | ^ vim +11514 kernel/sched/core.c 11493 11494 static int cpu_affinity_stat_show(struct seq_file *sf, void *v) 11495 { 11496 struct task_group *tg = css_tg(seq_css(sf)); 11497 struct auto_affinity *auto_affi = tg->auto_affinity; 11498 struct affinity_domain *ad; 11499 int i; 11500 11501 /* No stat when dynamic affinity disabled */ 11502 if (!dynamic_affinity_enabled()) 11503 return -EPERM; 11504 11505 if (unlikely(!auto_affi)) 11506 return -EPERM; 11507 11508 ad = &auto_affi->ad; 11509 seq_printf(sf, "period_active %d\n", auto_affi->period_active); 11510 seq_printf(sf, "dcount %d\n", ad->dcount); 11511 seq_printf(sf, "domain_mask 0x%x\n", ad->domain_mask); 11512 seq_printf(sf, "curr_level %d\n", ad->curr_level); 11513 for (i = 0; i < ad->dcount; i++) 11514 seq_printf(sf, "sd_level %d, cpu list %*pbl, stay_cnt %llu\n", 11515 i, cpumask_pr_args(ad->domains[i]), 11516 schedstat_val(ad->stay_cnt[i])); 11517 11518 return 0; 11519 } 11520 #endif /* CONFIG_QOS_SCHED_SMART_GRID */ 11521 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 18175/23714] include/linux/kern_levels.h:5:25: warning: format '%p' expects argument of type 'void *', but argument 38 has type 'int'
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 2d2fe6b40444bd8f84f674930ac5f98a6314702e [18175/23714] ascend: mm: add an owner for mm_struct config: arm64-randconfig-r051-20240915 (https://download.01.org/0day-ci/archive/20240915/202409151507.N1J0YpSk-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409151507.N1J0YpSk-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409151507.N1J0YpSk-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from include/linux/printk.h:7, from include/linux/kernel.h:14, from mm/debug.c:9: mm/debug.c: In function 'dump_mm': >> include/linux/kern_levels.h:5:25: warning: format '%p' expects argument of type 'void *', but argument 38 has type 'int' [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ include/linux/kern_levels.h:8:25: note: in expansion of macro 'KERN_SOH' 8 | #define KERN_EMERG KERN_SOH "0" /* system is unusable */ | ^~~~~~~~ include/linux/printk.h:342:16: note: in expansion of macro 'KERN_EMERG' 342 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~ mm/debug.c:117:9: note: in expansion of macro 'pr_emerg' 117 | pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" | ^~~~~~~~ include/linux/kern_levels.h:5:25: warning: format '%d' expects argument of type 'int', but argument 39 has type 'long unsigned int' [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ include/linux/kern_levels.h:8:25: note: in expansion of macro 'KERN_SOH' 8 | #define KERN_EMERG KERN_SOH "0" /* system is unusable */ | ^~~~~~~~ include/linux/printk.h:342:16: note: in expansion of macro 'KERN_EMERG' 342 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~ mm/debug.c:117:9: note: in expansion of macro 'pr_emerg' 117 | pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" | ^~~~~~~~ >> include/linux/kern_levels.h:5:25: warning: format '%lx' expects argument of type 'long unsigned int', but argument 40 has type 'const long unsigned int *' [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ include/linux/kern_levels.h:8:25: note: in expansion of macro 'KERN_SOH' 8 | #define KERN_EMERG KERN_SOH "0" /* system is unusable */ | ^~~~~~~~ include/linux/printk.h:342:16: note: in expansion of macro 'KERN_EMERG' 342 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~ mm/debug.c:117:9: note: in expansion of macro 'pr_emerg' 117 | pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" | ^~~~~~~~ >> include/linux/kern_levels.h:5:25: warning: format '%p' expects a matching 'void *' argument [-Wformat=] 5 | #define KERN_SOH "\001" /* ASCII Start Of Header */ | ^~~~~~ include/linux/kern_levels.h:8:25: note: in expansion of macro 'KERN_SOH' 8 | #define KERN_EMERG KERN_SOH "0" /* system is unusable */ | ^~~~~~~~ include/linux/printk.h:342:16: note: in expansion of macro 'KERN_EMERG' 342 | printk(KERN_EMERG pr_fmt(fmt), ##__VA_ARGS__) | ^~~~~~~~~~ mm/debug.c:117:9: note: in expansion of macro 'pr_emerg' 117 | pr_emerg("mm %px mmap %px seqnum %llu task_size %lu\n" | ^~~~~~~~ vim +5 include/linux/kern_levels.h 314ba3520e513a Joe Perches 2012-07-30 4 04d2c8c83d0e3a Joe Perches 2012-07-30 @5 #define KERN_SOH "\001" /* ASCII Start Of Header */ 04d2c8c83d0e3a Joe Perches 2012-07-30 6 #define KERN_SOH_ASCII '\001' 04d2c8c83d0e3a Joe Perches 2012-07-30 7 :::::: The code at line 5 was first introduced by commit :::::: 04d2c8c83d0e3ac5f78aeede51babb3236200112 printk: convert the format for KERN_<LEVEL> to a 2 byte pattern :::::: TO: Joe Perches <joe(a)perches.com> :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 13473/13950] drivers/crypto/ccp/hygon/hct.c:1730:51: error: 'struct device' has no member named 'numa_node'
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 84404f248a61323e09909849803ea4efce81742f commit: c74ae2c5da57becf3f41c596d79b3dd30fa1baa6 [13473/13950] hct: add mediated ccp driver support for hygon crypto technology. config: x86_64-randconfig-013-20240915 (https://download.01.org/0day-ci/archive/20240915/202409151313.4XBOlxtN-lkp@…) compiler: gcc-12 (Debian 12.2.0-14) 12.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409151313.4XBOlxtN-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409151313.4XBOlxtN-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/crypto/ccp/hygon/hct.c:1333:15: warning: no previous prototype for 'hct_pin_memory' [-Wmissing-prototypes] 1333 | struct page **hct_pin_memory(struct hct_private *private, unsigned long uaddr, | ^~~~~~~~~~~~~~ drivers/crypto/ccp/hygon/hct.c: In function 'hct_get_page': >> drivers/crypto/ccp/hygon/hct.c:1730:51: error: 'struct device' has no member named 'numa_node' 1730 | *node = hct_data.iommu[page_idx].pdev->dev.numa_node; | ^ vim +1730 drivers/crypto/ccp/hygon/hct.c 1713 1714 static struct page *hct_get_page(pgoff_t page_idx) 1715 { 1716 u64 *node; 1717 1718 mutex_lock(&hct_share.lock); 1719 if (!hct_share.pages[page_idx]) { 1720 hct_share.pages[page_idx] = 1721 alloc_pages(GFP_HIGHUSER | __GFP_ZERO, 0); 1722 if (!hct_share.pages[page_idx]) { 1723 mutex_unlock(&hct_share.lock); 1724 return NULL; 1725 } 1726 } 1727 get_page(hct_share.pages[page_idx]); 1728 1729 node = page_to_virt(hct_share.pages[page_idx]) + PAGE_SIZE - 8; > 1730 *node = hct_data.iommu[page_idx].pdev->dev.numa_node; 1731 mutex_unlock(&hct_share.lock); 1732 1733 return hct_share.pages[page_idx]; 1734 } 1735 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6] BUILD REGRESSION 1910604f7315d411c0c10359055daddee968441f
by kernel test robot 15 Sep '24

15 Sep '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-6.6 branch HEAD: 1910604f7315d411c0c10359055daddee968441f !11496 virtcca feature:Fix warnings Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202409141939.mPFkQsG4-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409150029.IPJpZTLQ-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409150229.qo22nype-lkp@intel.com include/linux/compiler-gcc.h:132:33: warning: 'alias' attribute ignored [-Wattributes] include/linux/syscalls.h:249:25: warning: '__se_sys_membarrier' defined but not used [-Wunused-function] kernel/sched/autogroup.c:129:6: warning: 'task_wants_autogroup' defined but not used [-Wunused-function] kernel/sched/autogroup.c:147:6: warning: 'sched_autogroup_exit_task' defined but not used [-Wunused-function] kernel/sched/autogroup.c:211:6: warning: 'sched_autogroup_fork' defined but not used [-Wunused-function] kernel/sched/autogroup.c:216:6: warning: 'sched_autogroup_exit' defined but not used [-Wunused-function] kernel/sched/autogroup.c:231:5: warning: 'proc_sched_autogroup_set_nice' defined but not used [-Wunused-function] kernel/sched/autogroup.c:269:6: warning: 'proc_sched_autogroup_show_task' defined but not used [-Wunused-function] kernel/sched/autogroup.c:285:5: warning: 'autogroup_path' defined but not used [-Wunused-function] kernel/sched/autogroup.c:33:13: warning: 'autogroup_init' defined but not used [-Wunused-function] kernel/sched/autogroup.c:42:6: warning: 'autogroup_free' defined but not used [-Wunused-function] kernel/sched/membarrier.c:217:6: warning: 'membarrier_exec_mmap' defined but not used [-Wunused-function] kernel/sched/membarrier.c:233:6: warning: 'membarrier_update_current_mm' defined but not used [-Wunused-function] kernel/sched/psi.c:1168:6: warning: 'psi_task_switch' defined but not used [-Wunused-function] kernel/sched/psi.c:1373:5: warning: 'psi_cgroup_alloc' defined but not used [-Wunused-function] kernel/sched/psi.c:1392:6: warning: 'psi_cgroup_free' defined but not used [-Wunused-function] kernel/sched/psi.c:1416:6: warning: 'cgroup_move_task' defined but not used [-Wunused-function] kernel/sched/psi.c:1471:6: warning: 'psi_cgroup_restart' defined but not used [-Wunused-function] kernel/sched/psi.c:178:13: warning: 'psi_avgs_work' used but never defined kernel/sched/psi.c:180:13: warning: 'poll_timer_fn' used but never defined kernel/sched/psi.c:949:13: warning: 'poll_timer_fn' defined but not used [-Wunused-function] mm/page_alloc.c:4110:9: error: call to undeclared function 'dynamic_pool_should_alloc'; ISO C99 and later do not support implicit function declarations [-Werror,-Wimplicit-function-declaration] Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-allmodconfig | `-- drivers-iommu-arm-arm-smmu-v3-arm-s-smmu-v3.c:warning:no-previous-prototype-for-function-virtcca_smmu_gerror_handler |-- arm64-randconfig-001-20240913 | `-- mm-page_alloc.c:error:call-to-undeclared-function-dynamic_pool_should_alloc-ISO-C99-and-later-do-not-support-implicit-function-declarations-Werror-Wimplicit-function-declaration `-- loongarch-randconfig-r133-20240913 |-- drivers-cpuinspect-inspector.c:sparse:sparse:symbol-prev_cpu_inspector-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-cpu_utility_show-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-cpu_utility_store-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-patrol_complete_show-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-patrol_times_show-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-patrol_times_store-was-not-declared.-Should-it-be-static |-- drivers-cpuinspect-sysfs.c:sparse:sparse:symbol-start_patrol_store-was-not-declared.-Should-it-be-static |-- drivers-pci-controller-pci-loongson.c:sparse:sparse:incorrect-type-in-argument-(different-address-spaces)-expected-void-volatile-noderef-__iomem-addr-got-void-volatile |-- include-linux-compiler-gcc.h:warning:alias-attribute-ignored |-- include-linux-syscalls.h:warning:__se_sys_membarrier-defined-but-not-used |-- kernel-sched-autogroup.c:warning:autogroup_free-defined-but-not-used |-- kernel-sched-autogroup.c:warning:autogroup_init-defined-but-not-used |-- kernel-sched-autogroup.c:warning:autogroup_path-defined-but-not-used |-- kernel-sched-autogroup.c:warning:proc_sched_autogroup_set_nice-defined-but-not-used |-- kernel-sched-autogroup.c:warning:proc_sched_autogroup_show_task-defined-but-not-used |-- kernel-sched-autogroup.c:warning:sched_autogroup_exit-defined-but-not-used |-- kernel-sched-autogroup.c:warning:sched_autogroup_exit_task-defined-but-not-used |-- kernel-sched-autogroup.c:warning:sched_autogroup_fork-defined-but-not-used |-- kernel-sched-autogroup.c:warning:task_wants_autogroup-defined-but-not-used |-- kernel-sched-membarrier.c:warning:membarrier_exec_mmap-defined-but-not-used |-- kernel-sched-membarrier.c:warning:membarrier_update_current_mm-defined-but-not-used |-- kernel-sched-psi.c:warning:cgroup_move_task-defined-but-not-used |-- kernel-sched-psi.c:warning:poll_timer_fn-defined-but-not-used |-- kernel-sched-psi.c:warning:poll_timer_fn-used-but-never-defined |-- kernel-sched-psi.c:warning:psi_avgs_work-used-but-never-defined |-- kernel-sched-psi.c:warning:psi_cgroup_alloc-defined-but-not-used |-- kernel-sched-psi.c:warning:psi_cgroup_free-defined-but-not-used |-- kernel-sched-psi.c:warning:psi_cgroup_restart-defined-but-not-used `-- kernel-sched-psi.c:warning:psi_task_switch-defined-but-not-used elapsed time: 1039m configs tested: 20 configs skipped: 134 tested configs: arm64 allmodconfig clang-20 arm64 allnoconfig gcc-14.1.0 arm64 randconfig-001-20240915 clang-20 arm64 randconfig-002-20240915 gcc-14.1.0 arm64 randconfig-003-20240915 clang-20 arm64 randconfig-004-20240915 gcc-14.1.0 loongarch allmodconfig gcc-14.1.0 loongarch allnoconfig gcc-14.1.0 loongarch randconfig-001-20240915 gcc-14.1.0 loongarch randconfig-002-20240915 gcc-14.1.0 x86_64 allnoconfig clang-18 x86_64 allyesconfig clang-18 x86_64 buildonly-randconfig-001-20240915 gcc-12 x86_64 buildonly-randconfig-002-20240915 gcc-12 x86_64 buildonly-randconfig-003-20240915 clang-18 x86_64 buildonly-randconfig-004-20240915 clang-18 x86_64 buildonly-randconfig-005-20240915 clang-18 x86_64 buildonly-randconfig-006-20240915 gcc-12 x86_64 defconfig gcc-11 x86_64 rhel-8.3-rust clang-18 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS] BUILD REGRESSION 37aeb7e817053fbf532b214aa02858b3c23af0b1
by kernel test robot 15 Sep '24

15 Sep '24
tree/branch: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS branch HEAD: 37aeb7e817053fbf532b214aa02858b3c23af0b1 !11557 xhci: Fix Panther point NULL pointer deref at full-speed re-enumeration Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202409141543.TAtQxl6W-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409141821.nKd5ypu2-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409150309.lli3IYFh-lkp@intel.com drivers/misc/uacce/uacce.c:739:13: error: implicit declaration of function 'module_refcount' [-Werror=implicit-function-declaration] drivers/nvme/host/core.c:1163:27: error: 'compat_uptr_t' undeclared (first use in this function); did you mean 'compat_time_t'? drivers/nvme/host/core.c:1163:41: error: expected ';' before 'ptrval' Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-allmodconfig | |-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-__bio_stage_hierarchy_start | `-- include-linux-thread_info.h:warning:b-may-be-used-uninitialized |-- arm64-allnoconfig | `-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity |-- arm64-randconfig-002-20240915 | |-- arch-arm64-kvm-..-..-..-virt-kvm-arm-arm.c:error:struct-sched_info-has-no-member-named-run_delay | |-- drivers-iommu-arm-smmu-v3.c:error:CONFIG_CMA_ALIGNMENT-undeclared-(first-use-in-this-function) | `-- include-linux-kernel.h:error:first-argument-to-__builtin_choose_expr-not-a-constant |-- arm64-randconfig-003-20240913 | |-- drivers-misc-uacce-uacce.c:error:implicit-declaration-of-function-module_refcount | |-- drivers-nvme-host-core.c:error:compat_uptr_t-undeclared-(first-use-in-this-function) | `-- drivers-nvme-host-core.c:error:expected-before-ptrval |-- arm64-randconfig-003-20240915 | |-- drivers-nvme-host-core.c:error:compat_uptr_t-undeclared-(first-use-in-this-function) | |-- drivers-nvme-host-core.c:error:expected-before-ptrval | `-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity |-- arm64-randconfig-004-20240915 | `-- drivers-misc-uacce-uacce.c:error:implicit-declaration-of-function-module_refcount |-- x86_64-allyesconfig | `-- block-blk-io-hierarchy-iodump.c:warning:no-previous-prototype-for-function-__bio_stage_hierarchy_start |-- x86_64-buildonly-randconfig-001-20240913 | `-- arch-x86-power-.tmp_cpu.o:warning:objtool:missing-symbol-for-section-.exit.text |-- x86_64-buildonly-randconfig-001-20240915 | `-- arch-x86-power-cpu.o:warning:objtool:missing-symbol-for-section-.exit.text `-- x86_64-buildonly-randconfig-002-20240915 `-- kernel-sched-core.c:error:implicit-declaration-of-function-init_auto_affinity elapsed time: 1027m configs tested: 21 configs skipped: 127 tested configs: arm64 allmodconfig gcc-14.1.0 arm64 allnoconfig gcc-14.1.0 arm64 randconfig-001-20240915 gcc-14.1.0 arm64 randconfig-002-20240915 gcc-14.1.0 arm64 randconfig-003-20240915 gcc-14.1.0 arm64 randconfig-004-20240915 gcc-14.1.0 x86_64 allnoconfig clang-18 x86_64 allyesconfig clang-18 x86_64 buildonly-randconfig-001-20240915 gcc-12 x86_64 buildonly-randconfig-002-20240915 gcc-12 x86_64 buildonly-randconfig-003-20240915 clang-18 x86_64 buildonly-randconfig-004-20240915 clang-18 x86_64 buildonly-randconfig-005-20240915 clang-18 x86_64 buildonly-randconfig-006-20240915 gcc-12 x86_64 defconfig gcc-11 x86_64 randconfig-001-20240915 clang-18 x86_64 randconfig-002-20240915 gcc-12 x86_64 randconfig-003-20240915 gcc-12 x86_64 randconfig-004-20240915 clang-18 x86_64 randconfig-006-20240915 clang-18 x86_64 rhel-8.3-rust clang-18 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10] BUILD REGRESSION 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67
by kernel test robot 15 Sep '24

15 Sep '24
tree/branch: https://gitee.com/openeuler/kernel.git OLK-5.10 branch HEAD: 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 !11521 ipv6: prevent UAF in ip6_send_skb() Error/Warning (recently discovered and may have been fixed): https://lore.kernel.org/oe-kbuild-all/202409141643.hAeJbyh0-lkp@intel.com https://lore.kernel.org/oe-kbuild-all/202409150529.mcKQAqhK-lkp@intel.com ./drivers/net/ub/dev/network_mgmt/ip_notify/ip_notify.c: 18 linux/version.h not needed. arch/arm64/kvm/reset.c:102:34: error: implicit declaration of function 'sve_max_virtualisable_vl' [-Werror=implicit-function-declaration] arch/arm64/mm/quick_kexec.c:21:13: warning: no previous prototype for 'reserve_quick_kexec' [-Wmissing-prototypes] arch/arm64/mm/quick_kexec.c:47:13: warning: no previous prototype for 'request_quick_kexec_res' [-Wmissing-prototypes] include/trace/trace_events.h:27:23: warning: 'str__bonding__trace_system_name' defined but not used [-Wunused-const-variable=] Error/Warning ids grouped by kconfigs: recent_errors |-- arm64-allnoconfig | `-- include-linux-backing-dev.h:warning:struct-cgroup_subsys-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration |-- arm64-randconfig-001-20240915 | |-- arch-arm64-include-asm-archrandom.h:error:unknown-register-name-r0-in-asm | |-- arch-arm64-include-asm-archrandom.h:error:unknown-register-name-r1-in-asm | |-- arch-arm64-include-asm-archrandom.h:error:unknown-register-name-r2-in-asm | `-- arch-arm64-include-asm-archrandom.h:error:unknown-register-name-r3-in-asm |-- arm64-randconfig-002-20240915 | |-- arch-arm64-kvm-reset.c:error:implicit-declaration-of-function-sve_max_virtualisable_vl | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_main.c:warning:implicit-conversion-from-enum-hclge_ext_opcode_type-to-enum-hclge_opcode_type | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-hclge_mbx_set_vf_multi_tc | `-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-hclge_tm_vf_tc_dwrr_cfg |-- arm64-randconfig-004-20240912 | |-- arch-arm64-mm-quick_kexec.c:warning:no-previous-prototype-for-request_quick_kexec_res | |-- arch-arm64-mm-quick_kexec.c:warning:no-previous-prototype-for-reserve_quick_kexec | `-- include-trace-trace_events.h:warning:str__bonding__trace_system_name-defined-but-not-used |-- arm64-randconfig-004-20240915 | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_main.c:warning:implicit-conversion-from-enum-hclge_ext_opcode_type-to-enum-hclge_opcode_type | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-hclge_mbx_set_vf_multi_tc | `-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-hclge_tm_vf_tc_dwrr_cfg |-- x86_64-allnoconfig | |-- drivers-net-ub-dev-network_mgmt-ip_notify-ip_notify.c:linux-version.h-not-needed. | |-- include-linux-backing-dev.h:warning:declaration-of-struct-cgroup_subsys-will-not-be-visible-outside-of-this-function | |-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter-Werror-Wimplicit-function-declaration |-- x86_64-allyesconfig | |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_post_set_cr0 | |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_post_set_cr4 | |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_read_guest_page_mmu | |-- drivers-acpi-numa-hmat.c:warning:no-previous-prototype-for-function-hmat_restore_target | |-- drivers-net-can-spi-mcp251xfd-mcp251xfd-core.c:warning:no-previous-prototype-for-function-mcp251xfd_tx_obj_write_sync | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-function-hclge_mbx_set_vf_multi_tc | |-- drivers-net-ethernet-hisilicon-hns3-hns3pf-hclge_tm.c:warning:no-previous-prototype-for-function-hclge_tm_vf_tc_dwrr_cfg | |-- drivers-net-ethernet-mucse-rnpgbe-rnpgbe_main.c:warning:variable-err-is-used-uninitialized-whenever-if-condition-is-false | |-- drivers-net-ethernet-mucse-rnpgbevf-rnpgbevf_main.c:warning:Excess-function-parameter-direction-description-in-rnpgbevf_set_ring_vector | |-- drivers-net-ethernet-mucse-rnpgbevf-rnpgbevf_main.c:warning:Excess-function-parameter-msix_vector-description-in-rnpgbevf_set_ring_vector | |-- drivers-net-ethernet-mucse-rnpgbevf-rnpgbevf_main.c:warning:Excess-function-parameter-queue-description-in-rnpgbevf_set_ring_vector | |-- drivers-net-ethernet-mucse-rnpvf-rnpvf_main.c:warning:Excess-function-parameter-direction-description-in-rnpvf_set_ring_vector | |-- drivers-net-ethernet-mucse-rnpvf-rnpvf_main.c:warning:Excess-function-parameter-msix_vector-description-in-rnpvf_set_ring_vector | |-- drivers-net-ethernet-mucse-rnpvf-rnpvf_main.c:warning:Excess-function-parameter-queue-description-in-rnpvf_set_ring_vector | |-- drivers-ub-urma-ubcore-ubcore_cdev_file.c:warning:no-previous-prototype-for-function-ubcore_create_dev_attr_files | |-- drivers-ub-urma-ubcore-ubcore_cdev_file.c:warning:no-previous-prototype-for-function-ubcore_create_port_attr_files | |-- drivers-ub-urma-ubcore-ubcore_cdev_file.c:warning:no-previous-prototype-for-function-ubcore_remove_dev_attr_files | |-- drivers-ub-urma-ubcore-ubcore_cdev_file.c:warning:no-previous-prototype-for-function-ubcore_remove_port_attr_files | |-- drivers-ub-urma-ubcore-ubcore_ctp.c:warning:comparison-of-address-of-dev-ht-UBCORE_HT_CTP-.head-equal-to-a-null-pointer-is-always-false | |-- drivers-ub-urma-ubcore-ubcore_device.c:warning:no-previous-prototype-for-function-ubcore_dispatch_event | |-- drivers-ub-urma-ubcore-ubcore_device.c:warning:no-previous-prototype-for-function-ubcore_net_exit | |-- drivers-ub-urma-ubcore-ubcore_msg.c:warning:Function-parameter-or-member-ctx-not-described-in-ubcore_update_uvs_eid_ret | |-- drivers-ub-urma-ubcore-ubcore_msg.c:warning:Function-parameter-or-member-dev-not-described-in-ubcore_asyn_send_fe2tpf_msg | |-- drivers-ub-urma-ubcore-ubcore_msg.c:warning:Function-parameter-or-member-req-not-described-in-ubcore_asyn_send_fe2tpf_msg | |-- drivers-ub-urma-ubcore-ubcore_msg.c:warning:no-previous-prototype-for-function-ubcore_asyn_send_fe2tpf_msg | |-- drivers-ub-urma-ubcore-ubcore_netdev.c:warning:no-previous-prototype-for-function-ubcore_fill_port_netdev | |-- drivers-ub-urma-ubcore-ubcore_netdev.c:warning:no-previous-prototype-for-function-ubcore_lookup_sip_info_without_lock | |-- drivers-ub-urma-ubcore-ubcore_netdev.c:warning:no-previous-prototype-for-function-ubcore_new_sip_req_msg | |-- drivers-ub-urma-ubcore-ubcore_netdev.c:warning:no-previous-prototype-for-function-ubcore_update_sip_entry | |-- drivers-ub-urma-ubcore-ubcore_netlink.c:warning:no-previous-prototype-for-function-ubcore_genl_unicast | |-- drivers-ub-urma-ubcore-ubcore_tpg.c:warning:comparison-of-address-of-dev-ht-UBCORE_HT_TP-.head-equal-to-a-null-pointer-is-always-false | |-- drivers-ub-urma-ubcore-ubcore_tpg.c:warning:comparison-of-address-of-dev-ht-UBCORE_HT_TPG-.head-equal-to-a-null-pointer-is-always-false | |-- drivers-ub-urma-ubcore-ubcore_tpg.c:warning:no-previous-prototype-for-function-ubcore_tpg_kref_get | |-- drivers-ub-urma-ubcore-ubcore_umem.c:warning:no-previous-prototype-for-function-ubcore_umem_find_best_page_size | |-- drivers-ub-urma-ubcore-ubcore_utp.c:warning:comparison-of-address-of-dev-ht-UBCORE_HT_UTP-.head-equal-to-a-null-pointer-is-always-false | |-- drivers-ub-urma-ubcore-ubcore_vtp.c:warning:no-previous-prototype-for-function-ubcore_hash_table_rmv_vtpn | |-- drivers-ub-urma-uburma-uburma_mmap.c:warning:no-previous-prototype-for-function-uburma_get_umap_ops | |-- drivers-ub-urma-uburma-uburma_mmap.c:warning:no-previous-prototype-for-function-uburma_umap_priv_init | |-- drivers-ub-urma-uburma-uburma_mmap.c:warning:no-previous-prototype-for-function-uburma_unmap_vma_pages | |-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register | `-- ld.lld:error:duplicate-symbol:debug |-- x86_64-buildonly-randconfig-001-20240915 | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-klp_static_call_register |-- x86_64-buildonly-randconfig-002-20240915 | |-- include-linux-backing-dev.h:warning:struct-cgroup_subsys-declared-inside-parameter-list-will-not-be-visible-outside-of-this-definition-or-declaration | |-- kernel-sched-topology.c:error:implicit-declaration-of-function-register_sysctl_init | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-klp_static_call_register |-- x86_64-buildonly-randconfig-003-20240915 | |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_enter-Werror-Wimplicit-function-declaration | |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_exit-Werror-Wimplicit-function-declaration | |-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter-Werror-Wimplicit-function-declaration |-- x86_64-buildonly-randconfig-004-20240915 | |-- arch-x86-kernel-paravirt.c:error:implicit-declaration-of-function-__text_gen_insn-Werror-Wimplicit-function-declaration | |-- arch-x86-kernel-paravirt.c:error:use-of-undeclared-identifier-CALL_INSN_OPCODE | |-- arch-x86-kernel-paravirt.c:error:use-of-undeclared-identifier-CALL_INSN_SIZE | |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_enter-Werror-Wimplicit-function-declaration | |-- drivers-tty-tty_buffer.c:error:implicit-declaration-of-function-printk_safe_exit-Werror-Wimplicit-function-declaration | |-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register | `-- kernel-workqueue.c:error:implicit-declaration-of-function-printk_safe_enter-Werror-Wimplicit-function-declaration |-- x86_64-buildonly-randconfig-005-20240915 | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register |-- x86_64-buildonly-randconfig-006-20240915 | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-klp_static_call_register |-- x86_64-defconfig | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-klp_static_call_register |-- x86_64-randconfig-001-20240915 | `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register `-- x86_64-rhel-8.3-rust |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_post_set_cr0 |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_post_set_cr4 |-- arch-x86-kvm-x86.c:warning:no-previous-prototype-for-function-kvm_read_guest_page_mmu |-- drivers-acpi-numa-hmat.c:warning:no-previous-prototype-for-function-hmat_restore_target `-- kernel-static_call_inline.c:warning:no-previous-prototype-for-function-klp_static_call_register elapsed time: 918m configs tested: 17 configs skipped: 101 tested configs: arm64 allmodconfig clang-20 arm64 allnoconfig gcc-14.1.0 arm64 randconfig-001-20240915 clang-20 arm64 randconfig-002-20240915 gcc-14.1.0 arm64 randconfig-003-20240915 clang-20 arm64 randconfig-004-20240915 gcc-14.1.0 x86_64 allnoconfig clang-18 x86_64 allyesconfig clang-18 x86_64 buildonly-randconfig-001-20240915 gcc-12 x86_64 buildonly-randconfig-002-20240915 gcc-12 x86_64 buildonly-randconfig-003-20240915 clang-18 x86_64 buildonly-randconfig-004-20240915 clang-18 x86_64 buildonly-randconfig-005-20240915 clang-18 x86_64 buildonly-randconfig-006-20240915 gcc-12 x86_64 defconfig gcc-11 x86_64 randconfig-001-20240915 clang-18 x86_64 rhel-8.3-rust clang-18 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 22035/30000] arch/arm64/kvm/reset.c:102:34: error: implicit declaration of function 'sve_max_virtualisable_vl'
by kernel test robot 15 Sep '24

15 Sep '24
Hi Mark, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 commit: 68da302c8ae30331c8917f1dc7b0f1682f696d71 [22035/30000] arm64/sve: Put system wide vector length information into structs config: arm64-randconfig-002-20240915 (https://download.01.org/0day-ci/archive/20240915/202409150529.mcKQAqhK-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409150529.mcKQAqhK-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409150529.mcKQAqhK-lkp@intel.com/ All errors (new ones prefixed by >>): arch/arm64/kvm/reset.c: In function 'kvm_arm_init_sve': >> arch/arm64/kvm/reset.c:102:34: error: implicit declaration of function 'sve_max_virtualisable_vl' [-Werror=implicit-function-declaration] 102 | kvm_sve_max_vl = sve_max_virtualisable_vl(); | ^~~~~~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/sve_max_virtualisable_vl +102 arch/arm64/kvm/reset.c 98 99 int kvm_arm_init_sve(void) 100 { 101 if (system_supports_sve()) { > 102 kvm_sve_max_vl = sve_max_virtualisable_vl(); 103 104 /* 105 * The get_sve_reg()/set_sve_reg() ioctl interface will need 106 * to be extended with multiple register slice support in 107 * order to support vector lengths greater than 108 * SVE_VL_ARCH_MAX: 109 */ 110 if (WARN_ON(kvm_sve_max_vl > SVE_VL_ARCH_MAX)) 111 kvm_sve_max_vl = SVE_VL_ARCH_MAX; 112 113 /* 114 * Don't even try to make use of vector lengths that 115 * aren't available on all CPUs, for now: 116 */ 117 if (kvm_sve_max_vl < sve_max_vl()) 118 pr_warn("KVM: SVE vector length for guests limited to %u bytes\n", 119 kvm_sve_max_vl); 120 } 121 122 return 0; 123 } 124 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 20076/23714] arch/x86/power/.tmp_cpu.o: warning: objtool: missing symbol for section .exit.text
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 27dd57ae7b305c8c1bcf55eab82c45d85b605149 [20076/23714] x86/cpu: Load microcode during restore_processor_state() config: x86_64-buildonly-randconfig-001-20240913 (https://download.01.org/0day-ci/archive/20240915/202409150309.lli3IYFh-lkp@…) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240915/202409150309.lli3IYFh-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409150309.lli3IYFh-lkp@intel.com/ All warnings (new ones prefixed by >>): In file included from arch/x86/power/cpu.c:27: In file included from arch/x86/include/asm/mmu_context.h:12: In file included from arch/x86/include/asm/pgalloc.h:7: include/linux/pagemap.h:425:21: warning: cast from 'int (*)(struct file *, struct page *)' to 'filler_t *' (aka 'int (*)(void *, struct page *)') converts to incompatible function type [-Wcast-function-type-strict] 425 | filler_t *filler = (filler_t *)mapping->a_ops->readpage; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1 warning generated. arch/x86/power/cpu.c:78: warning: Function parameter or member 'ctxt' not described in '__save_processor_state' arch/x86/power/cpu.c:200: warning: Function parameter or member 'ctxt' not described in '__restore_processor_state' >> arch/x86/power/.tmp_cpu.o: warning: objtool: missing symbol for section .exit.text -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1693/13948] drivers/pci/controller/pci-loongson.c:183:22: sparse: sparse: incorrect type in argument 2 (different address spaces)
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 1910604f7315d411c0c10359055daddee968441f commit: 668ae8b1a55a96a60303d36b81b112a709a324bb [1693/13948] PCI: LS7A2000: fix GPU card error config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240915/202409150229.qo22nype-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240915/202409150229.qo22nype-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409150229.qo22nype-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/pci/controller/pci-loongson.c:183:22: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void volatile * @@ drivers/pci/controller/pci-loongson.c:183:22: sparse: expected void volatile [noderef] __iomem *addr drivers/pci/controller/pci-loongson.c:183:22: sparse: got void volatile * drivers/pci/controller/pci-loongson.c:184:29: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void volatile [noderef] __iomem *addr @@ got void volatile * @@ drivers/pci/controller/pci-loongson.c:184:29: sparse: expected void volatile [noderef] __iomem *addr drivers/pci/controller/pci-loongson.c:184:29: sparse: got void volatile * vim +183 drivers/pci/controller/pci-loongson.c 151 152 static void loongson_display_quirk(struct pci_dev *dev) 153 { 154 u32 val; 155 u64 mask, size; 156 u64 max_size = 0; 157 int i, num; 158 struct pci_bus *bus = dev->bus; 159 160 if (!dev->bus->number) { 161 if (!(dev->vendor == PCI_VENDOR_ID_LOONGSON && dev->device == 0x7a25)) 162 return; 163 } else { 164 while (!pci_is_root_bus(bus->parent)) 165 bus = bus->parent; 166 167 /* ensure slot is 7a2000 */ 168 if (bus->self->vendor != PCI_VENDOR_ID_LOONGSON || bus->self->device < 0x7a39) 169 return; 170 } 171 max_size = 0; 172 for (i = 0; i < DEVICE_COUNT_RESOURCE; i++) { 173 if (dev->resource[i].flags & IORESOURCE_MEM) { 174 size = dev->resource[i].end - dev->resource[i].start; 175 if (size > max_size) { 176 max_size = size; 177 num = i; 178 } 179 } 180 } 181 mask = ~(dev->resource[num].end - dev->resource[num].start); 182 val = (dev->resource[num].start >> (24 - 16)) | ((mask >> 24) & 0xffff); > 183 writel(val, (volatile void *)0x80000efdfb000174UL); 184 writel(0x80000000, (volatile void *)0x80000efdfb000170UL); 185 } 186 DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_LOONGSON, 0x7a25, loongson_display_quirk); 187 DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_ANY_ID, PCI_ANY_ID, 188 PCI_BASE_CLASS_DISPLAY, 16, loongson_display_quirk); 189 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2387/13948] kernel/sched/psi.c:178:13: warning: 'psi_avgs_work' used but never defined
by kernel test robot 15 Sep '24

15 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 1910604f7315d411c0c10359055daddee968441f commit: 654944510822988390470cbc5b6f914c19dd9b88 [2387/13948] sched/psi: add cpu fine grained stall tracking in pressure.stat config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240915/202409150029.IPJpZTLQ-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240915/202409150029.IPJpZTLQ-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409150029.IPJpZTLQ-lkp@intel.com/ All warnings (new ones prefixed by >>): kernel/sched/psi.c:1883:27: note: (near initialization for 'psi_memory_proc_ops.proc_poll') kernel/sched/psi.c:1884:27: error: initializer element is not constant 1884 | .proc_release = psi_fop_release, | ^~~~~~~~~~~~~~~ kernel/sched/psi.c:1884:27: note: (near initialization for 'psi_memory_proc_ops.proc_release') kernel/sched/psi.c:1888:27: error: initializer element is not constant 1888 | .proc_open = psi_cpu_open, | ^~~~~~~~~~~~ kernel/sched/psi.c:1888:27: note: (near initialization for 'psi_cpu_proc_ops.proc_open') kernel/sched/psi.c:1891:27: error: initializer element is not constant 1891 | .proc_write = psi_cpu_write, | ^~~~~~~~~~~~~ kernel/sched/psi.c:1891:27: note: (near initialization for 'psi_cpu_proc_ops.proc_write') kernel/sched/psi.c:1892:27: error: initializer element is not constant 1892 | .proc_poll = psi_fop_poll, | ^~~~~~~~~~~~ kernel/sched/psi.c:1892:27: note: (near initialization for 'psi_cpu_proc_ops.proc_poll') kernel/sched/psi.c:1893:27: error: initializer element is not constant 1893 | .proc_release = psi_fop_release, | ^~~~~~~~~~~~~~~ kernel/sched/psi.c:1893:27: note: (near initialization for 'psi_cpu_proc_ops.proc_release') kernel/sched/psi.c:1907:13: error: invalid storage class for function 'get_stat_names' 1907 | static void get_stat_names(struct seq_file *m, int i, bool is_full) | ^~~~~~~~~~~~~~ kernel/sched/psi.c:1953:12: error: invalid storage class for function 'system_psi_stat_show' 1953 | static int system_psi_stat_show(struct seq_file *m, void *v) | ^~~~~~~~~~~~~~~~~~~~ kernel/sched/psi.c:1958:12: error: invalid storage class for function 'psi_stat_open' 1958 | static int psi_stat_open(struct inode *inode, struct file *file) | ^~~~~~~~~~~~~ kernel/sched/psi.c:1964:27: error: initializer element is not constant 1964 | .proc_open = psi_stat_open, | ^~~~~~~~~~~~~ kernel/sched/psi.c:1964:27: note: (near initialization for 'psi_stat_proc_ops.proc_open') kernel/sched/psi.c:1967:27: error: initializer element is not constant 1967 | .proc_release = psi_fop_release, | ^~~~~~~~~~~~~~~ kernel/sched/psi.c:1967:27: note: (near initialization for 'psi_stat_proc_ops.proc_release') kernel/sched/psi.c:1998:19: error: invalid storage class for function 'psi_proc_init' 1998 | static int __init psi_proc_init(void) | ^~~~~~~~~~~~~ In file included from include/linux/printk.h:6, from include/linux/kernel.h:30: kernel/sched/psi.c:2014:13: error: initializer element is not constant 2014 | module_init(psi_proc_init); | ^~~~~~~~~~~~~ include/linux/init.h:270:55: note: in definition of macro '____define_initcall' 270 | __attribute__((__section__(__sec))) = fn; | ^~ include/linux/init.h:280:9: note: in expansion of macro '__unique_initcall' 280 | __unique_initcall(fn, id, __sec, __initcall_id(fn)) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:282:35: note: in expansion of macro '___define_initcall' 282 | #define __define_initcall(fn, id) ___define_initcall(fn, id, .initcall##id) | ^~~~~~~~~~~~~~~~~~ include/linux/init.h:311:41: note: in expansion of macro '__define_initcall' 311 | #define device_initcall(fn) __define_initcall(fn, 6) | ^~~~~~~~~~~~~~~~~ include/linux/init.h:316:24: note: in expansion of macro 'device_initcall' 316 | #define __initcall(fn) device_initcall(fn) | ^~~~~~~~~~~~~~~ include/linux/module.h:88:25: note: in expansion of macro '__initcall' 88 | #define module_init(x) __initcall(x); | ^~~~~~~~~~ kernel/sched/psi.c:2014:1: note: in expansion of macro 'module_init' 2014 | module_init(psi_proc_init); | ^~~~~~~~~~~ In file included from kernel/sched/build_utility.c:101: kernel/sched/membarrier.c:165:13: error: invalid storage class for function 'ipi_mb' 165 | static void ipi_mb(void *info) | ^~~~~~ kernel/sched/membarrier.c:170:13: error: invalid storage class for function 'ipi_sync_core' 170 | static void ipi_sync_core(void *info) | ^~~~~~~~~~~~~ kernel/sched/membarrier.c:187:13: error: invalid storage class for function 'ipi_rseq' 187 | static void ipi_rseq(void *info) | ^~~~~~~~ kernel/sched/membarrier.c:200:13: error: invalid storage class for function 'ipi_sync_rq_state' 200 | static void ipi_sync_rq_state(void *info) | ^~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:245:12: error: invalid storage class for function 'membarrier_global_expedited' 245 | static int membarrier_global_expedited(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:310:12: error: invalid storage class for function 'membarrier_private_expedited' 310 | static int membarrier_private_expedited(int flags, int cpu_id) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:426:12: error: invalid storage class for function 'sync_runqueues_membarrier_state' 426 | static int sync_runqueues_membarrier_state(struct mm_struct *mm) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:483:12: error: invalid storage class for function 'membarrier_register_global_expedited' 483 | static int membarrier_register_global_expedited(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:502:12: error: invalid storage class for function 'membarrier_register_private_expedited' 502 | static int membarrier_register_private_expedited(int flags) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/membarrier.c:544:12: error: invalid storage class for function 'membarrier_get_registrations' 544 | static int membarrier_get_registrations(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from include/linux/compiler_types.h:153, from <command-line>: >> include/linux/compiler-gcc.h:132:33: warning: 'alias' attribute ignored [-Wattributes] 132 | #define __diag(s) _Pragma(__diag_str(GCC diagnostic s)) | ^~~~~~~ include/linux/compiler-gcc.h:135:33: note: in expansion of macro '__diag' 135 | #define __diag_GCC_8(s) __diag(s) | ^~~~~~ include/linux/compiler-gcc.h:123:9: note: in expansion of macro '__diag_GCC_8' 123 | __diag_GCC_ ## version(__diag_GCC_ ## severity s) | ^~~~~~~~~~~ include/linux/compiler_types.h:444:9: note: in expansion of macro '__diag_GCC' 444 | __diag_ ## compiler(version, ignore, option) | ^~~~~~~ include/linux/syscalls.h:242:9: note: in expansion of macro '__diag_ignore' 242 | __diag_ignore(GCC, 8, "-Wattribute-alias", \ | ^~~~~~~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ In file included from include/linux/syscalls_api.h:1, from kernel/sched/sched.h:61, from kernel/sched/build_utility.c:53: include/linux/syscalls.h:247:28: error: invalid storage class for function '__do_sys_membarrier' 247 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:249:25: error: static declaration of '__se_sys_membarrier' follows non-static declaration 249 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ include/linux/syscalls.h:248:25: note: previous declaration of '__se_sys_membarrier' with type 'long int(long int, long int, long int)' 248 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)); \ | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c: In function '__se_sys_membarrier': include/linux/syscalls.h:251:28: error: implicit declaration of function '__do_sys_membarrier'; did you mean '__se_sys_membarrier'? [-Wimplicit-function-declaration] 251 | long ret = __do_sys##name(__MAP(x,__SC_CAST,__VA_ARGS__));\ | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c: In function 'record_stat_times': include/linux/syscalls.h:257:28: error: invalid storage class for function '__do_sys_membarrier' 257 | static inline long __do_sys##name(__MAP(x,__SC_DECL,__VA_ARGS__)) | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ In file included from kernel/sched/build_utility.c:109: kernel/sched/autogroup.c:7:28: error: section attribute cannot be specified for local variables 7 | unsigned int __read_mostly sysctl_sched_autogroup_enabled = 1; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:15:35: error: initializer element is not constant 15 | .data = &sysctl_sched_autogroup_enabled, | ^ kernel/sched/autogroup.c:15:35: note: (near initialization for 'sched_autogroup_sysctls[0].data') kernel/sched/autogroup.c:25:20: error: invalid storage class for function 'sched_autogroup_sysctl_init' 25 | static void __init sched_autogroup_sysctl_init(void) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:47:20: error: invalid storage class for function 'autogroup_destroy' 47 | static inline void autogroup_destroy(struct kref *kref) | ^~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:60:20: error: invalid storage class for function 'autogroup_kref_put' 60 | static inline void autogroup_kref_put(struct autogroup *ag) | ^~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:65:33: error: invalid storage class for function 'autogroup_kref_get' 65 | static inline struct autogroup *autogroup_kref_get(struct autogroup *ag) | ^~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:71:33: error: invalid storage class for function 'autogroup_task_get' 71 | static inline struct autogroup *autogroup_task_get(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:85:33: error: invalid storage class for function 'autogroup_create' 85 | static inline struct autogroup *autogroup_create(void) | ^~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:158:1: error: invalid storage class for function 'autogroup_move_group' 158 | autogroup_move_group(struct task_struct *p, struct autogroup *ag) | ^~~~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:202:15: error: non-static declaration of 'sched_autogroup_create_attach' follows static declaration 202 | EXPORT_SYMBOL(sched_autogroup_create_attach); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:74:28: note: in definition of macro '__EXPORT_SYMBOL' 74 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:86:41: note: in expansion of macro '_EXPORT_SYMBOL' 86 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ kernel/sched/autogroup.c:202:1: note: in expansion of macro 'EXPORT_SYMBOL' 202 | EXPORT_SYMBOL(sched_autogroup_create_attach); | ^~~~~~~~~~~~~ kernel/sched/autogroup.c:193:6: note: previous definition of 'sched_autogroup_create_attach' with type 'void(struct task_struct *)' 193 | void sched_autogroup_create_attach(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:209:15: error: non-static declaration of 'sched_autogroup_detach' follows static declaration 209 | EXPORT_SYMBOL(sched_autogroup_detach); | ^~~~~~~~~~~~~~~~~~~~~~ include/linux/export.h:74:28: note: in definition of macro '__EXPORT_SYMBOL' 74 | extern typeof(sym) sym; \ | ^~~ include/linux/export.h:86:41: note: in expansion of macro '_EXPORT_SYMBOL' 86 | #define EXPORT_SYMBOL(sym) _EXPORT_SYMBOL(sym, "") | ^~~~~~~~~~~~~~ kernel/sched/autogroup.c:209:1: note: in expansion of macro 'EXPORT_SYMBOL' 209 | EXPORT_SYMBOL(sched_autogroup_detach); | ^~~~~~~~~~~~~ kernel/sched/autogroup.c:205:6: note: previous definition of 'sched_autogroup_detach' with type 'void(struct task_struct *)' 205 | void sched_autogroup_detach(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~~~~~ kernel/sched/autogroup.c:221:19: error: invalid storage class for function 'setup_autogroup' 221 | static int __init setup_autogroup(char *str) | ^~~~~~~~~~~~~~~ kernel/sched/autogroup.c:227:24: error: initializer element is not constant 227 | __setup("noautogroup", setup_autogroup); | ^~~~~~~~~~~~~~~ include/linux/init.h:343:46: note: in definition of macro '__setup_param' 343 | = { __setup_str_##unique_id, fn, early } | ^~ kernel/sched/autogroup.c:227:1: note: in expansion of macro '__setup' 227 | __setup("noautogroup", setup_autogroup); | ^~~~~~~ kernel/sched/autogroup.c:227:24: note: (near initialization for '__setup_setup_autogroup.setup_func') 227 | __setup("noautogroup", setup_autogroup); | ^~~~~~~~~~~~~~~ include/linux/init.h:343:46: note: in definition of macro '__setup_param' 343 | = { __setup_str_##unique_id, fn, early } | ^~ kernel/sched/autogroup.c:227:1: note: in expansion of macro '__setup' 227 | __setup("noautogroup", setup_autogroup); | ^~~~~~~ kernel/sched/build_utility.c:110: error: expected declaration or statement at end of input 110 | #endif kernel/sched/psi.c: At top level: >> kernel/sched/psi.c:178:13: warning: 'psi_avgs_work' used but never defined 178 | static void psi_avgs_work(struct work_struct *work); | ^~~~~~~~~~~~~ >> kernel/sched/psi.c:180:13: warning: 'poll_timer_fn' used but never defined 180 | static void poll_timer_fn(struct timer_list *t); | ^~~~~~~~~~~~~ >> kernel/sched/autogroup.c:285:5: warning: 'autogroup_path' defined but not used [-Wunused-function] 285 | int autogroup_path(struct task_group *tg, char *buf, int buflen) | ^~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:269:6: warning: 'proc_sched_autogroup_show_task' defined but not used [-Wunused-function] 269 | void proc_sched_autogroup_show_task(struct task_struct *p, struct seq_file *m) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:231:5: warning: 'proc_sched_autogroup_set_nice' defined but not used [-Wunused-function] 231 | int proc_sched_autogroup_set_nice(struct task_struct *p, int nice) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:216:6: warning: 'sched_autogroup_exit' defined but not used [-Wunused-function] 216 | void sched_autogroup_exit(struct signal_struct *sig) | ^~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:211:6: warning: 'sched_autogroup_fork' defined but not used [-Wunused-function] 211 | void sched_autogroup_fork(struct signal_struct *sig) | ^~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:147:6: warning: 'sched_autogroup_exit_task' defined but not used [-Wunused-function] 147 | void sched_autogroup_exit_task(struct task_struct *p) | ^~~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:129:6: warning: 'task_wants_autogroup' defined but not used [-Wunused-function] 129 | bool task_wants_autogroup(struct task_struct *p, struct task_group *tg) | ^~~~~~~~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:42:6: warning: 'autogroup_free' defined but not used [-Wunused-function] 42 | void autogroup_free(struct task_group *tg) | ^~~~~~~~~~~~~~ >> kernel/sched/autogroup.c:33:13: warning: 'autogroup_init' defined but not used [-Wunused-function] 33 | void __init autogroup_init(struct task_struct *init_task) | ^~~~~~~~~~~~~~ >> include/linux/syscalls.h:249:25: warning: '__se_sys_membarrier' defined but not used [-Wunused-function] 249 | asmlinkage long __se_sys##name(__MAP(x,__SC_LONG,__VA_ARGS__)) \ | ^~~~~~~~ include/linux/syscalls.h:230:9: note: in expansion of macro '__SYSCALL_DEFINEx' 230 | __SYSCALL_DEFINEx(x, sname, __VA_ARGS__) | ^~~~~~~~~~~~~~~~~ include/linux/syscalls.h:221:36: note: in expansion of macro 'SYSCALL_DEFINEx' 221 | #define SYSCALL_DEFINE3(name, ...) SYSCALL_DEFINEx(3, _##name, __VA_ARGS__) | ^~~~~~~~~~~~~~~ kernel/sched/membarrier.c:614:1: note: in expansion of macro 'SYSCALL_DEFINE3' 614 | SYSCALL_DEFINE3(membarrier, int, cmd, unsigned int, flags, int, cpu_id) | ^~~~~~~~~~~~~~~ >> kernel/sched/membarrier.c:233:6: warning: 'membarrier_update_current_mm' defined but not used [-Wunused-function] 233 | void membarrier_update_current_mm(struct mm_struct *next_mm) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ >> kernel/sched/membarrier.c:217:6: warning: 'membarrier_exec_mmap' defined but not used [-Wunused-function] 217 | void membarrier_exec_mmap(struct mm_struct *mm) | ^~~~~~~~~~~~~~~~~~~~ >> kernel/sched/psi.c:1471:6: warning: 'psi_cgroup_restart' defined but not used [-Wunused-function] 1471 | void psi_cgroup_restart(struct psi_group *group) | ^~~~~~~~~~~~~~~~~~ >> kernel/sched/psi.c:1416:6: warning: 'cgroup_move_task' defined but not used [-Wunused-function] 1416 | void cgroup_move_task(struct task_struct *task, struct css_set *to) | ^~~~~~~~~~~~~~~~ >> kernel/sched/psi.c:1392:6: warning: 'psi_cgroup_free' defined but not used [-Wunused-function] 1392 | void psi_cgroup_free(struct cgroup *cgroup) | ^~~~~~~~~~~~~~~ >> kernel/sched/psi.c:1373:5: warning: 'psi_cgroup_alloc' defined but not used [-Wunused-function] 1373 | int psi_cgroup_alloc(struct cgroup *cgroup) | ^~~~~~~~~~~~~~~~ >> kernel/sched/psi.c:1168:6: warning: 'psi_task_switch' defined but not used [-Wunused-function] 1168 | void psi_task_switch(struct task_struct *prev, struct task_struct *next, | ^~~~~~~~~~~~~~~ kernel/sched/psi.c:949:13: warning: 'poll_timer_fn' defined but not used [-Wunused-function] 949 | static void poll_timer_fn(struct timer_list *t) | ^~~~~~~~~~~~~ vim +/psi_avgs_work +178 kernel/sched/psi.c eb414681d5a07d2 Johannes Weiner 2018-10-26 177 bcc78db64168eb6 Suren Baghdasaryan 2019-05-14 @178 static void psi_avgs_work(struct work_struct *work); eb414681d5a07d2 Johannes Weiner 2018-10-26 179 8f91efd870ea5d8 Zhaoyang Huang 2021-06-11 @180 static void poll_timer_fn(struct timer_list *t); 8f91efd870ea5d8 Zhaoyang Huang 2021-06-11 181 :::::: The code at line 178 was first introduced by commit :::::: bcc78db64168eb6dede056fed2999f75f7ace309 psi: rename psi fields in preparation for psi trigger addition :::::: TO: Suren Baghdasaryan <surenb(a)google.com> :::::: CC: Linus Torvalds <torvalds(a)linux-foundation.org> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 2153/13948] drivers/cpuinspect/sysfs.c:92:9: sparse: sparse: symbol 'patrol_complete_show' was not declared. Should it be static?
by kernel test robot 14 Sep '24

14 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 1910604f7315d411c0c10359055daddee968441f commit: d91c6db8ca896824da23aab69dde9ce289222299 [2153/13948] cpuinspect: add CPU-inspect infrastructure config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240914/202409141939.mPFkQsG4-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240914/202409141939.mPFkQsG4-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141939.mPFkQsG4-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) >> drivers/cpuinspect/sysfs.c:92:9: sparse: sparse: symbol 'patrol_complete_show' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:98:9: sparse: sparse: symbol 'cpu_utility_show' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:104:9: sparse: sparse: symbol 'cpu_utility_store' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:117:9: sparse: sparse: symbol 'patrol_times_show' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:123:9: sparse: sparse: symbol 'patrol_times_store' was not declared. Should it be static? >> drivers/cpuinspect/sysfs.c:139:9: sparse: sparse: symbol 'start_patrol_store' was not declared. Should it be static? -- >> drivers/cpuinspect/inspector.c:34:22: sparse: sparse: symbol 'prev_cpu_inspector' was not declared. Should it be static? drivers/cpuinspect/inspector.c: note: in included file (through include/linux/rculist.h, include/linux/pid.h, include/linux/sched.h, ...): include/linux/list.h:83:21: sparse: sparse: self-comparison always evaluates to true vim +/patrol_complete_show +92 drivers/cpuinspect/sysfs.c 91 > 92 ssize_t patrol_complete_show(struct device *dev, struct device_attribute *attr, 93 char *buf) 94 { 95 return sprintf(buf, "%d\n", !ci_core.inspect_on); 96 } 97 > 98 ssize_t cpu_utility_show(struct device *dev, struct device_attribute *attr, 99 char *buf) 100 { 101 return sprintf(buf, "%u\n", ci_core.cpu_utility); 102 } 103 > 104 ssize_t cpu_utility_store(struct device *dev, struct device_attribute *attr, 105 const char *buf, size_t size) 106 { 107 unsigned int cpu_util; 108 109 if (kstrtouint(buf, 10, &cpu_util) || cpu_util < 1 || cpu_util > 100) 110 return -EINVAL; 111 112 ci_core.cpu_utility = cpu_util; 113 114 return size; 115 } 116 > 117 ssize_t patrol_times_show(struct device *dev, struct device_attribute *attr, 118 char *buf) 119 { 120 return sprintf(buf, "%lu\n", ci_core.inspect_times); 121 } 122 > 123 ssize_t patrol_times_store(struct device *dev, struct device_attribute *attr, 124 const char *buf, size_t size) 125 { 126 /* 127 * It is not allowed to modify patrol times during the CPU 128 * inspection operation. 129 */ 130 if (ci_core.inspect_on) 131 return -EBUSY; 132 133 if (kstrtoul(buf, 10, &ci_core.inspect_times)) 134 return -EINVAL; 135 136 return size; 137 } 138 > 139 ssize_t start_patrol_store(struct device *dev, struct device_attribute *attr, 140 const char *buf, size_t size) 141 { 142 bool start_patrol = false; 143 144 if (strtobool(buf, &start_patrol) < 0) 145 return -EINVAL; 146 147 if (!mutex_trylock(&cpuinspect_lock)) 148 return -EBUSY; 149 150 /* 151 * It is not allowed to start the inspection again during the 152 * inspection process. 153 */ 154 if (start_patrol && (int) start_patrol == ci_core.inspect_on) { 155 mutex_unlock(&cpuinspect_lock); 156 return -EBUSY; 157 } 158 159 if (start_patrol == 0) 160 stop_inspect_threads(); 161 else if (curr_cpu_inspector) 162 start_inspect_threads(); 163 164 mutex_unlock(&cpuinspect_lock); 165 return size; 166 } 167 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-5.10 1790/30000] ld.lld: error: duplicate symbol: debug
by kernel test robot 14 Sep '24

14 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 commit: 8e695222e0638bf3867561a1e7342d20fd9683a1 [1790/30000] Huawei BMA: Adding Huawei BMA driver: cdev_veth_drv config: x86_64-allyesconfig (https://download.01.org/0day-ci/archive/20240914/202409141843.ikQ03W3n-lkp@…) compiler: clang version 18.1.8 (https://github.com/llvm/llvm-project 3b5b5c1ec4a3095ab096dd780e84d7ab81f3d7ff) reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409141843.ikQ03W3n-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141843.ikQ03W3n-lkp@intel.com/ Note: the openeuler/OLK-5.10 HEAD 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 builds fine. It only hurts bisectability. All errors (new ones prefixed by >>): >> ld.lld: error: duplicate symbol: debug >>> defined at bma_pci.c >>> net/ethernet/huawei/bma/edma_drv/bma_pci.o:(debug) in archive drivers/built-in.a >>> defined at virtual_cdev_eth_net.c >>> net/ethernet/huawei/bma/cdev_veth_drv/virtual_cdev_eth_net.o:(.bss+0x0) in archive drivers/built-in.a -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 17239/23714] drivers/nvme/host/core.c:1163:27: error: 'compat_uptr_t' undeclared; did you mean 'compat_time_t'?
by kernel test robot 14 Sep '24

14 Sep '24
Hi Nick, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: b8ba22a604e4d0a3ad8e23af22f432e12b6f1a65 [17239/23714] nvme: fix compat address handling in several ioctls config: arm64-randconfig-003-20240913 (https://download.01.org/0day-ci/archive/20240914/202409141821.nKd5ypu2-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409141821.nKd5ypu2-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141821.nKd5ypu2-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/nvme/host/core.c: In function 'nvme_to_user_ptr': >> drivers/nvme/host/core.c:1163:27: error: 'compat_uptr_t' undeclared (first use in this function); did you mean 'compat_time_t'? 1163 | ptrval = (compat_uptr_t)ptrval; | ^~~~~~~~~~~~~ | compat_time_t drivers/nvme/host/core.c:1163:27: note: each undeclared identifier is reported only once for each function it appears in >> drivers/nvme/host/core.c:1163:41: error: expected ';' before 'ptrval' 1163 | ptrval = (compat_uptr_t)ptrval; | ^~~~~~ | ; vim +1163 drivers/nvme/host/core.c 1154 1155 /* 1156 * Convert integer values from ioctl structures to user pointers, silently 1157 * ignoring the upper bits in the compat case to match behaviour of 32-bit 1158 * kernels. 1159 */ 1160 static void __user *nvme_to_user_ptr(uintptr_t ptrval) 1161 { 1162 if (in_compat_syscall()) > 1163 ptrval = (compat_uptr_t)ptrval; 1164 return (void __user *)ptrval; 1165 } 1166 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[PATCH OLK-5.10] x86/mm: Do not shuffle CPU entry areas without KASLR
by Kaixiong Yu 14 Sep '24

14 Sep '24
From: Michal Koutný <mkoutny(a)suse.com> mainline inclusion from mainline-v6.3-rc4 commit a3f547addcaa10df5a226526bc9e2d9a94542344 category: bugfix bugzilla: https://gitee.com/openeuler/kernel/issues/IARGQX CVE: NA Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id… -------------------------------- The commit 97e3d26b5e5f ("x86/mm: Randomize per-cpu entry area") fixed an omission of KASLR on CPU entry areas. It doesn't take into account KASLR switches though, which may result in unintended non-determinism when a user wants to avoid it (e.g. debugging, benchmarking). Generate only a single combination of CPU entry areas offsets -- the linear array that existed prior randomization when KASLR is turned off. Since we have 3f148f331814 ("x86/kasan: Map shadow for percpu pages on demand") and followups, we can use the more relaxed guard kasrl_enabled() (in contrast to kaslr_memory_enabled()). Fixes: 97e3d26b5e5f ("x86/mm: Randomize per-cpu entry area") Signed-off-by: Michal Koutný <mkoutny(a)suse.com> Signed-off-by: Dave Hansen <dave.hansen(a)linux.intel.com> Cc: stable(a)vger.kernel.org Link: https://lore.kernel.org/all/20230306193144.24605-1-mkoutny%40suse.com Signed-off-by: Kaixiong Yu <yukaixiong(a)huawei.com> --- arch/x86/mm/cpu_entry_area.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/arch/x86/mm/cpu_entry_area.c b/arch/x86/mm/cpu_entry_area.c index 88e2cc4d4e75..7ae8a9d836b4 100644 --- a/arch/x86/mm/cpu_entry_area.c +++ b/arch/x86/mm/cpu_entry_area.c @@ -11,6 +11,7 @@ #include <asm/fixmap.h> #include <asm/desc.h> #include <asm/kasan.h> +#include <asm/setup.h> static DEFINE_PER_CPU_PAGE_ALIGNED(struct entry_stack_page, entry_stack_storage); @@ -30,6 +31,12 @@ static __init void init_cea_offsets(void) unsigned int max_cea; unsigned int i, j; + if (!kaslr_enabled()) { + for_each_possible_cpu(i) + per_cpu(_cea_offset, i) = i; + return; + } + max_cea = (CPU_ENTRY_AREA_MAP_SIZE - PAGE_SIZE) / CPU_ENTRY_AREA_SIZE; /* O(sodding terrible) */ -- 2.34.1
2 1
0 0
[PATCH OLK-6.6 v2] tracefs: Use generic inode RCU for synchronizing freeing
by Long Li 14 Sep '24

14 Sep '24
From: Steven Rostedt <rostedt(a)goodmis.org> stable inclusion from stable-v6.6.45 commit 726f4c241e17be75a9cf6870d80cd7479dc89e8f category: bugfix bugzilla: https://gitee.com/src-openeuler/kernel/issues/IAOXYV CVE: CVE-2024-44959 Reference: https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?h=… -------------------------------- commit 0b6743bd60a56a701070b89fb80c327a44b7b3e2 upstream. With structure layout randomization enabled for 'struct inode' we need to avoid overlapping any of the RCU-used / initialized-only-once members, e.g. i_lru or i_sb_list to not corrupt related list traversals when making use of the rcu_head. For an unlucky structure layout of 'struct inode' we may end up with the following splat when running the ftrace selftests: [<...>] list_del corruption, ffff888103ee2cb0->next (tracefs_inode_cache+0x0/0x4e0 [slab object]) is NULL (prev is tracefs_inode_cache+0x78/0x4e0 [slab object]) [<...>] ------------[ cut here ]------------ [<...>] kernel BUG at lib/list_debug.c:54! [<...>] invalid opcode: 0000 [#1] PREEMPT SMP KASAN [<...>] CPU: 3 PID: 2550 Comm: mount Tainted: G N 6.8.12-grsec+ #122 ed2f536ca62f28b087b90e3cc906a8d25b3ddc65 [<...>] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.14.0-2 04/01/2014 [<...>] RIP: 0010:[<ffffffff84656018>] __list_del_entry_valid_or_report+0x138/0x3e0 [<...>] Code: 48 b8 99 fb 65 f2 ff ff ff ff e9 03 5c d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff e9 33 5a d9 fc cc 48 b8 99 fb 65 f2 ff ff ff ff <0f> 0b 4c 89 e9 48 89 ea 48 89 ee 48 c7 c7 60 8f dd 89 31 c0 e8 2f [<...>] RSP: 0018:fffffe80416afaf0 EFLAGS: 00010283 [<...>] RAX: 0000000000000098 RBX: ffff888103ee2cb0 RCX: 0000000000000000 [<...>] RDX: ffffffff84655fe8 RSI: ffffffff89dd8b60 RDI: 0000000000000001 [<...>] RBP: ffff888103ee2cb0 R08: 0000000000000001 R09: fffffbd0082d5f25 [<...>] R10: fffffe80416af92f R11: 0000000000000001 R12: fdf99c16731d9b6d [<...>] R13: 0000000000000000 R14: ffff88819ad4b8b8 R15: 0000000000000000 [<...>] RBX: tracefs_inode_cache+0x0/0x4e0 [slab object] [<...>] RDX: __list_del_entry_valid_or_report+0x108/0x3e0 [<...>] RSI: __func__.47+0x4340/0x4400 [<...>] RBP: tracefs_inode_cache+0x0/0x4e0 [slab object] [<...>] RSP: process kstack fffffe80416afaf0+0x7af0/0x8000 [mount 2550 2550] [<...>] R09: kasan shadow of process kstack fffffe80416af928+0x7928/0x8000 [mount 2550 2550] [<...>] R10: process kstack fffffe80416af92f+0x792f/0x8000 [mount 2550 2550] [<...>] R14: tracefs_inode_cache+0x78/0x4e0 [slab object] [<...>] FS: 00006dcb380c1840(0000) GS:ffff8881e0600000(0000) knlGS:0000000000000000 [<...>] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [<...>] CR2: 000076ab72b30e84 CR3: 000000000b088004 CR4: 0000000000360ef0 shadow CR4: 0000000000360ef0 [<...>] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000 [<...>] DR3: 0000000000000000 DR6: 00000000fffe0ff0 DR7: 0000000000000400 [<...>] ASID: 0003 [<...>] Stack: [<...>] ffffffff818a2315 00000000f5c856ee ffffffff896f1840 ffff888103ee2cb0 [<...>] ffff88812b6b9750 0000000079d714b6 fffffbfff1e9280b ffffffff8f49405f [<...>] 0000000000000001 0000000000000000 ffff888104457280 ffffffff8248b392 [<...>] Call Trace: [<...>] <TASK> [<...>] [<ffffffff818a2315>] ? lock_release+0x175/0x380 fffffe80416afaf0 [<...>] [<ffffffff8248b392>] list_lru_del+0x152/0x740 fffffe80416afb48 [<...>] [<ffffffff8248ba93>] list_lru_del_obj+0x113/0x280 fffffe80416afb88 [<...>] [<ffffffff8940fd19>] ? _atomic_dec_and_lock+0x119/0x200 fffffe80416afb90 [<...>] [<ffffffff8295b244>] iput_final+0x1c4/0x9a0 fffffe80416afbb8 [<...>] [<ffffffff8293a52b>] dentry_unlink_inode+0x44b/0xaa0 fffffe80416afbf8 [<...>] [<ffffffff8293fefc>] __dentry_kill+0x23c/0xf00 fffffe80416afc40 [<...>] [<ffffffff8953a85f>] ? __this_cpu_preempt_check+0x1f/0xa0 fffffe80416afc48 [<...>] [<ffffffff82949ce5>] ? shrink_dentry_list+0x1c5/0x760 fffffe80416afc70 [<...>] [<ffffffff82949b71>] ? shrink_dentry_list+0x51/0x760 fffffe80416afc78 [<...>] [<ffffffff82949da8>] shrink_dentry_list+0x288/0x760 fffffe80416afc80 [<...>] [<ffffffff8294ae75>] shrink_dcache_sb+0x155/0x420 fffffe80416afcc8 [<...>] [<ffffffff8953a7c3>] ? debug_smp_processor_id+0x23/0xa0 fffffe80416afce0 [<...>] [<ffffffff8294ad20>] ? do_one_tree+0x140/0x140 fffffe80416afcf8 [<...>] [<ffffffff82997349>] ? do_remount+0x329/0xa00 fffffe80416afd18 [<...>] [<ffffffff83ebf7a1>] ? security_sb_remount+0x81/0x1c0 fffffe80416afd38 [<...>] [<ffffffff82892096>] reconfigure_super+0x856/0x14e0 fffffe80416afd70 [<...>] [<ffffffff815d1327>] ? ns_capable_common+0xe7/0x2a0 fffffe80416afd90 [<...>] [<ffffffff82997436>] do_remount+0x416/0xa00 fffffe80416afdd0 [<...>] [<ffffffff829b2ba4>] path_mount+0x5c4/0x900 fffffe80416afe28 [<...>] [<ffffffff829b25e0>] ? finish_automount+0x13a0/0x13a0 fffffe80416afe60 [<...>] [<ffffffff82903812>] ? user_path_at_empty+0xb2/0x140 fffffe80416afe88 [<...>] [<ffffffff829b2ff5>] do_mount+0x115/0x1c0 fffffe80416afeb8 [<...>] [<ffffffff829b2ee0>] ? path_mount+0x900/0x900 fffffe80416afed8 [<...>] [<ffffffff8272461c>] ? __kasan_check_write+0x1c/0xa0 fffffe80416afee0 [<...>] [<ffffffff829b31cf>] __do_sys_mount+0x12f/0x280 fffffe80416aff30 [<...>] [<ffffffff829b36cd>] __x64_sys_mount+0xcd/0x2e0 fffffe80416aff70 [<...>] [<ffffffff819f8818>] ? syscall_trace_enter+0x218/0x380 fffffe80416aff88 [<...>] [<ffffffff8111655e>] x64_sys_call+0x5d5e/0x6720 fffffe80416affa8 [<...>] [<ffffffff8952756d>] do_syscall_64+0xcd/0x3c0 fffffe80416affb8 [<...>] [<ffffffff8100119b>] entry_SYSCALL_64_safe_stack+0x4c/0x87 fffffe80416affe8 [<...>] </TASK> [<...>] <PTREGS> [<...>] RIP: 0033:[<00006dcb382ff66a>] vm_area_struct[mount 2550 2550 file 6dcb38225000-6dcb3837e000 22 55(read|exec|mayread|mayexec)]+0x0/0xb8 [userland map] [<...>] Code: 48 8b 0d 29 18 0d 00 f7 d8 64 89 01 48 83 c8 ff c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 44 00 00 49 89 ca b8 a5 00 00 00 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d f6 17 0d 00 f7 d8 64 89 01 48 [<...>] RSP: 002b:0000763d68192558 EFLAGS: 00000246 ORIG_RAX: 00000000000000a5 [<...>] RAX: ffffffffffffffda RBX: 00006dcb38433264 RCX: 00006dcb382ff66a [<...>] RDX: 000017c3e0d11210 RSI: 000017c3e0d1a5a0 RDI: 000017c3e0d1ae70 [<...>] RBP: 000017c3e0d10fb0 R08: 000017c3e0d11260 R09: 00006dcb383d1be0 [<...>] R10: 000000000020002e R11: 0000000000000246 R12: 0000000000000000 [<...>] R13: 000017c3e0d1ae70 R14: 000017c3e0d11210 R15: 000017c3e0d10fb0 [<...>] RBX: vm_area_struct[mount 2550 2550 file 6dcb38433000-6dcb38434000 5b 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] RCX: vm_area_struct[mount 2550 2550 file 6dcb38225000-6dcb3837e000 22 55(read|exec|mayread|mayexec)]+0x0/0xb8 [userland map] [<...>] RDX: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] RSI: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] RDI: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] RBP: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] RSP: vm_area_struct[mount 2550 2550 anon 763d68173000-763d68195000 7ffffffdd 100133(read|write|mayread|maywrite|growsdown|account)]+0x0/0xb8 [userland map] [<...>] R08: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] R09: vm_area_struct[mount 2550 2550 file 6dcb383d1000-6dcb383d3000 1cd 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] R13: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] R14: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] R15: vm_area_struct[mount 2550 2550 anon 17c3e0d0f000-17c3e0d31000 17c3e0d0f 100033(read|write|mayread|maywrite|account)]+0x0/0xb8 [userland map] [<...>] </PTREGS> [<...>] Modules linked in: [<...>] ---[ end trace 0000000000000000 ]--- The list debug message as well as RBX's symbolic value point out that the object in question was allocated from 'tracefs_inode_cache' and that the list's '->next' member is at offset 0. Dumping the layout of the relevant parts of 'struct tracefs_inode' gives the following: struct tracefs_inode { union { struct inode { struct list_head { struct list_head * next; /* 0 8 */ struct list_head * prev; /* 8 8 */ } i_lru; [...] } vfs_inode; struct callback_head { void (*func)(struct callback_head *); /* 0 8 */ struct callback_head * next; /* 8 8 */ } rcu; }; [...] }; Above shows that 'vfs_inode.i_lru' overlaps with 'rcu' which will destroy the 'i_lru' list as soon as the 'rcu' member gets used, e.g. in call_rcu() or later when calling the RCU callback. This will disturb concurrent list traversals as well as object reuse which assumes these list heads will keep their integrity. For reproduction, the following diff manually overlays 'i_lru' with 'rcu' as, otherwise, one would require some good portion of luck for gambling an unlucky RANDSTRUCT seed: --- a/include/linux/fs.h +++ b/include/linux/fs.h @@ -629,6 +629,7 @@ struct inode { umode_t i_mode; unsigned short i_opflags; kuid_t i_uid; + struct list_head i_lru; /* inode LRU list */ kgid_t i_gid; unsigned int i_flags; @@ -690,7 +691,6 @@ struct inode { u16 i_wb_frn_avg_time; u16 i_wb_frn_history; #endif - struct list_head i_lru; /* inode LRU list */ struct list_head i_sb_list; struct list_head i_wb_list; /* backing dev writeback list */ union { The tracefs inode does not need to supply its own RCU delayed destruction of its inode. The inode code itself offers both a "destroy_inode()" callback that gets called when the last reference of the inode is released, and the "free_inode()" which is called after a RCU synchronization period from the "destroy_inode()". The tracefs code can unlink the inode from its list in the destroy_inode() callback, and the simply free it from the free_inode() callback. This should provide the same protection. Link: https://lore.kernel.org/all/20240807115143.45927-3-minipli@grsecurity.net/ Cc: stable(a)vger.kernel.org Cc: Masami Hiramatsu <mhiramat(a)kernel.org> Cc: Mathieu Desnoyers <mathieu.desnoyers(a)efficios.com> Cc: Ajay Kaher <ajay.kaher(a)broadcom.com> Cc: Ilkka =?utf-8?b?TmF1bGFww6TDpA==?= <digirigawa(a)gmail.com> Link: https://lore.kernel.org/20240807185402.61410544@gandalf.local.home Fixes: baa23a8d4360 ("tracefs: Reset permissions on remount if permissions are options") Reported-by: Mathias Krause <minipli(a)grsecurity.net> Reported-by: Brad Spengler <spender(a)grsecurity.net> Suggested-by: Al Viro <viro(a)zeniv.linux.org.uk> Signed-off-by: Steven Rostedt (Google) <rostedt(a)goodmis.org> Signed-off-by: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org> Conflicts: include/linux/fs.h [The patch which merged into stable-v6.6 has error, it shouldn't modify include/linux/fs.h] Signed-off-by: Long Li <leo.lilong(a)huawei.com> --- fs/tracefs/inode.c | 10 ++++------ fs/tracefs/internal.h | 5 +---- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/fs/tracefs/inode.c b/fs/tracefs/inode.c index 859442b5371e..7d389dd5ed51 100644 --- a/fs/tracefs/inode.c +++ b/fs/tracefs/inode.c @@ -53,15 +53,14 @@ static struct inode *tracefs_alloc_inode(struct super_block *sb) return &ti->vfs_inode; } -static void tracefs_free_inode_rcu(struct rcu_head *rcu) +static void tracefs_free_inode(struct inode *inode) { - struct tracefs_inode *ti; + struct tracefs_inode *ti = get_tracefs(inode); - ti = container_of(rcu, struct tracefs_inode, rcu); kmem_cache_free(tracefs_inode_cachep, ti); } -static void tracefs_free_inode(struct inode *inode) +static void tracefs_destroy_inode(struct inode *inode) { struct tracefs_inode *ti = get_tracefs(inode); unsigned long flags; @@ -69,8 +68,6 @@ static void tracefs_free_inode(struct inode *inode) spin_lock_irqsave(&tracefs_inode_lock, flags); list_del_rcu(&ti->list); spin_unlock_irqrestore(&tracefs_inode_lock, flags); - - call_rcu(&ti->rcu, tracefs_free_inode_rcu); } static ssize_t default_read_file(struct file *file, char __user *buf, @@ -458,6 +455,7 @@ static int tracefs_drop_inode(struct inode *inode) static const struct super_operations tracefs_super_operations = { .alloc_inode = tracefs_alloc_inode, .free_inode = tracefs_free_inode, + .destroy_inode = tracefs_destroy_inode, .drop_inode = tracefs_drop_inode, .statfs = simple_statfs, .remount_fs = tracefs_remount, diff --git a/fs/tracefs/internal.h b/fs/tracefs/internal.h index f704d8348357..d83c2a25f288 100644 --- a/fs/tracefs/internal.h +++ b/fs/tracefs/internal.h @@ -10,10 +10,7 @@ enum { }; struct tracefs_inode { - union { - struct inode vfs_inode; - struct rcu_head rcu; - }; + struct inode vfs_inode; /* The below gets initialized with memset_after(ti, 0, vfs_inode) */ struct list_head list; unsigned long flags; -- 2.39.2
2 1
0 0
[openeuler:OLK-5.10 29995/30000] versioncheck: ./drivers/net/ub/dev/network_mgmt/ip_notify/ip_notify.c: 18 linux/version.h not needed.
by kernel test robot 14 Sep '24

14 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-5.10 head: 1b6ac823ff98dd4dbd1b6bff478a1b9b44855f67 commit: 97d137031d48299dbfc7dbf5d99f0475eb6ff1f4 [29995/30000] network_mgmt: Add ip_notify timer print. reproduce: (https://download.01.org/0day-ci/archive/20240914/202409141643.hAeJbyh0-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141643.hAeJbyh0-lkp@intel.com/ versioncheck warnings: (new ones prefixed by >>) INFO PATH=/opt/cross/rustc-1.58.0-bindgen-0.56.0/cargo/bin:/opt/cross/clang-18/bin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin /usr/bin/timeout -k 100 3h /usr/bin/make KCFLAGS= -Wtautological-compare -Wno-error=return-type -Wreturn-type -Wcast-function-type -funsigned-char -Wundef -fstrict-flex-arrays=3 -Wformat-overflow -Wformat-truncation -Wenum-conversion W=1 --keep-going LLVM=1 -j32 ARCH=x86_64 versioncheck find ./* \( -name SCCS -o -name BitKeeper -o -name .svn -o -name CVS -o -name .pc -o -name .hg -o -name .git \) -prune -o \ -name '*.[hcS]' -type f -print | sort \ | xargs perl -w ./scripts/checkversion.pl ./arch/csky/include/asm/atomic.h: 6 linux/version.h not needed. ./arch/csky/include/asm/io.h: 9 linux/version.h not needed. ./arch/csky/include/asm/thread_info.h: 9 linux/version.h not needed. ./arch/csky/include/asm/uaccess.h: 15 linux/version.h not needed. ./arch/csky/kernel/process.c: 5 linux/version.h not needed. ./arch/csky/mm/dma-mapping.c: 12 linux/version.h not needed. ./arch/csky/mm/fault.c: 16 linux/version.h not needed. ./arch/s390/include/asm/setup.h: 183: need linux/version.h ./arch/um/drivers/vector_kern.c: 11 linux/version.h not needed. ./drivers/block/rsxx/rsxx_priv.h: 14 linux/version.h not needed. ./drivers/char/ipmi/ipmi_si_ls2k500.c: 19 linux/version.h not needed. ./drivers/crypto/cavium/cpt/cptpf_main.c: 13 linux/version.h not needed. ./drivers/crypto/cavium/zip/common.h: 59 linux/version.h not needed. ./drivers/crypto/ccree/cc_driver.h: 26 linux/version.h not needed. ./drivers/crypto/montage/tsse/tsse_vuart.c: 21 linux/version.h not needed. ./drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm.c: 62 linux/version.h not needed. ./drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_helpers.c: 28 linux/version.h not needed. ./drivers/gpu/drm/amd/display/amdgpu_dm/amdgpu_dm_mst_types.c: 26 linux/version.h not needed. ./drivers/gpu/drm/inspur/inspur_drm_de.c: 513: need linux/version.h ./drivers/gpu/drm/inspur/inspur_drm_drv.c: 456: need linux/version.h ./drivers/gpu/drm/pl111/pl111_display.c: 14 linux/version.h not needed. ./drivers/gpu/drm/pl111/pl111_drv.c: 47 linux/version.h not needed. ./drivers/gpu/drm/tve200/tve200_display.c: 14 linux/version.h not needed. ./drivers/gpu/drm/tve200/tve200_drv.c: 38 linux/version.h not needed. ./drivers/hv/hv.c: 16 linux/version.h not needed. ./drivers/i2c/busses/i2c-brcmstb.c: 25 linux/version.h not needed. ./drivers/i2c/busses/i2c-xgene-slimpro.c: 22 linux/version.h not needed. ./drivers/media/pci/cx25821/cx25821.h: 31 linux/version.h not needed. ./drivers/media/platform/s3c-camif/camif-core.c: 26 linux/version.h not needed. ./drivers/media/platform/sti/c8sectpfe/c8sectpfe-common.h: 16 linux/version.h not needed. ./drivers/media/platform/sti/c8sectpfe/c8sectpfe-core.c: 31 linux/version.h not needed. ./drivers/media/platform/sti/c8sectpfe/c8sectpfe-dvb.c: 14 linux/version.h not needed. ./drivers/media/usb/uvc/uvc_driver.c: 18 linux/version.h not needed. ./drivers/net/ethernet/3snic/sssnic/include/kernel/sss_linux_kernel.h: 12 linux/version.h not needed. ./drivers/net/ethernet/broadcom/genet/bcmgenet_wol.c: 21 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/edma_drv/bma_include.h: 32 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/edma_drv/bma_pci.c: 17 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_include.h: 20 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_main.c: 22 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_mce.c: 16 linux/version.h not needed. ./drivers/net/ethernet/huawei/bma/kbox_drv/kbox_ram_op.c: 16 linux/version.h not needed. ./drivers/net/ethernet/huawei/hinic/ossl_knl.h: 22 linux/version.h not needed. ./drivers/net/ethernet/huawei/hinic3/ossl_knl_linux.h: 12 linux/version.h not needed. ./drivers/net/ethernet/mucse/rnpm/rnpm_common.h: 7 linux/version.h not needed. ./drivers/net/ethernet/nebula-matrix/m1600/common.h: 12 linux/version.h not needed. ./drivers/net/ethernet/nebula-matrix/m1600/txrx.c: 9 linux/version.h not needed. ./drivers/net/ethernet/qlogic/qede/qede.h: 10 linux/version.h not needed. ./drivers/net/ethernet/qlogic/qede/qede_ethtool.c: 7 linux/version.h not needed. ./drivers/net/ethernet/qlogic/qede/qede_main.c: 10 linux/version.h not needed. ./drivers/net/ethernet/yunsilicon/xsc/common/xsc_core.h: 26 linux/version.h not needed. >> ./drivers/net/ub/dev/network_mgmt/ip_notify/ip_notify.c: 18 linux/version.h not needed. ./drivers/net/usb/lan78xx.c: 5 linux/version.h not needed. ./drivers/net/wireless/rsi/rsi_91x_ps.c: 19 linux/version.h not needed. ./drivers/scsi/cxgbi/libcxgbi.h: 27 linux/version.h not needed. ./drivers/scsi/hisi_raid/hiraid_main.c: 9 linux/version.h not needed. ./drivers/scsi/huawei/hifc/hifc_knl_adp.h: 23 linux/version.h not needed. ./drivers/scsi/qedf/qedf.h: 15 linux/version.h not needed. ./drivers/scsi/qedf/qedf_dbg.h: 13 linux/version.h not needed. ./drivers/scsi/qedi/qedi_dbg.h: 14 linux/version.h not needed. ./drivers/scsi/sssraid/sssraid_fw.c: 6 linux/version.h not needed. ./drivers/scsi/sssraid/sssraid_os.c: 6 linux/version.h not needed. ./drivers/soc/tegra/powergate-bpmp.c: 10 linux/version.h not needed. ./drivers/staging/media/atomisp/include/linux/atomisp.h: 23 linux/version.h not needed. ./drivers/staging/rtl8723bs/include/drv_types.h: 17 linux/version.h not needed. ./drivers/staging/rtl8723bs/include/ioctl_cfg80211.h: 10 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_cdev_file.c: 23 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_device.c: 33 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_genl.c: 26 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_genl_admin.c: 20 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_main.c: 28 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_tp.c: 26 linux/version.h not needed. ./drivers/ub/urma/ubcore/ubcore_umem.c: 26 linux/version.h not needed. ./drivers/ub/urma/uburma/uburma_main.c: 29 linux/version.h not needed. ./drivers/ub/urma/uburma/uburma_mmap.c: 21 linux/version.h not needed. ./drivers/watchdog/ziirave_wdt.c: 21 linux/version.h not needed. ./fs/eulerfs/euler.h: 20 linux/version.h not needed. ./fs/eulerfs/euler_common.h: 25 linux/version.h not needed. ./fs/proc/etmem_scan.c: 13 linux/version.h not needed. ./include/linux/qed/qed_ll2_if.h: 15 linux/version.h not needed. ./kernel/bpf/syscall.c: 20 linux/version.h not needed. ./samples/bpf/sampleip_kern.c: 7 linux/version.h not needed. ./samples/bpf/trace_event_kern.c: 8 linux/version.h not needed. ./sound/soc/codecs/cs35l35.c: 12 linux/version.h not needed. ./sound/soc/codecs/cs42l42.c: 14 linux/version.h not needed. ./tools/lib/bpf/libbpf_sched.h: 21 linux/version.h not needed. ./tools/perf/include/bpf/bpf.h: 70: need linux/version.h ./tools/perf/tests/bpf-script-example.c: 49: need linux/version.h ./tools/perf/tests/bpf-script-test-kbuild.c: 21: need linux/version.h ./tools/perf/tests/bpf-script-test-prologue.c: 47: need linux/version.h ./tools/perf/tests/bpf-script-test-relocation.c: 51: need linux/version.h ./tools/testing/selftests/bpf/progs/test_map_lock.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_send_signal_kern.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_spin_lock.c: 4 linux/version.h not needed. ./tools/testing/selftests/bpf/progs/test_tcp_estats.c: 37 linux/version.h not needed. ./tools/testing/selftests/wireguard/qemu/init.c: 25 linux/version.h not needed. -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:openEuler-1.0-LTS 16810/23712] drivers/misc/uacce/uacce.c:739:13: error: implicit declaration of function 'module_refcount'
by kernel test robot 14 Sep '24

14 Sep '24
Hi Yu'an, FYI, the error/warning still remains. tree: https://gitee.com/openeuler/kernel.git openEuler-1.0-LTS head: 37aeb7e817053fbf532b214aa02858b3c23af0b1 commit: 451823febcb610969f048556cedc41b5e08fafb1 [16810/23712] UACCE backport from mainline config: arm64-randconfig-003-20240913 (https://download.01.org/0day-ci/archive/20240914/202409141543.TAtQxl6W-lkp@…) compiler: aarch64-linux-gcc (GCC) 14.1.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240914/202409141543.TAtQxl6W-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141543.TAtQxl6W-lkp@intel.com/ All errors (new ones prefixed by >>): drivers/misc/uacce/uacce.c: In function 'uacce_put_queue': >> drivers/misc/uacce/uacce.c:739:13: error: implicit declaration of function 'module_refcount' [-Werror=implicit-function-declaration] 739 | if (module_refcount(uacce->pdev->driver->owner) > 0) | ^~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/module_refcount +739 drivers/misc/uacce/uacce.c 1998d80a018804 drivers/uacce/uacce.c Mingqiang Ling 2019-04-23 717 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 718 /* 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 719 * While user space releases a queue, all the relatives on the queue 76dbd49be7fc95 drivers/uacce/uacce.c xuzaibo 2019-07-11 720 * should be released imediately by this putting. 1998d80a018804 drivers/uacce/uacce.c Mingqiang Ling 2019-04-23 721 */ f7acb5166348bf drivers/uacce/uacce.c Yu'an Wang 2020-02-20 722 static void uacce_put_queue(struct uacce_queue *q) 1998d80a018804 drivers/uacce/uacce.c Mingqiang Ling 2019-04-23 723 { 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 724 struct uacce *uacce = q->uacce; e3234bd66f0c97 drivers/uacce/uacce.c xuzaibo 2019-05-13 725 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 726 /* 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 727 * To do: we should vm_munmap mmio and dus regions, currently we munmap 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 728 * mmio and dus region before put queue. 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 729 */ 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 730 if (uacce->ops->stop_queue) 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 731 uacce->ops->stop_queue(q); 299b4bc20a682a drivers/uacce/uacce.c lingmingqiang 2019-05-06 732 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 733 if (uacce->ops->put_queue) 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 734 uacce->ops->put_queue(q); 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 735 8bf65d5558d0bd drivers/uacce/uacce.c Mingqiang Ling 2019-07-11 736 q->state = UACCE_Q_ZOMBIE; f7acb5166348bf drivers/uacce/uacce.c Yu'an Wang 2020-02-20 737 q->filep->private_data = NULL; f7acb5166348bf drivers/uacce/uacce.c Yu'an Wang 2020-02-20 738 uacce_queue_drain(q); f7acb5166348bf drivers/uacce/uacce.c Yu'an Wang 2020-02-20 @739 if (module_refcount(uacce->pdev->driver->owner) > 0) f7acb5166348bf drivers/uacce/uacce.c Yu'an Wang 2020-02-20 740 module_put(uacce->pdev->driver->owner); 1998d80a018804 drivers/uacce/uacce.c Mingqiang Ling 2019-04-23 741 } 1998d80a018804 drivers/uacce/uacce.c Mingqiang Ling 2019-04-23 742 :::::: The code at line 739 was first introduced by commit :::::: f7acb5166348bf6c75ac40c5e6e14726bc3ca578 uacce: Remove uacce mode 1 relatives :::::: TO: Yu'an Wang <wangyuan46(a)huawei.com> :::::: CC: Yang Yingliang <yangyingliang(a)huawei.com> -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
[openeuler:OLK-6.6 1835/13946] mm/page_cache_limit.c:103:52: sparse: sparse: incorrect type in argument 3 (different address spaces)
by kernel test robot 14 Sep '24

14 Sep '24
tree: https://gitee.com/openeuler/kernel.git OLK-6.6 head: 2e4beeb328d26e30afadf237e39b47aba637a978 commit: 7d1031b36ebd6c273d9aad316fd9e3e2daa01a85 [1835/13946] mm: support pagecache limit config: loongarch-randconfig-r133-20240913 (https://download.01.org/0day-ci/archive/20240914/202409141518.G41e90PW-lkp@…) compiler: loongarch64-linux-gcc (GCC) 14.1.0 reproduce: (https://download.01.org/0day-ci/archive/20240914/202409141518.G41e90PW-lkp@…) 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(a)intel.com> | Closes: https://lore.kernel.org/oe-kbuild-all/202409141518.G41e90PW-lkp@intel.com/ sparse warnings: (new ones prefixed by >>) mm/page_cache_limit.c:61:5: sparse: sparse: symbol 'cache_reclaim_enable_handler' was not declared. Should it be static? mm/page_cache_limit.c:77:5: sparse: sparse: symbol 'cache_reclaim_sysctl_handler' was not declared. Should it be static? >> mm/page_cache_limit.c:103:52: sparse: sparse: incorrect type in argument 3 (different address spaces) @@ expected void * @@ got void [noderef] __user *buffer @@ mm/page_cache_limit.c:103:52: sparse: expected void * mm/page_cache_limit.c:103:52: sparse: got void [noderef] __user *buffer >> mm/page_cache_limit.c:94:5: sparse: sparse: symbol 'cache_limit_mbytes_sysctl_handler' was not declared. Should it be static? >> mm/page_cache_limit.c:187:35: sparse: sparse: incorrect type in initializer (incompatible argument 3 (different address spaces)) @@ expected int ( [usertype] *proc_handler )( ... ) @@ got int ( * )( ... ) @@ mm/page_cache_limit.c:187:35: sparse: expected int ( [usertype] *proc_handler )( ... ) mm/page_cache_limit.c:187:35: sparse: got int ( * )( ... ) vim +103 mm/page_cache_limit.c 93 > 94 int cache_limit_mbytes_sysctl_handler(struct ctl_table *table, int write, 95 void __user *buffer, size_t *length, loff_t *ppos) 96 { 97 int ret; 98 unsigned long vm_cache_limit_mbytes_max; 99 unsigned long origin_mbytes = vm_cache_limit_mbytes; 100 int nr_retries = MAX_RECLAIM_RETRIES; 101 102 vm_cache_limit_mbytes_max = totalram_pages() >> (20 - PAGE_SHIFT); > 103 ret = proc_doulongvec_minmax(table, write, buffer, length, ppos); 104 if (ret || !write) 105 return ret; 106 107 if (vm_cache_limit_mbytes > vm_cache_limit_mbytes_max) { 108 vm_cache_limit_mbytes = origin_mbytes; 109 return -EINVAL; 110 } 111 112 if (write) { 113 while (should_reclaim_page_cache() && page_cache_over_limit() && 114 nr_retries--) { 115 if (signal_pending(current)) 116 return -EINTR; 117 118 shrink_memory(node_reclaim_num(), false); 119 } 120 } 121 122 return 0; 123 } 124 125 static void shrink_shepherd(struct work_struct *w) 126 { 127 int node; 128 129 if (!should_periodical_reclaim()) 130 return; 131 132 for_each_online_node(node) { 133 if (!work_pending(&vmscan_works[node])) 134 queue_work_node(node, system_unbound_wq, &vmscan_works[node]); 135 } 136 137 queue_delayed_work(system_unbound_wq, &shepherd, 138 round_jiffies_relative((unsigned long)vm_cache_reclaim_s * HZ)); 139 } 140 141 static void shrink_page_work(struct work_struct *w) 142 { 143 shrink_memory(node_reclaim_num(), true); 144 } 145 146 static void shrink_shepherd_timer(void) 147 { 148 int i; 149 150 for (i = 0; i < MAX_NUMNODES; i++) 151 INIT_WORK(&vmscan_works[i], shrink_page_work); 152 } 153 154 static struct ctl_table page_cache_limit_table[] = { 155 { 156 .procname = "cache_reclaim_s", 157 .data = &vm_cache_reclaim_s, 158 .maxlen = sizeof(vm_cache_reclaim_s), 159 .mode = 0644, 160 .proc_handler = cache_reclaim_sysctl_handler, 161 .extra1 = SYSCTL_ZERO, 162 .extra2 = &vm_cache_reclaim_s_max, 163 }, 164 { 165 .procname = "cache_reclaim_weight", 166 .data = &vm_cache_reclaim_weight, 167 .maxlen = sizeof(vm_cache_reclaim_weight), 168 .mode = 0644, 169 .proc_handler = proc_dointvec_minmax, 170 .extra1 = SYSCTL_ONE, 171 .extra2 = &vm_cache_reclaim_weight_max, 172 }, 173 { 174 .procname = "cache_reclaim_enable", 175 .data = &vm_cache_reclaim_enable, 176 .maxlen = sizeof(vm_cache_reclaim_enable), 177 .mode = 0644, 178 .proc_handler = cache_reclaim_enable_handler, 179 .extra1 = SYSCTL_ZERO, 180 .extra2 = SYSCTL_ONE, 181 }, 182 { 183 .procname = "cache_limit_mbytes", 184 .data = &vm_cache_limit_mbytes, 185 .maxlen = sizeof(vm_cache_limit_mbytes), 186 .mode = 0644, > 187 .proc_handler = cache_limit_mbytes_sysctl_handler, 188 }, 189 }; 190 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki
1 0
0 0
  • ← Newer
  • 1
  • ...
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • ...
  • 444
  • Older →

HyperKitty Powered by HyperKitty