From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Date: Wed, 14 May 2014 13:02:15 +0300 From: Dan Carpenter To: Willy Tarreau Cc: linux-kernel@vger.kernel.org, stable@vger.kernel.org, Eric Dumazet , "David S. Miller" Subject: Re: [ 083/143] net: clamp ->msg_namelen instead of returning an error Message-ID: <20140514100215.GD16836@mwanda> References: <20140512003204.089772397@1wt.eu> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20140512003204.089772397@1wt.eu> Sender: linux-kernel-owner@vger.kernel.org List-ID: On Mon, May 12, 2014 at 02:33:23AM +0200, Willy Tarreau wrote: > 2.6.32-longterm review patch. If anyone has any objections, please let me know. > > ------------------ > > From: Dan Carpenter > > [ Upstream commit db31c55a6fb245fdbb752a2ca4aefec89afabb06 ] > > If kmsg->msg_namelen > sizeof(struct sockaddr_storage) then in the > original code that would lead to memory corruption in the kernel if you > had audit configured. If you didn't have audit configured it was > harmless. > > There are some programs such as beta versions of Ruby which use too > large of a buffer and returning an error code breaks them. We should > clamp the ->msg_namelen value instead. > > Fixes: 1661bf364ae9 ("net: heap overflow in __audit_sockaddr()") You should probably take dbb490b96584 ('net: socket: error on a negative msg_namelen') as well. LTP has a test that passes negative values to this code and expects an error return so my clamp patch breaks LTP. regards, dan carpenter