Re: [PATCH 3/8] pid.c: Add IDR implementation for alloc_pid and free_pid

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Gargi,

[auto build test ERROR on v4.12]
[also build test ERROR on next-20170714]
[cannot apply to linus/master linux/master]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/Gargi-Sharma/PID-allocation-IDR-implementation/20170714-222423
config: i386-tinyconfig (attached as .config)
compiler: gcc-6 (Debian 6.2.0-3) 6.2.0 20160901
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

Note: the linux-review/Gargi-Sharma/PID-allocation-IDR-implementation/20170714-222423 HEAD db80192d82a732efb1f5ea0b2c923a94cf31c64e builds fine.
      It only hurts bisectibility.

All errors (new ones prefixed by >>):

   kernel/pid.c: In function 'free_pid':
>> kernel/pid.c:294:17: error: 'struct pid_namespace' has no member named 'idr_mutex_lock'
      mutex_lock(&ns->idr_mutex_lock);
                    ^~
>> kernel/pid.c:295:16: error: 'struct pid_namespace' has no member named 'idr'
      idr_remove(ns->idr, upid->nr);
                   ^~
   kernel/pid.c:296:19: error: 'struct pid_namespace' has no member named 'idr_mutex_lock'
      mutex_unlock(&ns->idr_mutex_lock);
                      ^~
   kernel/pid.c: In function 'alloc_pid':
   kernel/pid.c:320:17: error: 'struct pid_namespace' has no member named 'idr_mutex_lock'
      mutex_lock(&ns->idr_mutex_lock);
                    ^~
   kernel/pid.c:321:28: error: 'struct pid_namespace' has no member named 'idr'
      nr = idr_alloc_cyclic(tmp->idr, ns, RESERVED_PIDS,
                               ^~
   kernel/pid.c:324:19: error: 'struct pid_namespace' has no member named 'idr_mutex_lock'
      mutex_unlock(&ns->idr_mutex_lock);
                      ^~
   kernel/pid.c:368:16: error: 'struct pid_namespace' has no member named 'idr'
      idr_remove(ns->idr, (pid->numbers + i)->nr);
                   ^~
   kernel/pid.c:369:19: error: 'struct pid_namespace' has no member named 'idr_mutex_lock'
      mutex_unlock(&ns->idr_mutex_lock);
                      ^~
   At top level:
   kernel/pid.c:153:12: warning: 'alloc_pidmap' defined but not used [-Wunused-function]
    static int alloc_pidmap(struct pid_namespace *pid_ns)
               ^~~~~~~~~~~~
   kernel/pid.c:104:13: warning: 'free_pidmap' defined but not used [-Wunused-function]
    static void free_pidmap(struct upid *upid)
                ^~~~~~~~~~~

vim +294 kernel/pid.c

   257	
   258	void free_pid(struct pid *pid)
   259	{
   260		/* We can be called with write_lock_irq(&tasklist_lock) held */
   261		int i;
   262		unsigned long flags;
   263	
   264		spin_lock_irqsave(&pidmap_lock, flags);
   265		for (i = 0; i <= pid->level; i++) {
   266			struct upid *upid = pid->numbers + i;
   267			struct pid_namespace *ns = upid->ns;
   268			hlist_del_rcu(&upid->pid_chain);
   269			switch(--ns->nr_hashed) {
   270			case 2:
   271			case 1:
   272				/* When all that is left in the pid namespace
   273				 * is the reaper wake up the reaper.  The reaper
   274				 * may be sleeping in zap_pid_ns_processes().
   275				 */
   276				wake_up_process(ns->child_reaper);
   277				break;
   278			case PIDNS_HASH_ADDING:
   279				/* Handle a fork failure of the first process */
   280				WARN_ON(ns->child_reaper);
   281				ns->nr_hashed = 0;
   282				/* fall through */
   283			case 0:
   284				schedule_work(&ns->proc_work);
   285				break;
   286			}
   287		}
   288		spin_unlock_irqrestore(&pidmap_lock, flags);
   289	
   290		for (i = 0; i <= pid->level; i++) {
   291			struct upid *upid = pid->numbers + i;
   292			struct pid_namespace *ns = upid->ns;
   293	
 > 294			mutex_lock(&ns->idr_mutex_lock);
 > 295			idr_remove(ns->idr, upid->nr);
   296			mutex_unlock(&ns->idr_mutex_lock);
   297		}
   298	
   299		call_rcu(&pid->rcu, delayed_put_pid);
   300	}
   301	

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

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux