我假设可能发生内核恐慌或类似灾难的事情,但是否则NETLINK套接字上的send或recv可能会出错? 最佳答案 鉴于AF_NETLINK套接字的要点是与内核通信,理论上发送调用当然可能失败,因为内核将检查传递给它的数据,并可以判断所述数据是无意义的并拒绝发送(任何它喜欢的错误).
更实际的是,由于您提供了数据指针,因此可以提供无效指针(与任何send或recv调用一样)并立即获得EFAULT错误.
如果recv缓冲区有效且足够大,则recv通常不会失败(除了像EINTR这样的东西).
我想你可以通过更具体的代码获得更具体的答案.