Hi Joey,

kernel test robot noticed the following build errors:

[auto build test ERROR on 9b2ffa6148b1e4468d08f7e0e7e371c43cac9ffe]

url:    
https://github.com/intel-lab-lkp/linux/commits/Jiao-Joey/kcov-introduce-new-kcov-KCOV_TRACE_UNIQ_PC-mode/20250114-133713
base:   9b2ffa6148b1e4468d08f7e0e7e371c43cac9ffe
patch link:    
https://lore.kernel.org/r/20250114-kcov-v1-4-004294b931a2%40quicinc.com
patch subject: [PATCH 4/7] kcov: introduce new kcov KCOV_TRACE_UNIQ_CMP mode
config: mips-randconfig-r073-20250124 
(https://download.01.org/0day-ci/archive/20250124/202501240959.61xlxbyf-...@intel.com/config)
compiler: mips-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): 
(https://download.01.org/0day-ci/archive/20250124/202501240959.61xlxbyf-...@intel.com/reproduce)

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 <l...@intel.com>
| Closes: 
https://lore.kernel.org/oe-kbuild-all/202501240959.61xlxbyf-...@intel.com/

All errors (new ones prefixed by >>):

   kernel/kcov.c: In function 'kcov_map_add':
>> kernel/kcov.c:309:60: error: 'struct kcov_entry' has no member named 'type'
     309 |                         if (entry->ent == ent->ent && entry->type == 
ent->type &&
         |                                                            ^~
   kernel/kcov.c:309:73: error: 'struct kcov_entry' has no member named 'type'
     309 |                         if (entry->ent == ent->ent && entry->type == 
ent->type &&
         |                                                                      
   ^~
>> kernel/kcov.c:310:34: error: 'struct kcov_entry' has no member named 'arg1'
     310 |                             entry->arg1 == ent->arg1 && entry->arg2 
== ent->arg2) {
         |                                  ^~
   kernel/kcov.c:310:47: error: 'struct kcov_entry' has no member named 'arg1'
     310 |                             entry->arg1 == ent->arg1 && entry->arg2 
== ent->arg2) {
         |                                               ^~
>> kernel/kcov.c:310:62: error: 'struct kcov_entry' has no member named 'arg2'
     310 |                             entry->arg1 == ent->arg1 && entry->arg2 
== ent->arg2) {
         |                                                              ^~
   kernel/kcov.c:310:75: error: 'struct kcov_entry' has no member named 'arg2'
     310 |                             entry->arg1 == ent->arg1 && entry->arg2 
== ent->arg2) {
         |                                                                      
     ^~
   kernel/kcov.c:343:48: error: 'struct kcov_entry' has no member named 'type'
     343 |                         area[start_index] = ent->type;
         |                                                ^~
   kernel/kcov.c:344:52: error: 'struct kcov_entry' has no member named 'arg1'
     344 |                         area[start_index + 1] = ent->arg1;
         |                                                    ^~
   kernel/kcov.c:345:52: error: 'struct kcov_entry' has no member named 'arg2'
     345 |                         area[start_index + 2] = ent->arg2;
         |                                                    ^~


vim +309 kernel/kcov.c

   290  
   291  static notrace inline void kcov_map_add(struct kcov_map *map, struct 
kcov_entry *ent,
   292                                          struct task_struct *t, unsigned 
int mode)
   293  {
   294          struct kcov *kcov;
   295          struct kcov_entry *entry;
   296          unsigned int key = hash_key(ent);
   297          unsigned long pos, start_index, end_pos, max_pos, *area;
   298  
   299          kcov = t->kcov;
   300  
   301          if ((mode == KCOV_MODE_TRACE_UNIQ_PC ||
   302               mode == KCOV_MODE_TRACE_UNIQ_EDGE))
   303                  hash_for_each_possible_rcu(map->buckets, entry, node, 
key) {
   304                          if (entry->ent == ent->ent)
   305                                  return;
   306                  }
   307          else
   308                  hash_for_each_possible_rcu(map->buckets, entry, node, 
key) {
 > 309                          if (entry->ent == ent->ent && entry->type == 
 > ent->type &&
 > 310                              entry->arg1 == ent->arg1 && entry->arg2 == 
 > ent->arg2) {
   311                                  return;
   312                          }
   313                  }
   314  
   315          entry = (struct kcov_entry *)gen_pool_alloc(map->pool, 1 << 
MIN_POOL_ALLOC_ORDER);
   316          if (unlikely(!entry))
   317                  return;
   318  
   319          barrier();
   320          memcpy(entry, ent, sizeof(*entry));
   321          hash_add_rcu(map->buckets, &entry->node, key);
   322  
   323          if (mode == KCOV_MODE_TRACE_UNIQ_PC || mode == 
KCOV_MODE_TRACE_UNIQ_CMP)
   324                  area = t->kcov_area;
   325          else
   326                  area = kcov->map_edge->area;
   327  
   328          pos = READ_ONCE(area[0]) + 1;
   329          if (mode == KCOV_MODE_TRACE_UNIQ_PC || mode == 
KCOV_MODE_TRACE_UNIQ_EDGE) {
   330                  if (likely(pos < t->kcov_size)) {
   331                          WRITE_ONCE(area[0], pos);
   332                          barrier();
   333                          area[pos] = ent->ent;
   334                  }
   335          } else {
   336                  start_index = 1 + (pos - 1) * KCOV_WORDS_PER_CMP;
   337                  max_pos = t->kcov_size * sizeof(unsigned long);
   338                  end_pos = (start_index + KCOV_WORDS_PER_CMP) * 
sizeof(u64);
   339                  if (likely(end_pos <= max_pos)) {
   340                          /* See comment in __sanitizer_cov_trace_pc(). */
   341                          WRITE_ONCE(area[0], pos);
   342                          barrier();
   343                          area[start_index] = ent->type;
   344                          area[start_index + 1] = ent->arg1;
   345                          area[start_index + 2] = ent->arg2;
   346                          area[start_index + 3] = ent->ent;
   347                  }
   348          }
   349  }
   350  

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

Reply via email to