[Cluster-devel] [PATCH dlm/next 0/8] fs: dlm: new debug feature and fix invalid message

Alexander Aring aahringo at redhat.com
Wed Oct 27 15:23:14 UTC 2021


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




More information about the Cluster-devel mailing list