tree:   
https://kernel.googlesource.com/pub/scm/linux/kernel/git/paulmck/linux-rcu.git 
dev.2019.09.23a
head:   97de53b94582c208ee239178b208b8e8b9472585
commit: 06b68648e6084488b79de47a2cfa307a1b9668b9 [65/77] rcu: Remove 
kfree_rcu() special casing and lazy-callback handling
config: x86_64-randconfig-c004-201938 (attached as .config)
compiler: gcc-7 (Debian 7.4.0-13) 7.4.0
reproduce:
        git checkout 06b68648e6084488b79de47a2cfa307a1b9668b9
        # save the attached .config to linux build tree
        make ARCH=x86_64 

If you fix the issue, kindly add following tag
Reported-by: kbuild test robot <l...@intel.com>

All errors (new ones prefixed by >>):

   kernel//rcu/tree.c: In function 'kfree_rcu_work':
>> kernel//rcu/tree.c:2770:3: error: implicit declaration of function 'kfree'; 
>> did you mean 'kvfree'? [-Werror=implicit-function-declaration]
      kfree((void *)head - offset);
      ^~~~~
      kvfree
   cc1: some warnings being treated as errors

vim +2770 kernel//rcu/tree.c

  2739  
  2740  /*
  2741   * This function is invoked in workqueue context after a grace period.
  2742   * It frees all the objects queued on ->head_free.
  2743   */
  2744  static void kfree_rcu_work(struct work_struct *work)
  2745  {
  2746          unsigned long flags;
  2747          struct rcu_head *head, *next;
  2748          struct kfree_rcu_cpu *krcp;
  2749          struct kfree_rcu_cpu_work *krwp;
  2750  
  2751          krwp = container_of(to_rcu_work(work),
  2752                              struct kfree_rcu_cpu_work, rcu_work);
  2753          krcp = krwp->krcp;
  2754          spin_lock_irqsave(&krcp->lock, flags);
  2755          head = krwp->head_free;
  2756          krwp->head_free = NULL;
  2757          spin_unlock_irqrestore(&krcp->lock, flags);
  2758  
  2759          // List "head" is now private, so traverse locklessly.
  2760          for (; head; head = next) {
  2761                  unsigned long offset = (unsigned long)head->func;
  2762  
  2763                  next = head->next;
  2764                  // Potentially optimize with kfree_bulk in future.
  2765                  debug_rcu_head_unqueue(head);
  2766                  rcu_lock_acquire(&rcu_callback_map);
  2767                  trace_rcu_invoke_kfree_callback(rcu_state.name, head, 
offset);
  2768  
  2769                  /* Could be possible to optimize with kfree_bulk in 
future */
> 2770                  kfree((void *)head - offset);
  2771  
  2772                  rcu_lock_release(&rcu_callback_map);
  2773                  cond_resched_tasks_rcu_qs();
  2774          }
  2775  }
  2776  

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

Attachment: .config.gz
Description: application/gzip

Reply via email to