[FreeBSD-users-jp 95935] Re: ELF interpreter /usr/libexec/ld-elf.so.1 not found
Tomoaki AOKI
junchoon @ dec.sakura.ne.jp
2016年 8月 13日 (土) 03:53:11 UTC
青木@名古屋です。
On Fri, 12 Aug 2016 15:42:58 +0900
"kenji at kens.fm" <kenji at kens.fm> wrote:
> > 念の為確認ですが、brandelf -t Linuxした状態のバイナリを実行する際は
> > linux_enable="YES"(かつlinux.koをロード済)で試していますよね?
>
> はい
> kldload linux.ko して
> kldstat で確認してテスト後
> kldunload linux.ko しました
まずは本当にLinuxバイナリで【ない】ことは確認できましたね。
> svnlite checkout https://svn.FreeBSD.org/base/stable/10 -r r286665 /usr/src
>
> stable/10 の r286665〜r297262 までを試して
> r293448 まではOK
> r293449 以降がNG
> と言う事がわかりました
> r293448とr293449の間で変更されているのは
>
> sys/kern/imgact_elf.c
> https://svnweb.freebsd.org/base/stable/10/sys/kern/imgact_elf.c?r1=293318&r2=293449
> だけのようです。
私の頭に引っ掛かっていたのは多分その次のr295366だったと思いますが、
それはさておき、
・r293499をbackoutするとどうなるか?
※上記で引用頂いたURLの画面上方の「patch」をクリックすると
パッチが手に入りますので、これをファイルに落とし、
/usr/srcで
patch -p2 -R -i パッチファイル名
で当てれば大丈夫です。
※パッチ内のパスのうち「stable/10/」の部分を無視させる
必要があるので -p2 が必須です。
・上記だけで駄目な場合、さらにr295366もbackoutするとどうなるか?
を試してみてはどうでしょうか? もしこれで動くなら、POLA violationと
してBugzillaにPR登録してfreebsd-stable MLにもその旨報告すると、認め
られれば次のSAのタイミングでENとして対応してもらえるかもしれません。
※POLA violationをまともに考慮するのはstableブランチからですので、
今回のように「従来動いていたものが動かなくなった」というケースは
freebsd-currentで報告してもとりあって貰えないかもしれません。
なお、素直にこのファイルだけr293448以前に戻せと言わないのは、さらに次の
r295454がシステムの他の部分の更新と絡んでいるため、迂闊にこのファイル
だけ戻すと何が起こるか不安だからです。
> 10.2-RELEASE-p8 と stableの 10.2p8 は全く別物ですか?
> revision番号は各ブランチ共通みたいですが
portsは別管理ですが、base(OS本体部分)はご察しのとおり、共通です。
また、stableブランチにはp8やp10のようなパッチレベルは無く、ただただ
リビジョンが進むのみです。
一応説明すると、*.0-RELEASEまでの流れは割と知られていると思いますので
置いておいて、その後の更新に絞ると、
・開発はhead(所謂-current)で進む。
・headである程度以上の有効性・安全性が確認され、K[P|B]I・A[P|B]I
を壊さないものがstableにマージされる。(MFC 乃至 MFH)
・stableブランチで新たな問題が発生しなかった【SA/EN関連】の修正が
relengブランチにマージされる。(MFS)
・必要な更新が出揃い、relengブランチでの動作検証をパスしたところで
relengブランチのバージョン情報を更新し、freebsd-update用のバイナリ
をビルド、提供開始(10.2-p18や10.3-p4等)。
という流れになります。 そのため、正式にSAやENが出るより少しでも早く
セキュリティ修正を取り込みたい(リスク覚悟)場合、relengブランチを
追いかけてソースからビルドして更新するのがお薦めです。
※特殊な環境や一部のアーキティクチャでのみ不具合が発生し、SAの
発行が大幅に遅れるケースもありますので。 手間や検証未完の
リスクとのトレードオフですが。 さらに早くというならさらに
リスクは上がりますがstableブランチの追いかけです。
> > SA-16:25
> これとの関係は判りませんが SA-16:25 の反映済みと思われる
> 10.3-RELEASE-p7 でも例の古いバイナリは動きませんでした。
上述のとおり、今回発見して頂いた変化点を含む全てのリビジョンが
アウトと考えるのが自然です。 今回は問題のリビジョンでの変更が
1ファイルのみ・1箇所のみ(もう1件も変更箇所は増えるものの1ファイル
のみで個々の変更は小さい)ため、それだけを外してみるのを提案させて
頂きました。
stable/10で今回のトライアルがうまく行ったら、そのままstable/10を
使うのも一手ですし、基本10.3-RELEASEからfreebsd-updateでuserlandを
更新しつつカーネルだけソースで更新(今回同様、patch -p2 -Rで手動
backout)するのも可でしょう。
いずれにせよ、これで駄目ならもう私の現状では白旗を上げざるを得ません。
>
>
> --
> けんずふぁみりー
> _______________________________________________
> freebsd-users-jp at freebsd.org mailing list
> https://lists.freebsd.org/mailman/listinfo/freebsd-users-jp
> To unsubscribe, send any mail to "freebsd-users-jp-unsubscribe at freebsd.org"
>
--
青木 知明 [Tomoaki AOKI] <junchoon at dec.sakura.ne.jp>
freebsd-users-jp メーリングリストの案内