⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 solaris.xtra.4095849

📁 基于ntp协议的网络时间服务程序
💻 4095849
字号:
 Bug Id: 4095849 Category: kernel Subcategory: syscall State: evaluated Synopsis: time_constant value >6 with PLL in use leads to integer divide           zero trap panic Description:If the time_constant parameter is 7 or higher, and the phase-lock looping modelis in use, the system will take a "integer divide zero trap" panic inthe clock routine as soon as the time_offset becomes non-zero.time_constant defaults to 0.  The only place it is set is in the ntp_adjtimesystem call, from the 'constant' element of the timex structure argument. Work around:Never set the constant element of the timex structure passed to ntp_adjtime toa value larger than 6.satish.mynam@Eng 1998-04-301. Use Sun's version of NTP software instead of PD version. This problemis not seen with Sun's NTP version (which is mostly eqivalent to PD NTP 3.4plus some Sun's local functionality futures).2. Workaround for the public domain NTP version  ONLY: =====================================================The workaround for public domain NTP version is to disable theKERNEL_PLL from the NTP code. This way ntp_Adjtime() system call istotally bypassed without sacrificing any of the functionality of theNTP. The only hit you might see is the way  kernel precision timminigis done without the PLL algorithm in the kernel.    The easiest way to disable ntp_adjtime option is(without changing    any makefiles or other config files) to disable the KERNEL_PLL    value in the ./config.h file.After doing a ./configure for probing for all the necessary tools(compilers,os version, libraries),  please comment out KERNEL_PLL macro inthe ./config.h  file.  This will disable the KERNEL_PLL part of the sourcecode and the newly obtained xntpd is just similar to the old one but itdoes not use ntp_adjtime() system call. This prevents it from panic'ngthe kernel./*#define KERNEL_PLL 1*/I complied a new xntpd binary this way and it does nothave any ntp_adjtime()related stuff.Default:=======/net/divya/export/home/mynam/public_domain/ntp/xntp3-5.92/xntpd>stringsxntpd |grep ntp_adjtime354:adj_frequency: ntp_adjtime failed: %m357:loop_config: ntp_adjtime() failed: %m435:get_kernel_info: ntp_adjtime() failed: %mWith KERNEL_PLL disabled in config.h file-=======================/net/divya/export/home/mynam/public_domain/ntp/xntp3-5.92/xntpd>stringsxntpd.nopll | grep ntp_adjtime        Integrated in releases: Duplicate of: Patch id: See also: 4133517 Summary:If the time_constant parameter is 7 or higher, and the phase-lock looping modelis in use, the system will take a "integer divide zero trap" panic inthe clock routine as soon as the time_offset becomes non-zero.time_constant defaults to 0.  The only place it is set is in the ntp_adjtimesystem call, from the 'constant' element of the timex structure argument.----------------------------------------------------------------------------

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -