FreeBSD Daily Topics

2007年11月29日sysctl値“vm.max_wired”導入―memtestなどで活用、setuid executableチェックにZFSも追加、Firefoxアップグレード他多数

src

src/sys/vm/vm_pageout.c

current - 物理ページの個数上限を設定するためのsysctl値「vm.max_wired」が新しく導入されました。読み書き可能な変数として導入されたため、実行時に動的に値を変更できます。

これはPR 114654で報告されていた問題への対応となります。従来の実装ではおかしくなったプロセスによる被害を避けるために最大値がvm.stats.vm.v_free_countの1/3の値に設定されています。これは現在でもデフォルト値です。しかし/usr/ports/sysutils/memtestのようにフリーなページプールの半分以上を確保したい場合もあるため、これを可能にするために設定可能な値に変更したというわけです。

lib/libthr/thread/thr_sem.c

current - lib/libthr/thread/thr_sem.cのコードがよりシンプルな実装へクリーンナップされたほか、sem_waitおよびsem_timedwaitにおいて発生していたスレッドキャンセルバグが修正されています。

sys/dev/ata
ata-chipset.c
ata-disk.c

current - sii 3132/3124チップにおいてSATA ATAPIサポートするためのコードが追加されました。しかし完全にサポートするコードではなく、最終的にサポートを実現するための最初のコミットメントという位置付けのようです。

src/etc/periodic/security/100.chksetuid

current - periodicの一環としてsetuid executableなファイルを検索し定期的に報告するスクリプト100.chksetuidに、ZFSについてもUFSと同じように検索するための機能が追加されました。以後100.chksetuidによるチェックはZFSでマウントされている領域も対象にはいります。

src/sys/kern/kern_lock.c
src/sys/sys/lockmgr.h

current - これまでロック実装としてtransferlockers()関数が用意されていましたが、この関数は危険でありハック的に開発されたものでした。幸い、この関数はカーネル内では使われていないため、今回削除されました。この変更はlockmgr KPIを変更することになるため、サードパーティモジュールを使っている場合は再構築する必要があると思われます。

src/sys/net/pfil.c
src/sys/net/pfil.h

current - pfil(9)のロック実装がrwlock(9)からrmlock(9)へ変更されました。この変更によってリーダーリカージョンがサポートされるといった利点がある他、若干ではありますが動作速度が向上しています。

ports

www/firefox
www/firefox-i18n
www/linux-firefox

Firefox、Firefox国際版、Firefox Linux版のportがCVE-2007-5959セキュリティ問題を修正した2.0.0.10へアップグレードされました。

おすすめ記事

記事・ニュース一覧