From 4a983d2c728039eab5f16a8b3917357fd92c2b4c Mon Sep 17 00:00:00 2001
From: liangzhen <liangzhen>
Date: Mon, 17 Nov 2008 03:10:28 +0000
Subject: [PATCH] Branch HEAD

remove LASSERT on message type from network

b=17372
i=isaac
i=Maxim
---
 lnet/klnds/socklnd/socklnd_cb.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/lnet/klnds/socklnd/socklnd_cb.c b/lnet/klnds/socklnd/socklnd_cb.c
index ff83a3b6e9..8c2c956631 100644
--- a/lnet/klnds/socklnd/socklnd_cb.c
+++ b/lnet/klnds/socklnd/socklnd_cb.c
@@ -1317,6 +1317,16 @@ ksocknal_process_receive (ksock_conn_t *conn)
                         __swab64s(&conn->ksnc_msg.ksm_zc_ack_cookie);
                 }
 
+                if (conn->ksnc_msg.ksm_type != KSOCK_MSG_NOOP &&
+                    conn->ksnc_msg.ksm_type != KSOCK_MSG_LNET) {
+                        CERROR("%s: Unknown message type: %x\n",
+                               libcfs_id2str(conn->ksnc_peer->ksnp_id),
+                               conn->ksnc_msg.ksm_type);
+                        ksocknal_new_packet(conn, 0);
+                        ksocknal_close_conn_and_siblings(conn, -EPROTO);
+                        return (-EPROTO);
+                }
+
                 if (conn->ksnc_msg.ksm_type == KSOCK_MSG_NOOP &&
                     conn->ksnc_msg.ksm_csum != 0 &&     /* has checksum */
                     conn->ksnc_msg.ksm_csum != conn->ksnc_rx_csum) {
@@ -1348,7 +1358,6 @@ ksocknal_process_receive (ksock_conn_t *conn)
                         ksocknal_new_packet (conn, 0);
                         return 0;       /* NOOP is done and just return */
                 }
-                LASSERT (conn->ksnc_msg.ksm_type == KSOCK_MSG_LNET);
 
                 conn->ksnc_rx_state = SOCKNAL_RX_LNET_HEADER;
                 conn->ksnc_rx_nob_wanted = sizeof(ksock_lnet_msg_t);
-- 
GitLab