cluster-devel.redhat.com archive mirror
 help / color / mirror / Atom feed
* [Cluster-devel] [PATCH dlm/next 0/8] fs: dlm: new debug feature and fix invalid message
@ 2021-10-27 15:23 Alexander Aring
  2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 1/8] fs: dlm: remove obsolete INBUF define Alexander Aring
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Alexander Aring @ 2021-10-27 15:23 UTC (permalink / raw)
  To: cluster-devel.redhat.com

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



^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2021-10-27 15:23 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-10-27 15:23 [Cluster-devel] [PATCH dlm/next 0/8] fs: dlm: new debug feature and fix invalid message Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 1/8] fs: dlm: remove obsolete INBUF define Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 2/8] fs: dlm: move version conversion to compile time Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 3/8] fs: dlm: let handle callback data as void Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 4/8] fs: dlm: add debugfs rawmsg send functionality Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 5/8] fs: dlm: allow create lkb with specific id range Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 6/8] fs: dlm: add lkb debugfs functionality Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 7/8] fs: dlm: add lkb waiters " Alexander Aring
2021-10-27 15:23 ` [Cluster-devel] [PATCH dlm/next 8/8] fs: dlm: filter user dlm messages for kernel locks Alexander Aring

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).