Currently we handle in dlm_receive_buffer() everything else than a
DLM_MSG type as DLM_RCOM message. Although a different message than
DLM_MSG should be a DLM_RCOM we should explicit check on DLM_RCOM and
drop a log_error() if we see something unexpected.

Signed-off-by: Alexander Aring <aahri...@redhat.com>
---
 fs/dlm/lock.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index da95ba3c295e..c41aa8ab3230 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -5108,8 +5108,11 @@ void dlm_receive_buffer(union dlm_packet *p, int nodeid)
        down_read(&ls->ls_recv_active);
        if (hd->h_cmd == DLM_MSG)
                dlm_receive_message(ls, &p->message, nodeid);
-       else
+       else if (hd->h_cmd == DLM_RCOM)
                dlm_receive_rcom(ls, &p->rcom, nodeid);
+       else
+               log_error(ls, "invalid h_cmd %d from %d lockspace %x",
+                         hd->h_cmd, nodeid, le32_to_cpu(hd->u.h_lockspace));
        up_read(&ls->ls_recv_active);
 
        dlm_put_lockspace(ls);
-- 
2.31.1

Reply via email to