[FreeBSD-users-jp 96031] Re: linprocfs and mfs on 10.3-RELEASE-p16
Hiroki Sato
hrs @ allbsd.org
2017年 2月 6日 (月) 11:55:26 UTC
maruyama @ ism.ac.jp (丸山直昌) wrote
in <ydlr33bybme.fsf @ samanta.ism.ac.jp>:
ma> VIMAGE のことは忘れていました。
ma>
ma> Date: Thu, 01 Sep 2016 14:04:04 +0900
ma> Subject: [FreeBSD-users-jp 95966] FreeBSD と PC-BSDの違い
ma>
ma> に書いた通り、 10.3での元祖 FreeBSD と PCBSDの違いは
ma>
ma> usr/src/sys/amd64/conf/GENERIC PCBSD/usr/src/sys/amd64/conf/GENERIC
ma> usr/src/sys/netgraph/bluetooth/drivers/ubt/ng_ubt.c
ma>
ma> だけで、少ないとは言え違うので、可能性だけ言えば、動かなくなる機能はある
ma> わけですが、私は jail は使っていないので、まあこのままFreeBSD プロジェク
ma> ト側の freebsd-update サーバを使ってみます。 PC-BSDの update サーバーは
ma> 手抜きでどうしようもありません。
VIMAGE が入っている場合、jail を使っているかどうかと関係なく
ネットワーク周りのコードがごっそり変わりますので、
不具合はこれからも出ると思います。
先のメールにあった
ma> link_elf_obj: symbol vnet_entry_ifnet undefined
は、グローバル変数である ifnet の参照(カーネルモジュールの
リンク時のシンボル解決)に失敗していることを示しています。
linprocfs は proc/net/dev をサポートするために ifnet を使います。
ifnet の構造体は VIMAGE がある場合とない場合とで大きく異なります。
具体的には、ある場合は vnet_entry_ifnet という名前に置き換えられ、
ない場合は ifnet という名前のままです。
そのため、linprocfs.ko を読んだ時点で上記のエラーが出るという情報から
推測すると、PC-BSD に含まれている linprocfs.ko と
FreeBSD プロジェクトがリリースしている GENERIC カーネルとを
組み合わせた場合なのだと思います。GENERIC カーネルには
vnet_entry_ifnet が定義されていませんので、カーネルモジュールの
ロードに失敗します。
なぜ再現しないのかはわかりませんが、
「freebsd-update によってカーネル本体だけ差し替えられた」という
想像が正しいなら、カーネルモジュールのうち、ifnet を参照するものは
全滅しています。これには linprocfs だけでなく、
ipfw や pf, if_vlan などが含まれますので、影響は大きいです。
自己責任で使われるのは自由だと思いますが、
メーリングリストに報告しても有益なアドバイスを得られる可能性は
非常に低いのではないでしょうか。
-- Hiroki
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: 無し
型: application/pgp-signature
サイズ: 181 バイト
説明: 無し
URL: <http://lists.freebsd.org/pipermail/freebsd-users-jp/attachments/20170206/c949d1e5/attachment.sig>
freebsd-users-jp メーリングリストの案内