FreeBSD に openssl の SA2017年12月12日 13時12分12秒

FreeBSD-SA-17:12.openssl が出されている。

エラーが出た後の処理を行わないで呼ばれた SSL_read や SSL_write は暗号化していないデータを書き出してしまうバグが修正された。影響は、利用側のプログラムの次第だが、プログラムに問題があった場合の回避策は無いとのこと。他に、もう一つのバグも共に修正されている。

対象は、現在サポートされている全てのリリースの、11.1-REELASE と 10.3-RELEASE と 10.4-RELEASE になる。

FreeBSD に openssl SA2017年12月02日 12時06分52秒

FreeBSD-SA-17:11.openssl が現在サポートされている全てのリリースに出されている。11 系の 11.0-RELEASE と 11.1-RELEASE、10 系の 10.3-RELEASE と 10.4-RELEASE が対象になる。

X.509 認証に一文字ずれの問題があり、バッファの内容が読まれる可能性があるそうだ。

x86_64 のみで起きる方のバグは 11 系のみが対象。

FreeBSD のオブジェクトファイルがアーキテクチャ毎に生成されるように2017年11月20日 16時18分31秒

比較的最近に、FreeBSD 12-CURRENT でのオブジェクトファイルの生成先が変更されていた様だ。今までは、/usr/obj/usr/src の直下となっていたが、そこから更にアーキテクチャ毎のディレクトリになるようだ。
/usr/obj/usr/src/i386.i386
差分コンパイルしていても、ディレクトリが変わってしまうため、古いファイルが大量に残る。10 GB しか割り当てていなかったため、rm をしていなかったら、ファイルシステムがいっぱいになってしまった。

FreeBSD の SA が三つ2017年11月16日 12時59分58秒

FreeBSD-SA-17:08.ptrace は、ptrace が未処理のデータを漏らす可能性があるバグ。対象は 10 系と、11 系の全て。

FreeBSD-SA-17:09.shm も同じく shm を通して IPC を行っている場合に、カーネル内のデータを漏らしてしまうバグだが、jail 越しの環境で起こる問題。こちらの対象は 10 系のみ。

カーネルメモリの漏洩バグが続くが、FreeBSD-SA-17:10.kldstat.asc も似たように kldstat が未初期化のデータを漏らす。こちらの対象は 10 系と、11 系の全て。

アメリカでも夏時間が終った2017年11月06日 12時50分56秒

今回の週末でアメリカの夏時間が終った。日曜日から一時間時計を戻す。日の出の時間が遅くなるが、日の入りの時刻が早くなる。五時には既に真っ暗になる。

自宅で使っている FreeBSD は Windows とのディアルブートになっていて、Windows が管理するローカル時刻になる。そのため、一度 Windows を起動して、時刻を合わせる。

仕事場は今回、時刻合わせの点検の担当になったので、各々の機械の時間を点検し、問題なく動いているのを確認した。

FreeBSD EN tzdata2017年11月03日 12時19分44秒

FreeBSD-EN-17:09.tzdata が出ている。夏時間の変更の時期が前回 FreeBSD がリリースされた時から、変わっているため新たに更新する必要があるとのこと。

対象の地域については言及されていないが、対象外の地域では問題ないとのこと。日本は夏時間の設定が無いので影響無し。影響がある地域の場合は cron や syslog の時刻がずれてしまう。

vm.swap_fragmentation sysctl が追加された2017年10月30日 12時55分41秒

11-STABLE に sysctl vm.swap_fragmentationが追加された。現在は、11.1-RELEASE が夏の終りに出されたばかり。次のリリースは 11.2-RELEASE なので、最初に使えるのはそこからになるだろう。

現在、二つのデバイスが割り当てられていて、利用量はゼロ。

% % sysctl vm.swap_fragmentation
vm.swap_fragmentation: 
Free space on device ada0s2b:
number of maximal free ranges: 1
largest free range: 262142
average maximal free range size: 262142
number of maximal free ranges of different sizes:
               count  |  size range
               -----  |  ----------
                   1  |  262142

Free space on device da0s2b:
number of maximal free ranges: 1
largest free range: 522610
average maximal free range size: 522610
number of maximal free ranges of different sizes:
               count  |  size range
               -----  |  ----------
                   1  |  522610
わざとスワップを使ってからの表示。
% sysctl vm.swap_fragmentation
vm.swap_fragmentation: 
Free space on device ada0s2b:
number of maximal free ranges: 11
largest free range: 232508
average maximal free range size: 22607
number of maximal free ranges of different sizes:
               count  |  size range
               -----  |  ----------
                   2  |  1
                   1  |  3 to 4
                   4  |  5 to 7
                   1  |  13 to 20
                   1  |  34 to 54
                   1  |  10946 to 17710
                   1  |  232508

Free space on device da0s2b:
number of maximal free ranges: 14
largest free range: 492884
averge maximal free range size: 36367
anumber of maximal free ranges of different sizes:
               count  |  size range
               -----  |  ----------
                   3  |  1
                   3  |  3 to 4
                   1  |  5 to 7
                   1  |  13 to 20
                   3  |  21 to 33
                   1  |  55 to 88
                   1  |  10946 to 17710
                   1  |  492884

FreeBSD のスワップ枯渇時の kill シグナルの伝達が遅い2017年10月19日 14時04分29秒

FreeBSD に業と過負荷をかけて遊んでいる。make buildworld -j 100 等とすると、clang のコンパイル時にあっと言う間に大量のメモリが持っていかれる。

まだ、確証は無いのだが、スワップ領域が埋め尽くされた後の kill がやけに遅い。まず、シグナルがプロセスに届くのにやけに時間がかかる。また、実メモリはすぐに解放されるようだが、スワップ領域の解放に時間がかかりすぎている様に見える。

top で観察していると、pagedaemon は動いているが、スワップの利用領域はなかなか下がらない。pagedaemon が何とか未解放のスワップを処理できれば、随分と効率が上がりそうに見えるが…

実験しているのは 11-STABLE で、現在は 11.2-RELEASE が出された後。

WPA2 protocol の FreeBSD SA2017年10月18日 11時55分54秒

FreeBSD-SA-17:07.wpa が出されている。

現在のところ、修正が出されてたのは 11 系のみ。11-STABLE、11.1-RELEASE に 11.0-RELEASE。ports からも wpa_supplicant と hostapd も提供されているので、そちらに切替えて回避する事も出来るようだ。10 系への影響と対応は現在も調査中とのこと。

buildworld と buildkernel と書かれてはいるが、カーネルへの修正はバージョン番号を上げただけなので、カーネルは急ぐ必要はない。

paging in/out と swaping in/out の大まかな違い2017年10月14日 14時06分45秒

swap out はプロセスを主メモリから、二次メモリに書き出す事。page out はプロセスのメモリの一部を二次メモリに書き出す事。

そのため、swap out されたプロセスの実行は不可能になる。page out されただけなら、主メモリに残っている部分で、プロセスを実行することが出来る。paging は、プロセスのアドレス空間を細かく区切って管理すること。

システムでは、top などで swap と表示したり、スワップデバイス、スワップファイル等と呼んだりするので、page-out と混同しやすい。