lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Tue, 9 Nov 2021 13:17:19 +0800
From:   kernel test robot <lkp@...el.com>
To:     Stephen Rothwell <sfr@...b.auug.org.au>
Cc:     kbuild-all@...ts.01.org, linux-kernel@...r.kernel.org
Subject: arch/nds32/kernel/vdso/gettimeofday.c:246:13: error: no previous
 prototype for '__vdso_gettimeofday'

Hi Stephen,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   d2f38a3c6507b2520101f9a3807ed98f1bdc545a
commit: 20fbb11fe4ea99e02d77824613f1438bea456683 don't make the syscall checking produce errors from warnings
date:   9 weeks ago
config: nds32-allyesconfig (attached as .config)
compiler: nds32le-linux-gcc (GCC) 11.2.0
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=20fbb11fe4ea99e02d77824613f1438bea456683
        git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
        git fetch --no-tags linus master
        git checkout 20fbb11fe4ea99e02d77824613f1438bea456683
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=nds32 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@...el.com>

All errors (new ones prefixed by >>):

   <stdin>:1515:2: warning: #warning syscall clone3 not implemented [-Wcpp]
   arch/nds32/kernel/vdso/gettimeofday.c:158:13: error: no previous prototype for '__vdso_clock_gettime' [-Werror=missing-prototypes]
     158 | notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec *ts)
         |             ^~~~~~~~~~~~~~~~~~~~
   arch/nds32/kernel/vdso/gettimeofday.c:206:13: error: no previous prototype for '__vdso_clock_getres' [-Werror=missing-prototypes]
     206 | notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec *res)
         |             ^~~~~~~~~~~~~~~~~~~
>> arch/nds32/kernel/vdso/gettimeofday.c:246:13: error: no previous prototype for '__vdso_gettimeofday' [-Werror=missing-prototypes]
     246 | notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
         |             ^~~~~~~~~~~~~~~~~~~
   cc1: all warnings being treated as errors
   make[2]: *** [scripts/Makefile.build:277: arch/nds32/kernel/vdso/gettimeofday.o] Error 1
   make[2]: Target 'include/generated/vdso-offsets.h' not remade because of errors.
   make[1]: *** [arch/nds32/Makefile:63: vdso_prepare] Error 2
   make[1]: Target 'prepare' not remade because of errors.
   make: *** [Makefile:219: __sub-make] Error 2
   make: Target 'prepare' not remade because of errors.


vim +/__vdso_gettimeofday +246 arch/nds32/kernel/vdso/gettimeofday.c

