我假设可能会发生内核 panic 或类似的灾难性事件,但否则 NETLINK 套接字上的 send 或 recv 是否可能出错?
最佳答案
鉴于 AF_NETLINK
套接字的目的是与内核通信,理论上 send
调用肯定有可能失败,因为内核将检查传递给它的数据,并可以确定所述数据是无意义的并拒绝 send
(有任何它喜欢的错误)。
更实际的是,由于您提供了数据指针,您可以提供无效的指针(与任何 send
或 recv
调用一样)并立即获得 EFAULT
错误。
如果 recv
缓冲区有效且足够大, recv
通常不会失败(除了 EINTR
之类的东西)。
我想你可以用更具体的代码得到更具体的答案。
关于读/写 NETLINK 套接字会失败吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9712724/