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 と書かれてはいるが、カーネルへの修正はバージョン番号を上げただけなので、カーネルは急ぐ必要はない。

FreeBSD 11-stbale で i386 のカーネルがコンパイルできない2017年10月07日 20時06分36秒

久しぶりに、FreeBSD の 11-STABLE を svn up したところ、コンパイルエラーが出てつまずいている。
/usr/src/sys/i386/i386/mpboot.s:128:2: error: symbol 'KERNBASE' can not be undef
ined in a subtraction expression
 movl ((IdlePTD)-KERNBASE), %eax
 ^
*** [mpboot.o] Error code 1

FreeBSD のスワップの実装が大きく変わっている2017年10月01日 12時44分21秒

FreeBSD のスワップの実装に大きな変更が加えられている。12-CURRENT は既に変更済みで、11-STABLE にも一ヵ月ぐらい前に変更が降りてきていた。11.2-RELEASE と共に出ることになる。

Replace global swhash in swap pager with per-object trie to track swap blocks assigned to the object pages. がその変更点で、blist にて管理していた各ブロック情報を、pctrie を用いての管理に書き換えられている。

良くは把握していないのだが、pctrie にはまだあれこれ関数が追加されているのを見ると、比較的新しい様だ。

昔の実装には struct swblock が使われていて、大きさは 276 だった。新しい実装で使われる構造体は二つになり、struct swblk で大きさは 72 で、swpctrie の大きさは 44。

FreeBSD の SVN に release/10.4.0/ が作られた2017年09月30日 11時15分09秒

11 系をメインに使っているので、テストには参加していなかった。今日、release/10.4.0 が作られたと、FreeBSD SVN からのメールが入っていた。予定表だと、十月三日にリリースの見込みのようだ。

cd: ..: Permission denied by newvers.sh2017年09月13日 11時10分32秒

FreeBSD で一般ユーザで buildkernel をするとエラーが出るようになった。11.1-RELEASE を作ったときは、自分のアカウントで出来たから、current と 11-STABLE が影響の対象だと思う。uyota で buildkernel をすると、無限ループに陥る。root で buildkernel をすると問題はない。

少し実験をする。make buildkernel から問題のあるコマンドだけを抜き取っった。newvers.sh が原因のようだ。

% MAKE=/usr/obj/usr/src/make.i386/bmake sh /usr/src/sys/conf/newvers.sh  GENERIC
cd: ..: Permission denied
cd: ..: Permission denied
sh に -x を渡して、実行されているコマンドを見る。
env MAKE=/usr/obj/usr/src/make.i386/bmake sh -x /usr/src/sys/conf/newvers.sh  GENERIC

