Building the Linux kernel with Clang and LLVM
 help / color / mirror / Atom feed
* Re: [PATCH] nsfs: add pid translation ioctls
       [not found] <20240619-work-ns_ioctl-v1-1-7c0097e6bb6b@kernel.org>
@ 2024-06-19 23:22 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-06-19 23:22 UTC (permalink / raw)
  To: Christian Brauner; +Cc: llvm, oe-kbuild-all

Hi Christian,

kernel test robot noticed the following build errors:

[auto build test ERROR on 1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0]

url:    https://github.com/intel-lab-lkp/linux/commits/Christian-Brauner/nsfs-add-pid-translation-ioctls/20240619-215147
base:   1613e604df0cd359cf2a7fbd9be7a0bcfacfabd0
patch link:    https://lore.kernel.org/r/20240619-work-ns_ioctl-v1-1-7c0097e6bb6b%40kernel.org
patch subject: [PATCH] nsfs: add pid translation ioctls
config: i386-buildonly-randconfig-002-20240620 (https://download.01.org/0day-ci/archive/20240620/202406200732.CNSrrOEG-lkp@intel.com/config)
compiler: clang version 18.1.5 (https://github.com/llvm/llvm-project 617a15a9eac96088ae5e9134248d8236e34b91b1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240620/202406200732.CNSrrOEG-lkp@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 <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202406200732.CNSrrOEG-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/nsfs.c:193:2: error: cannot jump from switch statement to this case label
     193 |         default:
         |         ^
   fs/nsfs.c:163:3: note: jump bypasses initialization of variable with __attribute__((cleanup))
     163 |                 guard(rcu)();
         |                 ^
   include/linux/cleanup.h:164:15: note: expanded from macro 'guard'
     164 |         CLASS(_name, __UNIQUE_ID(guard))
         |                      ^
   include/linux/compiler.h:189:29: note: expanded from macro '__UNIQUE_ID'
     189 | #define __UNIQUE_ID(prefix) __PASTE(__PASTE(__UNIQUE_ID_, prefix), __COUNTER__)
         |                             ^
   include/linux/compiler_types.h:84:22: note: expanded from macro '__PASTE'
      84 | #define __PASTE(a,b) ___PASTE(a,b)
         |                      ^
   include/linux/compiler_types.h:83:23: note: expanded from macro '___PASTE'
      83 | #define ___PASTE(a,b) a##b
         |                       ^
   <scratch space>:95:1: note: expanded from here
      95 | __UNIQUE_ID_guard305
         | ^
   1 error generated.


vim +193 fs/nsfs.c

6786741dbf99e4 Andrey Vagin                2016-09-06  123  
6786741dbf99e4 Andrey Vagin                2016-09-06  124  static long ns_ioctl(struct file *filp, unsigned int ioctl,
6786741dbf99e4 Andrey Vagin                2016-09-06  125  			unsigned long arg)
6786741dbf99e4 Andrey Vagin                2016-09-06  126  {
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  127) 	struct user_namespace *user_ns;
db2704dabb53ec Christian Brauner           2024-06-19  128  	struct pid_namespace *pid_ns;
db2704dabb53ec Christian Brauner           2024-06-19  129  	struct task_struct *tsk;
6786741dbf99e4 Andrey Vagin                2016-09-06  130  	struct ns_common *ns = get_proc_ns(file_inode(filp));
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  131) 	uid_t __user *argp;
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  132) 	uid_t uid;
db2704dabb53ec Christian Brauner           2024-06-19  133  	pid_t pid_nr;
6786741dbf99e4 Andrey Vagin                2016-09-06  134  
6786741dbf99e4 Andrey Vagin                2016-09-06  135  	switch (ioctl) {
6786741dbf99e4 Andrey Vagin                2016-09-06  136  	case NS_GET_USERNS:
6786741dbf99e4 Andrey Vagin                2016-09-06  137  		return open_related_ns(ns, ns_get_owner);
a7306ed8d94af7 Andrey Vagin                2016-09-06  138  	case NS_GET_PARENT:
a7306ed8d94af7 Andrey Vagin                2016-09-06  139  		if (!ns->ops->get_parent)
a7306ed8d94af7 Andrey Vagin                2016-09-06  140  			return -EINVAL;
a7306ed8d94af7 Andrey Vagin                2016-09-06  141  		return open_related_ns(ns, ns->ops->get_parent);
e5ff5ce6e20ee2 Michael Kerrisk (man-pages  2017-01-25  142) 	case NS_GET_NSTYPE:
e5ff5ce6e20ee2 Michael Kerrisk (man-pages  2017-01-25  143) 		return ns->ops->type;
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  144) 	case NS_GET_OWNER_UID:
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  145) 		if (ns->ops->type != CLONE_NEWUSER)
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  146) 			return -EINVAL;
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  147) 		user_ns = container_of(ns, struct user_namespace, ns);
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  148) 		argp = (uid_t __user *) arg;
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  149) 		uid = from_kuid_munged(current_user_ns(), user_ns->owner);
d95fa3c76a66b6 Michael Kerrisk (man-pages  2017-01-25  150) 		return put_user(uid, argp);
db2704dabb53ec Christian Brauner           2024-06-19  151  	case NS_GET_PID_FROM_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  152  		fallthrough;
db2704dabb53ec Christian Brauner           2024-06-19  153  	case NS_GET_TGID_FROM_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  154  		fallthrough;
db2704dabb53ec Christian Brauner           2024-06-19  155  	case NS_GET_PID_IN_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  156  		fallthrough;
db2704dabb53ec Christian Brauner           2024-06-19  157  	case NS_GET_TGID_IN_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  158  		if (ns->ops->type != CLONE_NEWPID)
db2704dabb53ec Christian Brauner           2024-06-19  159  			return -EINVAL;
db2704dabb53ec Christian Brauner           2024-06-19  160  
db2704dabb53ec Christian Brauner           2024-06-19  161  		pid_ns = container_of(ns, struct pid_namespace, ns);
db2704dabb53ec Christian Brauner           2024-06-19  162  
db2704dabb53ec Christian Brauner           2024-06-19  163  		guard(rcu)();
db2704dabb53ec Christian Brauner           2024-06-19  164  		if (ioctl == NS_GET_PID_IN_PIDNS ||
db2704dabb53ec Christian Brauner           2024-06-19  165  		    ioctl == NS_GET_TGID_IN_PIDNS)
db2704dabb53ec Christian Brauner           2024-06-19  166  			tsk = find_task_by_vpid(arg);
db2704dabb53ec Christian Brauner           2024-06-19  167  		else
db2704dabb53ec Christian Brauner           2024-06-19  168  			tsk = find_task_by_pid_ns(arg, pid_ns);
db2704dabb53ec Christian Brauner           2024-06-19  169  		if (!tsk)
db2704dabb53ec Christian Brauner           2024-06-19  170  			return -ESRCH;
db2704dabb53ec Christian Brauner           2024-06-19  171  
db2704dabb53ec Christian Brauner           2024-06-19  172  		switch (ioctl) {
db2704dabb53ec Christian Brauner           2024-06-19  173  		case NS_GET_PID_FROM_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  174  			pid_nr = task_pid_vnr(tsk);
db2704dabb53ec Christian Brauner           2024-06-19  175  			break;
db2704dabb53ec Christian Brauner           2024-06-19  176  		case NS_GET_TGID_FROM_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  177  			pid_nr = task_tgid_vnr(tsk);
db2704dabb53ec Christian Brauner           2024-06-19  178  			break;
db2704dabb53ec Christian Brauner           2024-06-19  179  		case NS_GET_PID_IN_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  180  			pid_nr = task_pid_nr_ns(tsk, pid_ns);
db2704dabb53ec Christian Brauner           2024-06-19  181  			break;
db2704dabb53ec Christian Brauner           2024-06-19  182  		case NS_GET_TGID_IN_PIDNS:
db2704dabb53ec Christian Brauner           2024-06-19  183  			pid_nr = task_tgid_nr_ns(tsk, pid_ns);
db2704dabb53ec Christian Brauner           2024-06-19  184  			break;
db2704dabb53ec Christian Brauner           2024-06-19  185  		default:
db2704dabb53ec Christian Brauner           2024-06-19  186  			pid_nr = 0;
db2704dabb53ec Christian Brauner           2024-06-19  187  			break;
db2704dabb53ec Christian Brauner           2024-06-19  188  		}
db2704dabb53ec Christian Brauner           2024-06-19  189  		if (!pid_nr)
db2704dabb53ec Christian Brauner           2024-06-19  190  			return -ESRCH;
db2704dabb53ec Christian Brauner           2024-06-19  191  
db2704dabb53ec Christian Brauner           2024-06-19  192  		return pid_nr;
6786741dbf99e4 Andrey Vagin                2016-09-06 @193  	default:
6786741dbf99e4 Andrey Vagin                2016-09-06  194  		return -ENOTTY;
6786741dbf99e4 Andrey Vagin                2016-09-06  195  	}
6786741dbf99e4 Andrey Vagin                2016-09-06  196  }
6786741dbf99e4 Andrey Vagin                2016-09-06  197  

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

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2024-06-19 23:23 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20240619-work-ns_ioctl-v1-1-7c0097e6bb6b@kernel.org>
2024-06-19 23:22 ` [PATCH] nsfs: add pid translation ioctls kernel test robot

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox