Subject: Re: [PATCH 2/3] ptp: support multiple timestamp event readers

From: kernel test robot <[email-masked]>
Date: Thu, 7 Sep 2023 06:13:51 +0800

Hi Xabier,

kernel test robot noticed the following build warnings:

[auto build test WARNING on net/main]
[also build test WARNING on net-next/main linus/master horms-ipvs/master v6.5 next-20230906]
[cannot apply to shuah-kselftest/next shuah-kselftest/fixes]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Xabier-Marquiegui/ptp-support-multiple-timestamp-event-readers/20230906-194848
base:   net/main
patch link:    https://lore.kernel.org/r/20230906104754.1324412-3-reibax%40gmail.com
patch subject: [PATCH 2/3] ptp: support multiple timestamp event readers
config: i386-randconfig-061-20230906 (https://download.01.org/0day-ci/archive/20230907/[email-masked]/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20230907/[email-masked]/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 <[email-masked]>
| Closes: https://lore.kernel.org/oe-kbuild-all/[email-masked]/

sparse warnings: (new ones prefixed by >>)
>> drivers/ptp/ptp_chardev.c:487:24: sparse: sparse: incorrect type in return expression (different base types) @@     expected restricted __poll_t @@     got int @@
   drivers/ptp/ptp_chardev.c:487:24: sparse:     expected restricted __poll_t
   drivers/ptp/ptp_chardev.c:487:24: sparse:     got int

vim +487 drivers/ptp/ptp_chardev.c

   464	
   465	__poll_t ptp_poll(struct posix_clock *pc, struct file *fp, poll_table *wait)
   466	{
   467		struct ptp_clock *ptp = container_of(pc, struct ptp_clock, clock);
   468		struct timestamp_event_queue *queue;
   469		struct list_head *pos, *n;
   470		bool found = false;
   471		pid_t reader_pid = task_pid_nr(current);
   472	
   473		poll_wait(fp, &ptp->tsev_wq, wait);
   474	
   475		/*
   476		 * Extract only the desired element in the queue list
   477		 */
   478		list_for_each_safe(pos, n, &ptp->tsevqs) {
   479			queue = list_entry(pos, struct timestamp_event_queue, qlist);
   480			if (queue->reader_pid == reader_pid) {
   481				found = true;
   482				break;
   483			}
   484		}
   485	
   486		if (!found)
 > 487			return -EINVAL;
   488	
   489		return queue_cnt(queue) ? EPOLLIN : 0;
   490	}
   491	

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