+ [ -z '' ]
+ dirname /usr/src/sys/conf/newvers.sh
+ SYSDIR=/usr/src/sys/conf/..
...
+ findvcs .git
+ local savedir
+ pwd
+ savedir=/usr/src
+ cd /usr/src/sys/conf/../..
+ pwd
+ [ /usr/src '!=' / ]
+ [ -e ./.git ]
+ cd ..
+ pwd
+ [ /usr '!=' / ]
+ [ -e ./.git ]
+ cd ..
cd: ..: Permission denied
findvcs で無限ループに陥っているようだ。どうも /usr からは / へ .. で移動できていない様だ。取り合えず、該当する部分を見てみる。
findvcs()
{
        local savedir

        savedir=$(pwd)
        cd ${SYSDIR}/..
        while [ $(pwd) != "/" ]; do
                if [ -e "./$1" ]; then
while ループの pwd が成功しないため、while ループが無限ループに陥っている。

今まで目撃したことの無かった現象なので、気になったのでテスト。

% cd /usr/src
% df .
Filesystem  1K-blocks    Used   Avail Capacity  Mounted on
/dev/da2s2f   5061628 2584592 2072108    56%    /usr/src
% cd ..
% cd ..
..: Permission denied.
% df -k .
Filesystem   1024-blocks    Used   Avail Capacity  Mounted on
/dev/ada0s3d     7103150 1625446 4909452    25%    /usr
% pwd -P
/usr
% pwd
/usr
% cd ..
..: Permission denied.
% ls -ld /usr
drwxr-xr-x  19 root  wheel  512 Jun 18 13:42 /usr
% ls -ld /
drwxr-xr-x  23 root  wheel  1024 Sep 26 21:39 /
/usr/src から、/usr へは問題なく cd .. が出来ているが、/usr から / へは出来ていないようだ。ディレクトリへのアクセス権限も問題ない。

原因は分からないが、該当箇所を /usr と比較することで、一時的な回避は出来る。buildkernel は /usr/src から行うので、/usr までみれば十分だ。

        while [ $(pwd) != "/usr" ]; do

FreeBSD に openssh SA2017年08月11日 13時20分17秒

FreeBSD-SA-17:06.opensshの Security Advisory が出ている。対象は、サポートされている全てのバージョン。ssh/ssl 関連は久しぶり。問題点は、パスワードの長さの点検をしていなかったらしい。

パッチを当てずに回避をするには /etc/ssh/sshd_config の PasswordAuthentication を無効化して、sshd を再起動すればよい。

FreeBSD 11.1-RELAESE の Laundry が大きすぎ2017年07月29日 08時10分55秒

Laundry は 新しいカーネルメモリの状態だが、11.1-RELEASE を見ていると値が高すぎる時がある。

mdconfig で 5GB の swap 型を作り、3GB 程利用しているのだが、500MB も Laundry があるのに、200MB もスワップに書き出された。Laundry を開放すれば、わざわざディスクに書き込む必要もなさそうだが。

コードを見ると、全ての Laundry 関連の変更が 11-STABLE にきているわけでは無いような説明が見られる。

FreeBSD 11.1-RELEASE が発表された2017年07月26日 12時01分12秒

FreeBSD 11.1-RELEASE が公式に発表された。リリースノートに目星い変更点が書かれている。

個人的には NDIS のバグが直って、古い機種の一台が復活。そして、更に古い機種の起動時のパニックを回避する load.conf を遅れ馳せながら見付けて、二台目も復活した。

EARLY_AP_STARTUP が有効になった。しかし、これを有効にした時に、起動時に問題が出る機種があるようだ。いくつかのバグは PRERELEASE の時から潰されてはいるが、起動しなかったらカスタムカーネルを試すのも手。

groff や rsh 系などが非推奨になり、12.0-RELEASE までには消されるそうだ。

releng/11.1 のバージョンが RELEASE-11.1 に2017年07月23日 16時01分50秒

最終的には FreeBSD 11.1-RELEASE は当初の予定通りに進みそうだ。releng/11.1 のバージョンが 11.1-RELEASE に更新され、release/11.1 も SVN に作成された。

最後に一つだけ変更が入った。次の水曜日頃に、正式なリリースの発表になるもよう。

FreebSD 11.1-RELEASE の pkg に更新2017年07月17日 15時37分43秒

FreeBSD 11.1-RELEASE 向けの pkg が公開されたので、pkg update で新しいデータを取得し、pkg upgrade で、ports のソフトウェアを更新した。

外付けのディスクに少々問題があって、一度目の更新に不安があったので、再度やり直した。

作業時間は、一、二時間程度。昔は、ports であれこれ自前でコンパイルして入れ直していたので、二、三日は掛かったのに比べると、断然早い。今でも、一部の ports は依存関係を切り落とすため等に、設定を変えて入れているが、手間を省くために、変更は極力避けている。

xfce、seamonkey、sylpheed を主体として入れていて、今回の更新では大きな視覚的な変更は見られない。環境依存だろうが、若干フォントの表示が心持ち小さくなった様だ。写りははっきりしているので、小さくなったが見やすくなった。