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 }
next 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.