From: Edward Adam Davis <eadavis@sina.com>
To: syzbot+1dbed5969931c19d3eb5@syzkaller.appspotmail.com
Cc: amarkuze@redhat.com, ceph-devel@vger.kernel.org,
idryomov@gmail.com, linux-kernel@vger.kernel.org,
slava@dubeyko.com, syzkaller-bugs@googlegroups.com,
sage@newdream.net
Subject: [PATCH] ceph: reject create client if no monitor
Date: Fri, 11 Sep 2026 21:57:18 +0800 [thread overview]
Message-ID: <20260911135718.864217-1-eadavis@sina.com> (raw)
In-Reply-To: <6aa30f2a.f81106d8.2ab401.0013.GAE@google.com>
From: Edward Adam Davis <eadavis@qq.com>
During the resolution of monitor addresses, the failure to resolve the
server name [1] resulted in no available monitors (i.e., the num_mon
value in ceph_options was 0).
This triggered the issue [2] when joining the Ceph cluster.
Before creating the client, if the number of monitors specified in the
options is invalid, the client creation process is aborted.
[1]
libceph: resolve '127.0.0.' (ret=-3): failed
[2]
kernel BUG at net/ceph/mon_client.c:211!
Call Trace:
ceph_monc_open_session+0x46/0x60 net/ceph/mon_client.c:534
__ceph_open_session+0x135/0x590 net/ceph/ceph_common.c:798
ceph_real_mount fs/ceph/super.c:1173 [inline]
ceph_get_tree+0xd98/0x1fd0 fs/ceph/super.c:1362
Fixes: 16725b9d2a2e ("ceph: super.c")
Reported-by: syzbot+1dbed5969931c19d3eb5@syzkaller.appspotmail.com
Closes: https://syzkaller.appspot.com/bug?extid=1dbed5969931c19d3eb5
Tested-by: syzbot+1dbed5969931c19d3eb5@syzkaller.appspotmail.com
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
---
fs/ceph/super.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/fs/ceph/super.c b/fs/ceph/super.c
index 72935f665f11..0f20d6c5e4bd 100644
--- a/fs/ceph/super.c
+++ b/fs/ceph/super.c
@@ -818,7 +818,11 @@ static struct ceph_fs_client *create_fs_client(struct ceph_mount_options *fsopt,
struct ceph_options *opt)
{
struct ceph_fs_client *fsc;
- int err;
+ int err, num_mon;
+
+ num_mon = opt->num_mon;
+ if (num_mon == 0 || num_mon > CEPH_MAX_MON)
+ return ERR_PTR(-EINVAL);
fsc = kzalloc_obj(*fsc);
if (!fsc) {
--
2.43.0
next prev parent reply other threads:[~2026-09-11 13:58 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-09-10 20:12 [syzbot] [ceph?] kernel BUG in __open_session syzbot
2026-09-11 13:57 ` Edward Adam Davis [this message]
2026-09-11 14:01 ` [PATCH v2] ceph: reject create client if no monitor Edward Adam Davis
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=20260911135718.864217-1-eadavis@sina.com \
--to=eadavis@sina.com \
--cc=amarkuze@redhat.com \
--cc=ceph-devel@vger.kernel.org \
--cc=idryomov@gmail.com \
--cc=linux-kernel@vger.kernel.org \
--cc=sage@newdream.net \
--cc=slava@dubeyko.com \
--cc=syzbot+1dbed5969931c19d3eb5@syzkaller.appspotmail.com \
--cc=syzkaller-bugs@googlegroups.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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.