4
我假設內核恐慌或者可能會發生相當災難性的情況,但是否則NETLINK套接字上的send或recv可能會出錯?可以讀取/寫入NETLINK套接字失敗嗎?
我假設內核恐慌或者可能會發生相當災難性的情況,但是否則NETLINK套接字上的send或recv可能會出錯?可以讀取/寫入NETLINK套接字失敗嗎?
假設一個AF_NETLINK
插座的一點是與內核進行通信,它肯定能夠是在理論上爲send
調用失敗,因爲內核將檢查數據被交給它,並可以決定所述數據是廢話,並拒絕send
(與任何errno它喜歡)。
實際上,由於您提供了數據指針,因此您可以提供一個無效指針(與任何send
或recv
調用一樣)並立即得到EFAULT
錯誤。
只要recv
緩衝區有效並且足夠大,recv
一般不應該失敗(除了像EINTR
之類的東西)。
我想你可以用更具體的代碼得到更具體的答案。
通常,系統調用會執行大量檢查。如果您發送內核恐慌從發送netlink消息,這是一個嚴重的錯誤,至少是本地拒絕服務,並可能存在安全漏洞。 – nos 2012-03-15 10:18:48