Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 23 Feb 2015 21:42:43 +0300
From:      Gleb Smirnoff <glebius@FreeBSD.org>
To:        "Andrey V. Elsukov" <ae@FreeBSD.org>
Cc:        svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org
Subject:   Re: svn commit: r279206 - head/sys/kern
Message-ID:  <20150223184243.GF15484@FreeBSD.org>
In-Reply-To: <201502231341.t1NDfaPh029088@svn.freebsd.org>
References:  <201502231341.t1NDfaPh029088@svn.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Mon, Feb 23, 2015 at 01:41:36PM +0000, Andrey V. Elsukov wrote:
A> Author: ae
A> Date: Mon Feb 23 13:41:35 2015
A> New Revision: 279206
A> URL: https://svnweb.freebsd.org/changeset/base/279206
A> 
A> Log:
A>   In some cases soreceive_dgram() can return no data, but has control
A>   message. This can happen when application is sending packets too big
A>   for the path MTU and recvmsg() will return zero (indicating no data)
A>   but there will be a cmsghdr with cmsg_type set to IPV6_PATHMTU.
A>   Remove KASSERT() which does NULL pointer dereference in such case.
A>   Also call m_freem() only when m isn't NULL.
A>   
A>   PR:		197882
A>   MFC after:	1 week
A>   Sponsored by:	Yandex LLC

All this code is so entangled, due to historical decision to have code
to handle dgram and stream sockets, data messages and control messages.

Now that dgram and stream are almost[1] split, splitting data and control
would finish un-entangling. This would require introducing extra pr_
methods, not a big deal.

[1] Struct sockbuf is still the same.

-- 
Totus tuus, Glebius.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150223184243.GF15484>