All of lore.kernel.org
 help / color / mirror / Atom feed
From: kernel test robot <lkp@intel.com>
To: oe-kbuild@lists.linux.dev
Cc: lkp@intel.com, Dan Carpenter <error27@gmail.com>
Subject: arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: right shifting more than type allows 32 vs 40
Date: Wed, 11 Feb 2026 19:09:28 +0800	[thread overview]
Message-ID: <202602111941.PIhubgrb-lkp@intel.com> (raw)

BCC: lkp@intel.com
CC: oe-kbuild-all@lists.linux.dev
CC: linux-kernel@vger.kernel.org
TO: "H. Peter Anvin" <hpa@zytor.com>
CC: Dave Hansen <dave.hansen@linux.intel.com>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   192c0159402e6bfbe13de6f8379546943297783d
commit: 693c819fedcdcabfda7488e2d5e355a84c2fd1b0 x86/entry/vdso: Refactor the vdso build
date:   4 weeks ago
:::::: branch date: 5 hours ago
:::::: commit date: 4 weeks ago
config: x86_64-randconfig-161-20260210 (https://download.01.org/0day-ci/archive/20260211/202602111941.PIhubgrb-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8994-gd50c5a4c

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>
| Reported-by: Dan Carpenter <error27@gmail.com>
| Closes: https://lore.kernel.org/r/202602111941.PIhubgrb-lkp@intel.com/

smatch warnings:
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: right shifting more than type allows 32 vs 40
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: bitwise AND condition is false here
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:454 __cvdso_clock_getres_common() warn: right shifting more than type allows 32 vs 40
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:454 __cvdso_clock_getres_common() warn: bitwise AND condition is false here

vim +308 arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c

cd3557a7618bf5 Thomas Weißschuh   2025-07-01  286  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  287  static __always_inline bool
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  288  __cvdso_clock_gettime_common(const struct vdso_time_data *vd, clockid_t clock,
e876f0b69dc993 Christophe Leroy   2020-02-07  289  			     struct __kernel_timespec *ts)
00b26474c2f161 Vincenzo Frascino  2019-06-21  290  {
886653e3663917 Anna-Maria Behnsen 2025-03-03  291  	const struct vdso_clock *vc = vd->clock_data;
00b26474c2f161 Vincenzo Frascino  2019-06-21  292  	u32 msk;
00b26474c2f161 Vincenzo Frascino  2019-06-21  293  
1a1cd5fe881fdf Thomas Weißschuh   2025-07-01  294  	if (!vdso_clockid_valid(clock))
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  295  		return false;
00b26474c2f161 Vincenzo Frascino  2019-06-21  296  
00b26474c2f161 Vincenzo Frascino  2019-06-21  297  	/*
00b26474c2f161 Vincenzo Frascino  2019-06-21  298  	 * Convert the clockid to a bitmask and use it to check which
00b26474c2f161 Vincenzo Frascino  2019-06-21  299  	 * clocks are handled in the VDSO directly.
00b26474c2f161 Vincenzo Frascino  2019-06-21  300  	 */
00b26474c2f161 Vincenzo Frascino  2019-06-21  301  	msk = 1U << clock;
8463cf80529d0f Christophe Leroy   2019-12-23  302  	if (likely(msk & VDSO_HRES))
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  303  		vc = &vc[CS_HRES_COARSE];
8463cf80529d0f Christophe Leroy   2019-12-23  304  	else if (msk & VDSO_COARSE)
70067ae181f302 Anna-Maria Behnsen 2025-03-03  305  		return do_coarse(vd, &vc[CS_HRES_COARSE], clock, ts);
8463cf80529d0f Christophe Leroy   2019-12-23  306  	else if (msk & VDSO_RAW)
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  307  		vc = &vc[CS_RAW];
cd3557a7618bf5 Thomas Weißschuh   2025-07-01 @308  	else if (msk & VDSO_AUX)
cd3557a7618bf5 Thomas Weißschuh   2025-07-01  309  		return do_aux(vd, clock, ts);
c966533f8c6c45 Andrei Vagin       2019-11-12  310  	else
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  311  		return false;
c966533f8c6c45 Andrei Vagin       2019-11-12  312  
64c3613ce31a1a Anna-Maria Behnsen 2025-03-03  313  	return do_hres(vd, vc, clock, ts);
502a590a170b3b Thomas Gleixner    2019-07-28  314  }
00b26474c2f161 Vincenzo Frascino  2019-06-21  315  
502a590a170b3b Thomas Gleixner    2019-07-28  316  static __maybe_unused int
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  317  __cvdso_clock_gettime_data(const struct vdso_time_data *vd, clockid_t clock,
e876f0b69dc993 Christophe Leroy   2020-02-07  318  			   struct __kernel_timespec *ts)
502a590a170b3b Thomas Gleixner    2019-07-28  319  {
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  320  	bool ok;
502a590a170b3b Thomas Gleixner    2019-07-28  321  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  322  	ok = __cvdso_clock_gettime_common(vd, clock, ts);
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  323  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  324  	if (unlikely(!ok))
00b26474c2f161 Vincenzo Frascino  2019-06-21  325  		return clock_gettime_fallback(clock, ts);
502a590a170b3b Thomas Gleixner    2019-07-28  326  	return 0;
00b26474c2f161 Vincenzo Frascino  2019-06-21  327  }
00b26474c2f161 Vincenzo Frascino  2019-06-21  328  
e876f0b69dc993 Christophe Leroy   2020-02-07  329  static __maybe_unused int
e876f0b69dc993 Christophe Leroy   2020-02-07  330  __cvdso_clock_gettime(clockid_t clock, struct __kernel_timespec *ts)
e876f0b69dc993 Christophe Leroy   2020-02-07  331  {
df7fcbefa71090 Thomas Weißschuh   2025-02-04  332  	return __cvdso_clock_gettime_data(__arch_get_vdso_u_time_data(), clock, ts);
e876f0b69dc993 Christophe Leroy   2020-02-07  333  }
e876f0b69dc993 Christophe Leroy   2020-02-07  334  
bf279849ad5953 Vincenzo Frascino  2019-08-30  335  #ifdef BUILD_VDSO32
00b26474c2f161 Vincenzo Frascino  2019-06-21  336  static __maybe_unused int
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  337  __cvdso_clock_gettime32_data(const struct vdso_time_data *vd, clockid_t clock,
e876f0b69dc993 Christophe Leroy   2020-02-07  338  			     struct old_timespec32 *res)
00b26474c2f161 Vincenzo Frascino  2019-06-21  339  {
00b26474c2f161 Vincenzo Frascino  2019-06-21  340  	struct __kernel_timespec ts;
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  341  	bool ok;
00b26474c2f161 Vincenzo Frascino  2019-06-21  342  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  343  	ok = __cvdso_clock_gettime_common(vd, clock, &ts);
00b26474c2f161 Vincenzo Frascino  2019-06-21  344  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  345  	if (unlikely(!ok))
c60a32ea4f459f Thomas Gleixner    2019-07-30  346  		return clock_gettime32_fallback(clock, res);
502a590a170b3b Thomas Gleixner    2019-07-28  347  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  348  	/* For ok == true */
00b26474c2f161 Vincenzo Frascino  2019-06-21  349  	res->tv_sec = ts.tv_sec;
00b26474c2f161 Vincenzo Frascino  2019-06-21  350  	res->tv_nsec = ts.tv_nsec;
a279235ddbe975 Vincenzo Frascino  2019-08-30  351  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  352  	return 0;
00b26474c2f161 Vincenzo Frascino  2019-06-21  353  }
e876f0b69dc993 Christophe Leroy   2020-02-07  354  
e876f0b69dc993 Christophe Leroy   2020-02-07  355  static __maybe_unused int
e876f0b69dc993 Christophe Leroy   2020-02-07  356  __cvdso_clock_gettime32(clockid_t clock, struct old_timespec32 *res)
e876f0b69dc993 Christophe Leroy   2020-02-07  357  {
df7fcbefa71090 Thomas Weißschuh   2025-02-04  358  	return __cvdso_clock_gettime32_data(__arch_get_vdso_u_time_data(), clock, res);
e876f0b69dc993 Christophe Leroy   2020-02-07  359  }
bf279849ad5953 Vincenzo Frascino  2019-08-30  360  #endif /* BUILD_VDSO32 */
00b26474c2f161 Vincenzo Frascino  2019-06-21  361  
00b26474c2f161 Vincenzo Frascino  2019-06-21  362  static __maybe_unused int
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  363  __cvdso_gettimeofday_data(const struct vdso_time_data *vd,
e876f0b69dc993 Christophe Leroy   2020-02-07  364  			  struct __kernel_old_timeval *tv, struct timezone *tz)
00b26474c2f161 Vincenzo Frascino  2019-06-21  365  {
886653e3663917 Anna-Maria Behnsen 2025-03-03  366  	const struct vdso_clock *vc = vd->clock_data;
00b26474c2f161 Vincenzo Frascino  2019-06-21  367  
00b26474c2f161 Vincenzo Frascino  2019-06-21  368  	if (likely(tv != NULL)) {
00b26474c2f161 Vincenzo Frascino  2019-06-21  369  		struct __kernel_timespec ts;
00b26474c2f161 Vincenzo Frascino  2019-06-21  370  
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  371  		if (!do_hres(vd, &vc[CS_HRES_COARSE], CLOCK_REALTIME, &ts))
00b26474c2f161 Vincenzo Frascino  2019-06-21  372  			return gettimeofday_fallback(tv, tz);
00b26474c2f161 Vincenzo Frascino  2019-06-21  373  
00b26474c2f161 Vincenzo Frascino  2019-06-21  374  		tv->tv_sec = ts.tv_sec;
00b26474c2f161 Vincenzo Frascino  2019-06-21  375  		tv->tv_usec = (u32)ts.tv_nsec / NSEC_PER_USEC;
00b26474c2f161 Vincenzo Frascino  2019-06-21  376  	}
00b26474c2f161 Vincenzo Frascino  2019-06-21  377  
00b26474c2f161 Vincenzo Frascino  2019-06-21  378  	if (unlikely(tz != NULL)) {
660fd04f931717 Thomas Gleixner    2019-11-12  379  		if (IS_ENABLED(CONFIG_TIME_NS) &&
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  380  		    vc->clock_mode == VDSO_CLOCKMODE_TIMENS)
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  381  			vd = __arch_get_vdso_u_timens_data(vd);
660fd04f931717 Thomas Gleixner    2019-11-12  382  
00b26474c2f161 Vincenzo Frascino  2019-06-21  383  		tz->tz_minuteswest = vd[CS_HRES_COARSE].tz_minuteswest;
00b26474c2f161 Vincenzo Frascino  2019-06-21  384  		tz->tz_dsttime = vd[CS_HRES_COARSE].tz_dsttime;
00b26474c2f161 Vincenzo Frascino  2019-06-21  385  	}
00b26474c2f161 Vincenzo Frascino  2019-06-21  386  
00b26474c2f161 Vincenzo Frascino  2019-06-21  387  	return 0;
00b26474c2f161 Vincenzo Frascino  2019-06-21  388  }
00b26474c2f161 Vincenzo Frascino  2019-06-21  389  
e876f0b69dc993 Christophe Leroy   2020-02-07  390  static __maybe_unused int
e876f0b69dc993 Christophe Leroy   2020-02-07  391  __cvdso_gettimeofday(struct __kernel_old_timeval *tv, struct timezone *tz)
e876f0b69dc993 Christophe Leroy   2020-02-07  392  {
df7fcbefa71090 Thomas Weißschuh   2025-02-04  393  	return __cvdso_gettimeofday_data(__arch_get_vdso_u_time_data(), tv, tz);
e876f0b69dc993 Christophe Leroy   2020-02-07  394  }
e876f0b69dc993 Christophe Leroy   2020-02-07  395  
00b26474c2f161 Vincenzo Frascino  2019-06-21  396  #ifdef VDSO_HAS_TIME
e876f0b69dc993 Christophe Leroy   2020-02-07  397  static __maybe_unused __kernel_old_time_t
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  398  __cvdso_time_data(const struct vdso_time_data *vd, __kernel_old_time_t *time)
00b26474c2f161 Vincenzo Frascino  2019-06-21  399  {
886653e3663917 Anna-Maria Behnsen 2025-03-03  400  	const struct vdso_clock *vc = vd->clock_data;
660fd04f931717 Thomas Gleixner    2019-11-12  401  	__kernel_old_time_t t;
660fd04f931717 Thomas Gleixner    2019-11-12  402  
2d6b01bd88ccab Thomas Gleixner    2020-02-07  403  	if (IS_ENABLED(CONFIG_TIME_NS) &&
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  404  	    vc->clock_mode == VDSO_CLOCKMODE_TIMENS) {
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  405  		vd = __arch_get_vdso_u_timens_data(vd);
886653e3663917 Anna-Maria Behnsen 2025-03-03  406  		vc = vd->clock_data;
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  407  	}
660fd04f931717 Thomas Gleixner    2019-11-12  408  
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  409  	t = READ_ONCE(vc[CS_HRES_COARSE].basetime[CLOCK_REALTIME].sec);
00b26474c2f161 Vincenzo Frascino  2019-06-21  410  
00b26474c2f161 Vincenzo Frascino  2019-06-21  411  	if (time)
00b26474c2f161 Vincenzo Frascino  2019-06-21  412  		*time = t;
00b26474c2f161 Vincenzo Frascino  2019-06-21  413  
00b26474c2f161 Vincenzo Frascino  2019-06-21  414  	return t;
00b26474c2f161 Vincenzo Frascino  2019-06-21  415  }
e876f0b69dc993 Christophe Leroy   2020-02-07  416  
e876f0b69dc993 Christophe Leroy   2020-02-07  417  static __maybe_unused __kernel_old_time_t __cvdso_time(__kernel_old_time_t *time)
e876f0b69dc993 Christophe Leroy   2020-02-07  418  {
df7fcbefa71090 Thomas Weißschuh   2025-02-04  419  	return __cvdso_time_data(__arch_get_vdso_u_time_data(), time);
e876f0b69dc993 Christophe Leroy   2020-02-07  420  }
00b26474c2f161 Vincenzo Frascino  2019-06-21  421  #endif /* VDSO_HAS_TIME */
00b26474c2f161 Vincenzo Frascino  2019-06-21  422  
00b26474c2f161 Vincenzo Frascino  2019-06-21  423  #ifdef VDSO_HAS_CLOCK_GETRES
00b26474c2f161 Vincenzo Frascino  2019-06-21  424  static __maybe_unused
34f888e3405ace Thomas Weißschuh   2025-07-01  425  bool __cvdso_clock_getres_common(const struct vdso_time_data *vd, clockid_t clock,
e876f0b69dc993 Christophe Leroy   2020-02-07  426  				 struct __kernel_timespec *res)
00b26474c2f161 Vincenzo Frascino  2019-06-21  427  {
886653e3663917 Anna-Maria Behnsen 2025-03-03  428  	const struct vdso_clock *vc = vd->clock_data;
00b26474c2f161 Vincenzo Frascino  2019-06-21  429  	u32 msk;
502a590a170b3b Thomas Gleixner    2019-07-28  430  	u64 ns;
00b26474c2f161 Vincenzo Frascino  2019-06-21  431  
1a1cd5fe881fdf Thomas Weißschuh   2025-07-01  432  	if (!vdso_clockid_valid(clock))
34f888e3405ace Thomas Weißschuh   2025-07-01  433  		return false;
00b26474c2f161 Vincenzo Frascino  2019-06-21  434  
2d6b01bd88ccab Thomas Gleixner    2020-02-07  435  	if (IS_ENABLED(CONFIG_TIME_NS) &&
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  436  	    vc->clock_mode == VDSO_CLOCKMODE_TIMENS)
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  437  		vd = __arch_get_vdso_u_timens_data(vd);
660fd04f931717 Thomas Gleixner    2019-11-12  438  
00b26474c2f161 Vincenzo Frascino  2019-06-21  439  	/*
00b26474c2f161 Vincenzo Frascino  2019-06-21  440  	 * Convert the clockid to a bitmask and use it to check which
00b26474c2f161 Vincenzo Frascino  2019-06-21  441  	 * clocks are handled in the VDSO directly.
00b26474c2f161 Vincenzo Frascino  2019-06-21  442  	 */
00b26474c2f161 Vincenzo Frascino  2019-06-21  443  	msk = 1U << clock;
cdb7c5a9c897ab Christophe Leroy   2019-12-23  444  	if (msk & (VDSO_HRES | VDSO_RAW)) {
00b26474c2f161 Vincenzo Frascino  2019-06-21  445  		/*
00b26474c2f161 Vincenzo Frascino  2019-06-21  446  		 * Preserves the behaviour of posix_get_hrtimer_res().
00b26474c2f161 Vincenzo Frascino  2019-06-21  447  		 */
886653e3663917 Anna-Maria Behnsen 2025-03-03  448  		ns = READ_ONCE(vd->hrtimer_res);
00b26474c2f161 Vincenzo Frascino  2019-06-21  449  	} else if (msk & VDSO_COARSE) {
00b26474c2f161 Vincenzo Frascino  2019-06-21  450  		/*
00b26474c2f161 Vincenzo Frascino  2019-06-21  451  		 * Preserves the behaviour of posix_get_coarse_res().
00b26474c2f161 Vincenzo Frascino  2019-06-21  452  		 */
00b26474c2f161 Vincenzo Frascino  2019-06-21  453  		ns = LOW_RES_NSEC;
cd3557a7618bf5 Thomas Weißschuh   2025-07-01 @454  	} else if (msk & VDSO_AUX) {
cd3557a7618bf5 Thomas Weißschuh   2025-07-01  455  		ns = aux_clock_resolution_ns();
00b26474c2f161 Vincenzo Frascino  2019-06-21  456  	} else {
34f888e3405ace Thomas Weißschuh   2025-07-01  457  		return false;
00b26474c2f161 Vincenzo Frascino  2019-06-21  458  	}
00b26474c2f161 Vincenzo Frascino  2019-06-21  459  
1638b8f096ca16 Thomas Gleixner    2019-10-21  460  	if (likely(res)) {
00b26474c2f161 Vincenzo Frascino  2019-06-21  461  		res->tv_sec = 0;
00b26474c2f161 Vincenzo Frascino  2019-06-21  462  		res->tv_nsec = ns;
1638b8f096ca16 Thomas Gleixner    2019-10-21  463  	}
34f888e3405ace Thomas Weißschuh   2025-07-01  464  	return true;
502a590a170b3b Thomas Gleixner    2019-07-28  465  }
502a590a170b3b Thomas Gleixner    2019-07-28  466  

:::::: The code at line 308 was first introduced by commit
:::::: cd3557a7618bf5c1935e9f66b58a329f1f1f4b27 vdso/gettimeofday: Add support for auxiliary clocks

:::::: TO: Thomas Weißschuh <thomas.weissschuh@linutronix.de>
:::::: CC: Thomas Gleixner <tglx@linutronix.de>

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

WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@linaro.org>
To: oe-kbuild@lists.linux.dev, "H. Peter Anvin" <hpa@zytor.com>
Cc: lkp@intel.com, oe-kbuild-all@lists.linux.dev,
	linux-kernel@vger.kernel.org,
	Dave Hansen <dave.hansen@linux.intel.com>
Subject: arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: right shifting more than type allows 32 vs 40
Date: Wed, 11 Feb 2026 15:13:34 +0300	[thread overview]
Message-ID: <202602111941.PIhubgrb-lkp@intel.com> (raw)
Message-ID: <20260211121334.DX_hdV5PKatfmg1lLYexTI24N4jU_ZjDn63rFHku12E@z> (raw)

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   192c0159402e6bfbe13de6f8379546943297783d
commit: 693c819fedcdcabfda7488e2d5e355a84c2fd1b0 x86/entry/vdso: Refactor the vdso build
config: x86_64-randconfig-161-20260210 (https://download.01.org/0day-ci/archive/20260211/202602111941.PIhubgrb-lkp@intel.com/config)
compiler: clang version 20.1.8 (https://github.com/llvm/llvm-project 87f0227cb60147a26a1eeb4fb06e3b505e9c7261)
rustc: rustc 1.88.0 (6b00bc388 2025-06-23)
smatch version: v0.5.0-8994-gd50c5a4c

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>
| Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
| Closes: https://lore.kernel.org/r/202602111941.PIhubgrb-lkp@intel.com/

smatch warnings:
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: right shifting more than type allows 32 vs 40
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: bitwise AND condition is false here
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:454 __cvdso_clock_getres_common() warn: right shifting more than type allows 32 vs 40
arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:454 __cvdso_clock_getres_common() warn: bitwise AND condition is false here

vim +308 arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c

fb61bdb27fd730 Thomas Weißschuh   2025-07-01  287  static __always_inline bool
ac1a42f4e4e296 Thomas Weißschuh   2025-02-04  288  __cvdso_clock_gettime_common(const struct vdso_time_data *vd, clockid_t clock,
e876f0b69dc993 Christophe Leroy   2020-02-07  289  			     struct __kernel_timespec *ts)
00b26474c2f161 Vincenzo Frascino  2019-06-21  290  {
886653e3663917 Anna-Maria Behnsen 2025-03-03  291  	const struct vdso_clock *vc = vd->clock_data;
00b26474c2f161 Vincenzo Frascino  2019-06-21  292  	u32 msk;
00b26474c2f161 Vincenzo Frascino  2019-06-21  293  
1a1cd5fe881fdf Thomas Weißschuh   2025-07-01  294  	if (!vdso_clockid_valid(clock))
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  295  		return false;
00b26474c2f161 Vincenzo Frascino  2019-06-21  296  
00b26474c2f161 Vincenzo Frascino  2019-06-21  297  	/*
00b26474c2f161 Vincenzo Frascino  2019-06-21  298  	 * Convert the clockid to a bitmask and use it to check which
00b26474c2f161 Vincenzo Frascino  2019-06-21  299  	 * clocks are handled in the VDSO directly.
00b26474c2f161 Vincenzo Frascino  2019-06-21  300  	 */
00b26474c2f161 Vincenzo Frascino  2019-06-21  301  	msk = 1U << clock;
8463cf80529d0f Christophe Leroy   2019-12-23  302  	if (likely(msk & VDSO_HRES))
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  303  		vc = &vc[CS_HRES_COARSE];
8463cf80529d0f Christophe Leroy   2019-12-23  304  	else if (msk & VDSO_COARSE)
70067ae181f302 Anna-Maria Behnsen 2025-03-03  305  		return do_coarse(vd, &vc[CS_HRES_COARSE], clock, ts);
8463cf80529d0f Christophe Leroy   2019-12-23  306  	else if (msk & VDSO_RAW)
cddb82d1c4de56 Anna-Maria Behnsen 2025-03-03  307  		vc = &vc[CS_RAW];
cd3557a7618bf5 Thomas Weißschuh   2025-07-01 @308  	else if (msk & VDSO_AUX)

This code is built with -m32 when we build
arch/x86/entry/vdso/vdso32/vclock_gettime.c so VDSO_AUX is zero
and we never call do_aux().  Presumably that's intentional.  I
don't know this code at all.

cd3557a7618bf5 Thomas Weißschuh   2025-07-01  309  		return do_aux(vd, clock, ts);
c966533f8c6c45 Andrei Vagin       2019-11-12  310  	else
fb61bdb27fd730 Thomas Weißschuh   2025-07-01  311  		return false;
c966533f8c6c45 Andrei Vagin       2019-11-12  312  
64c3613ce31a1a Anna-Maria Behnsen 2025-03-03  313  	return do_hres(vd, vc, clock, ts);
502a590a170b3b Thomas Gleixner    2019-07-28  314  }


             reply	other threads:[~2026-02-11 11:10 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-02-11 11:09 kernel test robot [this message]
2026-02-11 12:13 ` arch/x86/include/uapi/../../../../lib/vdso/gettimeofday.c:308 __cvdso_clock_gettime_common() warn: right shifting more than type allows 32 vs 40 Dan Carpenter
2026-02-11 12:29 ` Thomas Weißschuh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=202602111941.PIhubgrb-lkp@intel.com \
    --to=lkp@intel.com \
    --cc=error27@gmail.com \
    --cc=oe-kbuild@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.