パスワードを忘れた? アカウント作成
362141 journal

okkyの日記: NFSを2度マウントすると2度目でSIGSEGV

日記 by okky

OSDLのメアリーさんと、FedoraJP勉強会の両方で被害者を確認したので間違いなかろう。

Linuxは同じマウントポイントに、同じNFSサーバを2度マウントすると、2度目の mount の最中に SIGSEGV を出す。本来はマウントに失敗するべきなのに。

で、その後 shutdown をしようとすると、途中のどこかで止まったまま返ってこない。

2度目の mount の際に、kernel 内部、ロックを取得している最中のどこかで SIGSEGV を起こすような何かが生じていると思われる。
このせいで、lockを掴んだままプロセスが強制終了しているのではないかと。

shutdown の際に、umount しようとして lock を取得しに行って、そのままdead lockしているのだと思われる。

さっき見てみたが、IS_ERR()マクロで確認するべきポインタの妥当性確認が、途中からいい加減極まりないことに。 多分それらのどこかだろう。その判定では困るようなことになったのは、異常ポインタの定義を変えてしまったからだろう。

で、そこは具体的にどこか? だと? 知ったことか。
こんな馬鹿なミスはLinux以外看過されない、というレベルの話だ、とさえ判れば十分だよ。
どうしても、というなら Qemu 上にカーネル載せて、2度目の mount(2)を何度かステップトレースすれば、判るはずさ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
typodupeerror

人生unstable -- あるハッカー

読み込み中...