2012-03-15 47 views
4

我假設內核恐慌或者可能會發生相當災難性的情況,但是否則NETLINK套接字上的send或recv可能會出錯?可以讀取/寫入NETLINK套接字失敗嗎?

+0

通常,系統調用會執行大量檢查。如果您發送內核恐慌從發送netlink消息,這是一個嚴重的錯誤,至少是本地拒絕服務,並可能存在安全漏洞。 – nos 2012-03-15 10:18:48

回答

2

假設一個AF_NETLINK插座的一點是與內核進行通信,它肯定能夠是在理論上send調用失敗,因爲內核將檢查數據被交給它,並可以決定所述數據是廢話,並拒絕send(與任何errno它喜歡)。

實際上,由於您提供了數據指針,因此您可以提供一個無效指針(與任何sendrecv調用一樣)並立即得到EFAULT錯誤。

只要recv緩衝區有效並且足夠大,recv一般不應該失敗(除了像EINTR之類的東西)。

我想你可以用更具體的代碼得到更具體的答案。

相關問題