Re: [PATCH] ntp: Make sure RTC is synchronized when time goes backwards

From: kernel test robot
Date: Sun Sep 08 2024 - 08:40:24 EST


Hi Benjamin,

kernel test robot noticed the following build errors:

[auto build test ERROR on tip/timers/core]
[also build test ERROR on linus/master v6.11-rc6 next-20240906]
[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/Benjamin-ROBIN/ntp-Make-sure-RTC-is-synchronized-when-time-goes-backwards/20240908-032754
base: tip/timers/core
patch link: https://lore.kernel.org/r/20240907190900.55421-1-dev%40benjarobin.fr
patch subject: [PATCH] ntp: Make sure RTC is synchronized when time goes backwards
config: arm-randconfig-r071-20240908 (https://download.01.org/0day-ci/archive/20240908/202409082049.yA7d6Zmw-lkp@xxxxxxxxx/config)
compiler: clang version 20.0.0git (https://github.com/llvm/llvm-project 05f5a91d00b02f4369f46d076411c700755ae041)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240908/202409082049.yA7d6Zmw-lkp@xxxxxxxxx/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 <lkp@xxxxxxxxx>
| Closes: https://lore.kernel.org/oe-kbuild-all/202409082049.yA7d6Zmw-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

In file included from kernel/time/ntp.c:17:
In file included from include/linux/mm.h:2228:
include/linux/vmstat.h:514:36: warning: arithmetic between different enumeration types ('enum node_stat_item' and 'enum lru_list') [-Wenum-enum-conversion]
514 | return node_stat_name(NR_LRU_BASE + lru) + 3; // skip "nr_"
| ~~~~~~~~~~~ ^ ~~~
>> kernel/time/ntp.c:757:19: error: use of undeclared identifier 'sync_hrtimer'
757 | hrtimer_cancel(&sync_hrtimer);
| ^
1 warning and 1 error generated.


vim +/sync_hrtimer +757 kernel/time/ntp.c

707
708
709 static inline void process_adjtimex_modes(const struct __kernel_timex *txc,
710 s32 *time_tai)
711 {
712 if (txc->modes & ADJ_STATUS)
713 process_adj_status(txc);
714
715 if (txc->modes & ADJ_NANO)
716 time_status |= STA_NANO;
717
718 if (txc->modes & ADJ_MICRO)
719 time_status &= ~STA_NANO;
720
721 if (txc->modes & ADJ_FREQUENCY) {
722 time_freq = txc->freq * PPM_SCALE;
723 time_freq = min(time_freq, MAXFREQ_SCALED);
724 time_freq = max(time_freq, -MAXFREQ_SCALED);
725 /* update pps_freq */
726 pps_set_freq(time_freq);
727 }
728
729 if (txc->modes & ADJ_MAXERROR)
730 time_maxerror = txc->maxerror;
731
732 if (txc->modes & ADJ_ESTERROR)
733 time_esterror = txc->esterror;
734
735 if (txc->modes & ADJ_TIMECONST) {
736 time_constant = txc->constant;
737 if (!(time_status & STA_NANO))
738 time_constant += 4;
739 time_constant = min(time_constant, (long)MAXTC);
740 time_constant = max(time_constant, 0l);
741 }
742
743 if (txc->modes & ADJ_TAI &&
744 txc->constant >= 0 && txc->constant <= MAX_TAI_OFFSET)
745 *time_tai = txc->constant;
746
747 if (txc->modes & ADJ_OFFSET)
748 ntp_update_offset(txc->offset);
749
750 if (txc->modes & ADJ_TICK)
751 tick_usec = txc->tick;
752
753 if (txc->modes & (ADJ_TICK|ADJ_FREQUENCY|ADJ_OFFSET))
754 ntp_update_frequency();
755
756 if (txc->modes & ADJ_SETOFFSET)
> 757 hrtimer_cancel(&sync_hrtimer);
758 }
759

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