* 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