我假设可能会发生内核 panic 或类似的灾难性事件,但否则 NETLINK 套接字上的 send 或 recv 是否可能出错?

最佳答案

鉴于 AF_NETLINK 套接字的目的是与内核通信,理论上 send 调用肯定有可能失败,因为内核将检查传递给它的数据,并可以确定所述数据是无意义的并拒绝 send (有任何它喜欢的错误)。

更实际的是,由于您提供了数据指针,您可以提供无效的指针(与任何 sendrecv 调用一样)并立即获得 EFAULT 错误。

如果 recv 缓冲区有效且足够大, recv 通常不会失败(除了 EINTR 之类的东西)。

我想你可以用更具体的代码得到更具体的答案。

关于读/写 NETLINK 套接字会失败吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9712724/

10-10 13:58
查看更多