linux/fs/ocfs2/cluster
Tariq Saeed da8ded405d 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@oracle.com>
Signed-off-by: Srinivas Eeda <srinivas.eeda@oracle.com>
Reviewed-by: Mark Fasheh <mfasheh@suse.com>
Cc: Joel Becker <jlbec@evilplan.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
2014-04-03 16:20:56 -07:00
..
Makefile ocfs2: remove versioning information 2014-01-21 16:19:41 -08:00
heartbeat.c block: Abstract out bvec iterator 2013-11-23 22:33:47 -08:00
heartbeat.h ocfs2/cluster: Get all heartbeat regions 2010-10-07 14:31:06 -07:00
masklog.c ocfs2: Remove masklog ML_UPTODATE. 2011-02-24 16:22:20 +08:00
masklog.h ocfs2: don't spam on -EDQUOT 2013-11-13 12:09:01 +09:00
netdebug.c switch debugfs to umode_t 2012-01-03 22:54:56 -05:00
nodemanager.c ocfs2: remove versioning information 2014-01-21 16:19:41 -08:00
nodemanager.h ocfs2/cluster: Make fence method configurable - v2 2009-12-02 16:49:26 -08:00
ocfs2_heartbeat.h ocfs2: warn the user on a dead timeout mismatch 2006-06-29 15:45:35 -07:00
ocfs2_nodemanager.h ocfs2/dlm: Add message DLM_QUERY_REGION 2010-10-09 10:26:23 -07:00
quorum.c ocfs2: fix a comments typo at o2quo_hb_still_up() 2013-07-03 16:07:24 -07:00
quorum.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
sys.c ocfs2: remove the /sys/o2cb symlink 2011-05-23 23:37:14 -07:00
sys.h [PATCH] OCFS2: The Second Oracle Cluster Filesystem 2006-01-03 11:45:46 -08:00
tcp.c ocfs2/o2net: o2net_listen_data_ready should do nothing if socket state is not TCP_LISTEN 2014-04-03 16:20:56 -07:00
tcp.h ocfs2/cluster: Add new function o2net_fill_node_map() 2011-07-24 10:32:54 -07:00
tcp_internal.h ocfs2/cluster: Track process message timing stats for each socket 2010-12-22 18:38:10 -08:00