2012-03-15 7 views
4

私はカーネルパニックか、それと同等の致命的なものが起きると想定していますが、NETLINKソケットのsendまたはrecvがエラーになる可能性はありますか?NETLINKソケットの読み取り/書き込みはこれまでで失敗することがありますか?

+0

一般に、システムコールは広範なチェックを行います。カーネルパニックがネットリンクメッセージを送信してしまった場合、それは少なくともローカルサービス拒否となる可能性のある重大なバグです。 – nos

答えて

2

カーネルはそれに渡されるデータを検査し、データを言っているかを決定することができますようAF_NETLINKソケットのポイントは、カーネルとの通信にあることを考えると、それは、失敗するsendコールのための理論には確かに可能ですナンセンスで、sendを拒否します(好きなエラーがあれば)。

実際には、データポインタを指定したため、無効なポインタ(sendまたはrecvコールの場合と同じ)を指定して、即時にEFAULTエラーが発生する可能性があります。

recvバッファが有効で十分に大きい場合は、recvは一般的には失敗しません(EINTRなどの場合を除きます)。

もっと具体的なコードでより具体的な回答が得られると思います。

関連する問題