From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexander Aring Date: Wed, 27 Oct 2021 11:23:14 -0400 Subject: [Cluster-devel] [PATCH dlm/next 0/8] fs: dlm: new debug feature and fix invalid message Message-ID: <20211027152322.3236492-1-aahringo@redhat.com> List-Id: To: cluster-devel.redhat.com MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Hi, This patch contains small cleanups and a new debugging feature which will allow us to manipulate DLM state and sending out a dlm message constructed by user space. It's an early state feature and not everything is possible yet. The goal is here to bring DLM in a somehow valid testing state and send some DLM message to crash the kernel. I did a scapy module for DLM [0]. Furthermore this can also be used to fuzz the DLM kernel stack and detect issues earlier like PATCH 8/8 fixes. After some more cleanup I try to bring it upstream. The method is simple: 1. add lkb and waiter to bring DLM in a state that it accepts a specific dlm message 2. construct the message in python by using scapy and send it out May we do that in a loop and fuzz some dlm message fields to check for issues if a invalid message was received. Now there might be other bugs why we received an invalid message, but we should check and filter those out. - Alex [0] https://github.com/alexaring/scapy/commit/8d58896e65b6d8f96442e04219325b8abfd4c398 Alexander Aring (8): fs: dlm: remove obsolete INBUF define fs: dlm: move version conversion to compile time fs: dlm: let handle callback data as void fs: dlm: add debugfs rawmsg send functionality fs: dlm: allow create lkb with specific id range fs: dlm: add lkb debugfs functionality fs: dlm: add lkb waiters debugfs functionality fs: dlm: filter user dlm messages for kernel locks fs/dlm/debug_fs.c | 96 ++++++++++++++++++++++++++++++++++++++++++- fs/dlm/dlm_internal.h | 6 --- fs/dlm/lock.c | 80 +++++++++++++++++++++++++++++++++++- fs/dlm/lock.h | 4 ++ fs/dlm/lowcomms.c | 19 ++++----- fs/dlm/lowcomms.h | 4 +- fs/dlm/midcomms.c | 58 ++++++++++++++++++++++++-- fs/dlm/midcomms.h | 2 + 8 files changed, 243 insertions(+), 26 deletions(-) -- 2.27.0