MFC r279206:   In some cases soreceive_dgram() can return no data, but has control   message. This can happen when application is sending packets too big   for the path MTU and recvmsg() will return zero (indicating no data)   but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU.   Remove KASSERT() which does NULL pointer dereference in such case.   Also call m_freem() only when m isn't NULL.
MFC r279206:
  In some cases soreceive_dgram() can return no data, but has control
  message. This can happen when application is sending packets too big
  for the path MTU and recvmsg() will return zero (indicating no data)
  but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU.
  Remove KASSERT() which does NULL pointer dereference in such case.
  Also call m_freem() only when m isn't NULL.

MFC r279209:
  soreceive_generic() still has similar KASSERT(), therefore instead of
  remove KASSERT(), change it to check mbuf isn't NULL.

PR:		197882
Sponsored by:	Yandex LLC

jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase,jrobhoward/SCADAbase