summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Aring <aahringo@redhat.com>2025-08-14 11:22:14 -0400
committerDavid Teigland <teigland@redhat.com>2025-08-14 15:16:05 -0500
commit8e40210788636619404871df07445fa4590138b4 (patch)
treee9177d8fe60f51d800dd0c6cb3d27d0089be98a4
parent8d90041a0d285044b89629f539ca0685e156848b (diff)
dlm: check for undefined release_option values
Checking on all undefined release_option values to return -EINVAL in case a user is providing them to dlm_release_lockspace(). Signed-off-by: Alexander Aring <aahringo@redhat.com> Signed-off-by: David Teigland <teigland@redhat.com>
-rw-r--r--fs/dlm/lockspace.c3
-rw-r--r--include/linux/dlm.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/fs/dlm/lockspace.c b/fs/dlm/lockspace.c
index 8eadbf0fdf17..ddaa76558706 100644
--- a/fs/dlm/lockspace.c
+++ b/fs/dlm/lockspace.c
@@ -797,6 +797,9 @@ int dlm_release_lockspace(void *lockspace, unsigned int release_option)
struct dlm_ls *ls;
int error;
+ if (release_option > __DLM_RELEASE_MAX)
+ return -EINVAL;
+
ls = dlm_find_lockspace_local(lockspace);
if (!ls)
return -EINVAL;
diff --git a/include/linux/dlm.h b/include/linux/dlm.h
index 34015a008b80..7e7b45b0d097 100644
--- a/include/linux/dlm.h
+++ b/include/linux/dlm.h
@@ -113,6 +113,7 @@ int dlm_new_lockspace(const char *name, const char *cluster,
#define DLM_RELEASE_NORMAL 2
#define DLM_RELEASE_NO_EVENT 3
#define DLM_RELEASE_RECOVER 4
+#define __DLM_RELEASE_MAX DLM_RELEASE_RECOVER
/*
* dlm_release_lockspace