[Ocfs2-devel] [patch 06/11] ocfs2/o2net: o2net_listen_data_ready should do nothing if socket state is not TCP_LISTEN

Mark Fasheh mfasheh at suse.de
Wed Feb 5 15:40:55 PST 2014


On Fri, Jan 24, 2014 at 12:47:05PM -0800, akpm at linux-foundation.org wrote:
> From: Tariq Saeed <tariq.x.saeed at oracle.com>
> Subject: ocfs2/o2net: o2net_listen_data_ready should do nothing if socket state is not TCP_LISTEN
> 
> Orabug: 17330860
> 
> When accepting an incomming connection o2net_accept_one clones a child
> data socket from the parent listening socket.  It then proceeds to setup
> the child with callback o2net_data_ready() and sk_user_data to NULL.  If
> data arrives in this window, o2net_listen_data_ready will be called with
> some non-deterministic value in sk_user_data (not inherited).  We panic
> when we page fault on sk_user_data -- in parent it is sock_def_readable().
>  The fix is to recognize that this is a data socket being set up by
> looking at the socket state and do nothing.
> 
> Signed-off-by: Tariq Saseed <tariq.x.saeed at oracle.com>
> Signed-off-by: Srinivas Eeda <srinivas.eeda at oracle.com>
> Cc: Joel Becker <jlbec at evilplan.org>
> Cc: Mark Fasheh <mfasheh at suse.com>
> Signed-off-by: Andrew Morton <akpm at linux-foundation.org>

Signed-off-by: Mark Fasheh <mfasheh at suse.de>

Thank you for this Tariq,
	--Mark

--
Mark Fasheh



More information about the Ocfs2-devel mailing list