From: Alexander Aring <aahringo@redhat.com>
To: teigland@redhat.com
Cc: gfs2@lists.linux.dev, aahringo@redhat.com
Subject: [PATCH v6.12-rc1 2/7] dlm: fix possible lkb_resource null dereference
Date: Fri, 4 Oct 2024 11:13:38 -0400 [thread overview]
Message-ID: <20241004151343.3952937-3-aahringo@redhat.com> (raw)
In-Reply-To: <20241004151343.3952937-1-aahringo@redhat.com>
This patch fixes a possible null pointer dereference when this function is
called from request_lock() as lkb->lkb_resource is not assigned yet,
only after validate_lock_args() by calling attach_lkb(). Another issue
is that a resource name could be a non printable bytearray and we cannot
assume to be ASCII coded.
The log functionality is probably never being hit when DLM is used in
normal way and no debug logging is enabled. The null pointer dereference
can only occur on a new created lkb that does not have the resource
assigned yet, it probably never hits the null pointer dereference but we
should be sure that other changes might not change this behaviour and we
actually can hit the mentioned null pointer dereference.
In this patch we just drop the printout of the resource name, the lkb id
is enough to make a possible connection to a resource name if this
exists.
Signed-off-by: Alexander Aring <aahringo@redhat.com>
---
fs/dlm/lock.c | 10 ++++------
1 file changed, 4 insertions(+), 6 deletions(-)
diff --git a/fs/dlm/lock.c b/fs/dlm/lock.c
index 865dc70a9dfc..dddedaef5e93 100644
--- a/fs/dlm/lock.c
+++ b/fs/dlm/lock.c
@@ -2861,16 +2861,14 @@ static int validate_lock_args(struct dlm_ls *ls, struct dlm_lkb *lkb,
case -EINVAL:
/* annoy the user because dlm usage is wrong */
WARN_ON(1);
- log_error(ls, "%s %d %x %x %x %d %d %s", __func__,
+ log_error(ls, "%s %d %x %x %x %d %d", __func__,
rv, lkb->lkb_id, dlm_iflags_val(lkb), args->flags,
- lkb->lkb_status, lkb->lkb_wait_type,
- lkb->lkb_resource->res_name);
+ lkb->lkb_status, lkb->lkb_wait_type);
break;
default:
- log_debug(ls, "%s %d %x %x %x %d %d %s", __func__,
+ log_debug(ls, "%s %d %x %x %x %d %d", __func__,
rv, lkb->lkb_id, dlm_iflags_val(lkb), args->flags,
- lkb->lkb_status, lkb->lkb_wait_type,
- lkb->lkb_resource->res_name);
+ lkb->lkb_status, lkb->lkb_wait_type);
break;
}
--
2.43.0
next prev parent reply other threads:[~2024-10-04 15:13 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-04 15:13 [PATCH v6.12-rc1 0/7] dlm: tracing, config and null-ptr fixes Alexander Aring
2024-10-04 15:13 ` [PATCH v6.12-rc1 1/7] dlm: fix swapped args sb_flags vs sb_status Alexander Aring
2024-10-04 15:13 ` Alexander Aring [this message]
2024-10-04 15:13 ` [PATCH v6.12-rc1 3/7] dlm: disallow different configs nodeid storages Alexander Aring
2024-10-04 15:13 ` [PATCH v6.12-rc1 4/7] dlm: handle port as __be16 network byte order Alexander Aring
2024-10-04 15:13 ` [PATCH v6.12-rc1 5/7] dlm: use dlm_config as only cluster configuration Alexander Aring
2024-10-04 15:13 ` [PATCH v6.12-rc1 6/7] dlm: dlm_config_info config fields to unsigned int Alexander Aring
2024-10-04 15:13 ` [PATCH v6.12-rc1 7/7] dlm: make add_to_waiters() that it can't fail Alexander Aring
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241004151343.3952937-3-aahringo@redhat.com \
--to=aahringo@redhat.com \
--cc=gfs2@lists.linux.dev \
--cc=teigland@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox