Solaris是一款由Sun开发和维护的商业UNIX操作系统 。 Solaris内核中IP和IPv6多播实现中存在多个内存泄露。IP没有通过ill_dlpi_send()直接将DL_ENABMULTI_REQ和DL_DISABMULTI_REQ消息发送给驱动,而是链到了ARP消息并发送给ARP。ARP响应回到IP时,ip_wput_ctl()会使用ill_dlpi_send(),但这时相关的IPSQ操作已经完成。因此,当IP之后处理请求的DL_OK_ACK时,如果使用CUR_OP,就可能在之后的IPSQ操作中处理,导致ASSERT()失败 。
Solaris是一款由Sun开发和维护的商业UNIX操作系统 。 Solaris内核中IP和IPv6多播实现中存在多个内存泄露。IP没有通过ill_dlpi_send()直接将DL_ENABMULTI_REQ和DL_DISABMULTI_REQ消息发送给驱动,而是链到了ARP消息并发送给ARP。ARP响应回到IP时,ip_wput_ctl()会使用ill_dlpi_send(),但这时相关的IPSQ操作已经完成。因此,当IP之后处理请求的DL_OK_ACK时,如果使用CUR_OP,就可能在之后的IPSQ操作中处理,导致ASSERT()失败 。