llvm.lists.linux.dev archive mirror
 help / color / mirror / Atom feed
* Re: [PATCH v4] pidfd: add ioctl to retrieve pid info
       [not found] <20241004194751.215507-1-luca.boccassi@gmail.com>
@ 2024-10-05 22:26 ` kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-10-05 22:26 UTC (permalink / raw)
  To: luca.boccassi, linux-kernel; +Cc: llvm, oe-kbuild-all, christian

Hi,

kernel test robot noticed the following build errors:

[auto build test ERROR on 9852d85ec9d492ebef56dc5f229416c925758edc]

url:    https://github.com/intel-lab-lkp/linux/commits/luca-boccassi-gmail-com/pidfd-add-ioctl-to-retrieve-pid-info/20241005-041639
base:   9852d85ec9d492ebef56dc5f229416c925758edc
patch link:    https://lore.kernel.org/r/20241004194751.215507-1-luca.boccassi%40gmail.com
patch subject: [PATCH v4] pidfd: add ioctl to retrieve pid info
config: arm-randconfig-002-20241006 (https://download.01.org/0day-ci/archive/20241006/202410060624.Z84m82vK-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20241006/202410060624.Z84m82vK-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/202410060624.Z84m82vK-lkp@intel.com/

All errors (new ones prefixed by >>):

>> fs/pidfs.c:156:25: error: implicit declaration of function 'task_css_check' is invalid in C99 [-Werror,-Wimplicit-function-declaration]
                   struct cgroup *cgrp = task_css_check(task, pids_cgrp_id, 1)->cgroup;
                                         ^
   fs/pidfs.c:156:64: error: member reference type 'int' is not a pointer
                   struct cgroup *cgrp = task_css_check(task, pids_cgrp_id, 1)->cgroup;
                                         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~  ^
   fs/pidfs.c:156:46: error: use of undeclared identifier 'pids_cgrp_id'
                   struct cgroup *cgrp = task_css_check(task, pids_cgrp_id, 1)->cgroup;
                                                              ^
   3 errors generated.

Kconfig warnings: (for reference only)
   WARNING: unmet direct dependencies detected for GET_FREE_REGION
   Depends on [n]: SPARSEMEM [=n]
   Selected by [m]:
   - RESOURCE_KUNIT_TEST [=m] && RUNTIME_TESTING_MENU [=y] && KUNIT [=m]


vim +/task_css_check +156 fs/pidfs.c

   117	
   118	static long pidfd_info(struct task_struct *task, unsigned int cmd, unsigned long arg)
   119	{
   120		struct pidfd_info __user *uinfo = (struct pidfd_info __user *)arg;
   121		size_t usize = _IOC_SIZE(cmd);
   122		struct pidfd_info kinfo = {};
   123		struct user_namespace *user_ns;
   124		const struct cred *c;
   125		__u64 request_mask;
   126	
   127		if (!uinfo)
   128			return -EINVAL;
   129		if (usize < sizeof(struct pidfd_info))
   130			return -EINVAL; /* First version, no smaller struct possible */
   131	
   132		if (copy_from_user(&request_mask, &uinfo->request_mask, sizeof(request_mask)))
   133			return -EFAULT;
   134	
   135		c = get_task_cred(task);
   136		if (!c)
   137			return -ESRCH;
   138	
   139		/* Unconditionally return identifiers and credentials, the rest only on request */
   140	
   141		kinfo.pid = task_pid_vnr(task);
   142		kinfo.tgid = task_tgid_vnr(task);
   143		kinfo.ppid = task_ppid_nr_ns(task, task_active_pid_ns(task));
   144	
   145		user_ns = current_user_ns();
   146		kinfo.ruid = from_kuid_munged(user_ns, c->uid);
   147		kinfo.rgid = from_kgid_munged(user_ns, c->gid);
   148		kinfo.euid = from_kuid_munged(user_ns, c->euid);
   149		kinfo.egid = from_kgid_munged(user_ns, c->egid);
   150		kinfo.suid = from_kuid_munged(user_ns, c->suid);
   151		kinfo.sgid = from_kgid_munged(user_ns, c->sgid);
   152		kinfo.fsuid = from_kuid_munged(user_ns, c->fsuid);
   153		kinfo.fsgid = from_kgid_munged(user_ns, c->fsgid);
   154	
   155		if (request_mask & PIDFD_INFO_CGROUPID) {
 > 156			struct cgroup *cgrp = task_css_check(task, pids_cgrp_id, 1)->cgroup;
   157			if (!cgrp)
   158				return -ENODEV;
   159	
   160			kinfo.cgroupid = cgroup_id(cgrp);
   161			kinfo.result_mask |= PIDFD_INFO_CGROUPID;
   162		}
   163	
   164		/*
   165		 * If userspace and the kernel have the same struct size it can just
   166		 * be copied. If userspace provides an older struct, only the bits that
   167		 * userspace knows about will be copied. If userspace provides a new
   168		 * struct, only the bits that the kernel knows about will be copied and
   169		 * the size value will be set to the size the kernel knows about.
   170		 */
   171		if (copy_to_user(uinfo, &kinfo, min(usize, sizeof(kinfo))))
   172			return -EFAULT;
   173	
   174		return 0;
   175	}
   176	

-- 
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-10-05 22:26 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
     [not found] <20241004194751.215507-1-luca.boccassi@gmail.com>
2024-10-05 22:26 ` [PATCH v4] pidfd: add ioctl to retrieve pid info 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;
as well as URLs for NNTP newsgroup(s).