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 for Android: free password hash cracker in your pocket
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <201803171543.Kh96cmlL%fengguang.wu@intel.com>
Date:   Sat, 17 Mar 2018 15:27:43 +0800
From:   kbuild test robot <lkp@...el.com>
To:     jason.vas.dias@...il.com
Cc:     kbuild-all@...org, linux-kernel@...r.kernel.org, x86@...nel.org,
        tglx@...utronix.de, mingo@...nel.org, peterz@...radead.org,
        andi@...stfloor.org
Subject: Re: [PATCH v4.16-rc5 3/3] x86/vdso: on Intel, VDSO should handle
 CLOCK_MONOTONIC_RAW

Hi,

Thank you for the patch! Yet something to improve:

[auto build test ERROR on v4.16-rc4]
[also build test ERROR on next-20180316]
[if your patch is applied to the wrong git tree, please drop us a note to help improve the system]

url:    https://github.com/0day-ci/linux/commits/jason-vas-dias-gmail-com/x86-vdso-on-Intel-VDSO-should-handle-CLOCK_MONOTONIC_RAW/20180317-143702
config: i386-randconfig-x013-201810 (attached as .config)
compiler: gcc-7 (Debian 7.3.0-1) 7.3.0
reproduce:
        # save the attached .config to linux build tree
        make ARCH=i386 

All errors (new ones prefixed by >>):

   In file included from arch/x86/entry/vdso/vdso32/vclock_gettime.c:33:0:
   arch/x86/entry/vdso/vdso32/../vclock_gettime.c: In function '__vdso_linux_tsc_calibration':
>> arch/x86/entry/vdso/vdso32/../vclock_gettime.c:399:27: error: 'struct vsyscall_gtod_data' has no member named 'tsc_khz'
       tsc_cal->tsc_khz = gtod->tsc_khz;
                              ^~

vim +399 arch/x86/entry/vdso/vdso32/../vclock_gettime.c

   324	
   325	notrace int __vdso_clock_gettime(clockid_t clock, struct timespec *ts)
   326	{
   327		switch (clock) {
   328		case CLOCK_REALTIME:
   329			if (do_realtime(ts) == VCLOCK_NONE)
   330				goto fallback;
   331			break;
   332		case CLOCK_MONOTONIC:
   333			if (do_monotonic(ts) == VCLOCK_NONE)
   334				goto fallback;
   335			break;
   336		case CLOCK_MONOTONIC_RAW:
   337			if (do_monotonic_raw(ts) == VCLOCK_NONE)
   338				goto fallback;
   339			break;
   340		case CLOCK_REALTIME_COARSE:
   341			do_realtime_coarse(ts);
   342			break;
   343		case CLOCK_MONOTONIC_COARSE:
   344			do_monotonic_coarse(ts);
   345			break;
   346		default:
   347			goto fallback;
   348		}
   349	
   350		return 0;
   351	fallback:
   352		return vdso_fallback_gettime(clock, ts);
   353	}
   354	int clock_gettime(clockid_t, struct timespec *)
   355		__attribute__((weak, alias("__vdso_clock_gettime")));
   356	
   357	notrace int __vdso_gettimeofday(struct timeval *tv, struct timezone *tz)
   358	{
   359		if (likely(tv != NULL)) {
   360			if (unlikely(do_realtime((struct timespec *)tv) == VCLOCK_NONE))
   361				return vdso_fallback_gtod(tv, tz);
   362			tv->tv_usec /= 1000;
   363		}
   364		if (unlikely(tz != NULL)) {
   365			tz->tz_minuteswest = gtod->tz_minuteswest;
   366			tz->tz_dsttime = gtod->tz_dsttime;
   367		}
   368	
   369		return 0;
   370	}
   371	int gettimeofday(struct timeval *, struct timezone *)
   372		__attribute__((weak, alias("__vdso_gettimeofday")));
   373	
   374	/*
   375	 * This will break when the xtime seconds get inaccurate, but that is
   376	 * unlikely
   377	 */
   378	notrace time_t __vdso_time(time_t *t)
   379	{
   380		/* This is atomic on x86 so we don't need any locks. */
   381		time_t result = READ_ONCE(gtod->wall_time_sec);
   382	
   383		if (t)
   384			*t = result;
   385		return result;
   386	}
   387	time_t time(time_t *t)
   388		__attribute__((weak, alias("__vdso_time")));
   389	
   390	notrace	unsigned int
   391	__vdso_linux_tsc_calibration(struct linux_tsc_calibration_s *tsc_cal)
   392	{
   393		unsigned long seq;
   394	
   395		do {
   396			seq = gtod_read_begin(gtod);
   397			if ((gtod->vclock_mode == VCLOCK_TSC) &&
   398			    (tsc_cal != ((void *)0UL))) {
 > 399				tsc_cal->tsc_khz = gtod->tsc_khz;
   400				tsc_cal->mult    = gtod->raw_mult;
   401				tsc_cal->shift   = gtod->raw_shift;
   402				return 1;
   403			}
   404		} while (unlikely(gtod_read_retry(gtod, seq)));
   405	
   406		return 0;
   407	}
   408	

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation

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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