eefacd1dfe38a3 Greentime Hu      2017-10-25  157  
82210fc778982d Arnd Bergmann     2019-10-27 @158  notrace int __vdso_clock_gettime(clockid_t clkid, struct __kernel_old_timespec *ts)
eefacd1dfe38a3 Greentime Hu      2017-10-25  159  {
eefacd1dfe38a3 Greentime Hu      2017-10-25  160  	struct vdso_data *vdata;
eefacd1dfe38a3 Greentime Hu      2017-10-25  161  	int ret = -1;
eefacd1dfe38a3 Greentime Hu      2017-10-25  162  
eefacd1dfe38a3 Greentime Hu      2017-10-25  163  	vdata = __get_datapage();
eefacd1dfe38a3 Greentime Hu      2017-10-25  164  	if (vdata->cycle_count_offset == EMPTY_REG_OFFSET)
eefacd1dfe38a3 Greentime Hu      2017-10-25  165  		return clock_gettime_fallback(clkid, ts);
eefacd1dfe38a3 Greentime Hu      2017-10-25  166  
eefacd1dfe38a3 Greentime Hu      2017-10-25  167  	switch (clkid) {
eefacd1dfe38a3 Greentime Hu      2017-10-25  168  	case CLOCK_REALTIME_COARSE:
eefacd1dfe38a3 Greentime Hu      2017-10-25  169  		ret = do_realtime_coarse(ts, vdata);
eefacd1dfe38a3 Greentime Hu      2017-10-25  170  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  171  	case CLOCK_MONOTONIC_COARSE:
eefacd1dfe38a3 Greentime Hu      2017-10-25  172  		ret = do_monotonic_coarse(ts, vdata);
eefacd1dfe38a3 Greentime Hu      2017-10-25  173  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  174  	case CLOCK_REALTIME:
eefacd1dfe38a3 Greentime Hu      2017-10-25  175  		ret = do_realtime(ts, vdata);
eefacd1dfe38a3 Greentime Hu      2017-10-25  176  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  177  	case CLOCK_MONOTONIC:
eefacd1dfe38a3 Greentime Hu      2017-10-25  178  		ret = do_monotonic(ts, vdata);
eefacd1dfe38a3 Greentime Hu      2017-10-25  179  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  180  	default:
eefacd1dfe38a3 Greentime Hu      2017-10-25  181  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  182  	}
eefacd1dfe38a3 Greentime Hu      2017-10-25  183  
eefacd1dfe38a3 Greentime Hu      2017-10-25  184  	if (ret)
eefacd1dfe38a3 Greentime Hu      2017-10-25  185  		ret = clock_gettime_fallback(clkid, ts);
eefacd1dfe38a3 Greentime Hu      2017-10-25  186  
eefacd1dfe38a3 Greentime Hu      2017-10-25  187  	return ret;
eefacd1dfe38a3 Greentime Hu      2017-10-25  188  }
eefacd1dfe38a3 Greentime Hu      2017-10-25  189  
eefacd1dfe38a3 Greentime Hu      2017-10-25  190  static notrace int clock_getres_fallback(clockid_t _clk_id,
82210fc778982d Arnd Bergmann     2019-10-27  191  					  struct __kernel_old_timespec *_res)
eefacd1dfe38a3 Greentime Hu      2017-10-25  192  {
eefacd1dfe38a3 Greentime Hu      2017-10-25  193  	register clockid_t clk_id asm("$r0") = _clk_id;
82210fc778982d Arnd Bergmann     2019-10-27  194  	register struct __kernel_old_timespec *res asm("$r1") = _res;
eefacd1dfe38a3 Greentime Hu      2017-10-25  195  	register int ret asm("$r0");
eefacd1dfe38a3 Greentime Hu      2017-10-25  196  
eefacd1dfe38a3 Greentime Hu      2017-10-25  197  	asm volatile ("movi	$r15, %3\n"
eefacd1dfe38a3 Greentime Hu      2017-10-25  198  		      "syscall	0x0\n"
eefacd1dfe38a3 Greentime Hu      2017-10-25  199  		      :"=r" (ret)
eefacd1dfe38a3 Greentime Hu      2017-10-25  200  		      :"r"(clk_id), "r"(res), "i"(__NR_clock_getres)
eefacd1dfe38a3 Greentime Hu      2017-10-25  201  		      :"$r15", "memory");
eefacd1dfe38a3 Greentime Hu      2017-10-25  202  
eefacd1dfe38a3 Greentime Hu      2017-10-25  203  	return ret;
eefacd1dfe38a3 Greentime Hu      2017-10-25  204  }
eefacd1dfe38a3 Greentime Hu      2017-10-25  205  
82210fc778982d Arnd Bergmann     2019-10-27  206  notrace int __vdso_clock_getres(clockid_t clk_id, struct __kernel_old_timespec *res)
eefacd1dfe38a3 Greentime Hu      2017-10-25  207  {
af9abd65983cf3 Vincenzo Frascino 2019-04-01  208  	struct vdso_data *vdata = __get_datapage();
af9abd65983cf3 Vincenzo Frascino 2019-04-01  209  
eefacd1dfe38a3 Greentime Hu      2017-10-25  210  	if (res == NULL)
eefacd1dfe38a3 Greentime Hu      2017-10-25  211  		return 0;
eefacd1dfe38a3 Greentime Hu      2017-10-25  212  	switch (clk_id) {
eefacd1dfe38a3 Greentime Hu      2017-10-25  213  	case CLOCK_REALTIME:
eefacd1dfe38a3 Greentime Hu      2017-10-25  214  	case CLOCK_MONOTONIC:
eefacd1dfe38a3 Greentime Hu      2017-10-25  215  	case CLOCK_MONOTONIC_RAW:
eefacd1dfe38a3 Greentime Hu      2017-10-25  216  		res->tv_sec = 0;
af9abd65983cf3 Vincenzo Frascino 2019-04-01  217  		res->tv_nsec = vdata->hrtimer_res;
eefacd1dfe38a3 Greentime Hu      2017-10-25  218  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  219  	case CLOCK_REALTIME_COARSE:
eefacd1dfe38a3 Greentime Hu      2017-10-25  220  	case CLOCK_MONOTONIC_COARSE:
eefacd1dfe38a3 Greentime Hu      2017-10-25  221  		res->tv_sec = 0;
eefacd1dfe38a3 Greentime Hu      2017-10-25  222  		res->tv_nsec = CLOCK_COARSE_RES;
eefacd1dfe38a3 Greentime Hu      2017-10-25  223  		break;
eefacd1dfe38a3 Greentime Hu      2017-10-25  224  	default:
eefacd1dfe38a3 Greentime Hu      2017-10-25  225  		return clock_getres_fallback(clk_id, res);
eefacd1dfe38a3 Greentime Hu      2017-10-25  226  	}
eefacd1dfe38a3 Greentime Hu      2017-10-25  227  	return 0;
eefacd1dfe38a3 Greentime Hu      2017-10-25  228  }
eefacd1dfe38a3 Greentime Hu      2017-10-25  229  
ddccf40fe82b7a Arnd Bergmann     2017-11-23  230  static notrace inline int gettimeofday_fallback(struct __kernel_old_timeval *_tv,
eefacd1dfe38a3 Greentime Hu      2017-10-25  231  						struct timezone *_tz)
eefacd1dfe38a3 Greentime Hu      2017-10-25  232  {
ddccf40fe82b7a Arnd Bergmann     2017-11-23  233  	register struct __kernel_old_timeval *tv asm("$r0") = _tv;
eefacd1dfe38a3 Greentime Hu      2017-10-25  234  	register struct timezone *tz asm("$r1") = _tz;
eefacd1dfe38a3 Greentime Hu      2017-10-25  235  	register int ret asm("$r0");
eefacd1dfe38a3 Greentime Hu      2017-10-25  236  
eefacd1dfe38a3 Greentime Hu      2017-10-25  237  	asm volatile ("movi	$r15, %3\n"
eefacd1dfe38a3 Greentime Hu      2017-10-25  238  		      "syscall	0x0\n"
eefacd1dfe38a3 Greentime Hu      2017-10-25  239  		      :"=r" (ret)
eefacd1dfe38a3 Greentime Hu      2017-10-25  240  		      :"r"(tv), "r"(tz), "i"(__NR_gettimeofday)
eefacd1dfe38a3 Greentime Hu      2017-10-25  241  		      :"$r15", "memory");
eefacd1dfe38a3 Greentime Hu      2017-10-25  242  
eefacd1dfe38a3 Greentime Hu      2017-10-25  243  	return ret;
eefacd1dfe38a3 Greentime Hu      2017-10-25  244  }
eefacd1dfe38a3 Greentime Hu      2017-10-25  245  
ddccf40fe82b7a Arnd Bergmann     2017-11-23 @246  notrace int __vdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)

:::::: The code at line 246 was first introduced by commit
:::::: ddccf40fe82b7ac7c44b186ec4b6d1d1bbc2cbff y2038: vdso: change timeval to __kernel_old_timeval

:::::: TO: Arnd Bergmann <arnd@...db.de>
:::::: CC: Arnd Bergmann <arnd@...db.de>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org

Download attachment ".config.gz" of type "application/gzip" (61630 bytes)

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