[PATCH v2] ksmbd: quiet mdssvc RPC log spam in create_smb2_pipe
"Gaël Blivet-Bailly" <[email protected]>
| Newsgroups | org.kernel.vger.linux-cifs |
|---|---|
| Message-ID | <[email protected]> |
From: Gael Blivet <[email protected]> Follow-up to commit bb682f1496f7 ("ksmbd: quiet mdssvc RPC log spam"), which silenced __rpc_method()'s own "Unsupported RPC: mdssvc" log line but missed that ksmbd_session_rpc_open() failing for that same, now-still-rejected pipe also trips a second, separate pr_err() here in its caller. macOS's routine mdssvc (Spotlight) probes still spam the kernel log via this second site on every single probe, defeating the original commit's stated purpose. Suppress this specific case the same way the other site does; behavior is unchanged for every other RPC failure. __rpc_method() (mgmt/user_session.c) returns -ENOENT for mdssvc, not -EINVAL. Signed-off-by: Gael Blivet <[email protected]> --- v1 -> v2: Check -ENOENT instead of -EINVAL, matching what __rpc_method() actually returns for mdssvc. fs/smb/server/smb2pdu.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/fs/smb/server/smb2pdu.c b/fs/smb/server/smb2pdu.c index 69b244664..285d31d0e 100644 --- a/fs/smb/server/smb2pdu.c +++ b/fs/smb/server/smb2pdu.c @@ -2655,7 +2655,16 @@ static noinline int create_smb2_pipe(struct ksmbd_work *work) id = ksmbd_session_rpc_open(work->sess, name); if (id < 0) { - pr_err("Unable to open RPC pipe: %d\n", id); + /* + * mdssvc (Spotlight) is a routine, expected probe from macOS + * that we deliberately don't support -- it's disabled at the + * __rpc_method() level (mgmt/user_session.c), but this + * generic failure log would otherwise still fire on every + * single probe regardless. + */ + if (!(id == -ENOENT && (!strcmp(name, "\\mdssvc") || + !strcmp(name, "mdssvc")))) + pr_err("Unable to open RPC pipe: %d\n", id); err = id; goto out; } base-commit: 5e6eeafe46a4a19559808c5ef36ea36ea4f2a204 -- 2.43.0