看板 FreeBSD 關於我們 聯絡資訊
感謝回覆, 經過同事及你的解說 , 應該瞭解了 cat ktimer.patch Index: sys/kern/kern_time.c =================================================================== --- sys/kern/kern_time.c (revision 190192) +++ sys/kern/kern_time.c (working copy) @@ -1085,7 +1085,8 @@ struct itimer *it; PROC_LOCK_ASSERT(p, MA_OWNED); - if ((p->p_itimers == NULL) || (timerid >= TIMER_MAX) || + if ((p->p_itimers == NULL) || + (timerid < 0) || (timerid >= TIMER_MAX) || (it = p->p_itimers->its_timers[timerid]) == NULL) { return (NULL); } 的確是修改 sys/kern/kern_time.c 且未經過compile ,故需recompile kernel 感謝各位的回覆:) ※ 引述《KC73 (肯先生)》之銘言: : ※ 引述《usnei (usnei)》之銘言: : : 這個patch 是3/23 發佈的 : : http://security.freebsd.org/advisories/FreeBSD-SA-09:06.ktimer.asc : : 不好意思, 一直線的想法, 可能不知變通 , 僅想把這些問題釐清 : : 發言若有愚鈍之處 再請見諒 也請不吝告知何處是我觀念不正確的地方 : : freebsd-update 的確很好用:) : 其實大部分狀況下, 在用 sysinstall 安裝的時候, source 只要安裝 : base 和 sys 就好了, 有時候可以多裝個 etc, 其他東西都可以不用 : 裝。 : freebsd-update 更新的時候, 是做 binary update, 如果跟 kernel : 有關的話, 才會動到 /usr/src/sys/kern/ 底下的東西, 例如: : xxx# freebsd-update fetch : Looking up update.FreeBSD.org mirrors... 2 mirrors found. : Fetching metadata signature for 7.1-RELEASE from update2.FreeBSD.org... done. : Fetching metadata index... done. : Fetching 1 metadata patches. done. : Applying metadata patches... done. : Inspecting system... done. : Preparing to download files... done. : Fetching 4 patches... done. : Applying patches... done. : The following files will be updated as part of updating to 7.1-RELEASE-p4: : /usr/libexec/telnetd : /usr/src/sys/conf/newvers.sh : /usr/src/sys/kern/kern_environment.c : /usr/src/sys/kern/kern_time.c : 看這次的更新, telnetd 就直接換個新的了。 : 還更新了兩個跟 kernel 有關的東西, 所以這回的更新必須重新編譯 : 一次 kernel。 : 但是如果更新的檔案是這樣: : The following files will be updated as part of updating to 7.1-RELEASE-p4: : /usr/libexec/telnetd : /usr/src/sys/conf/newvers.sh : 那 kernel 可以更新, 也可以不更新。 : 更新的話, 下次開機就會顯示 "7.1-RELEASE-p4"; 不更新的話, 就會 : 顯示現有的版本, 可能是 "7.1-RELEASE-p3"。 -- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 211.75.179.117