fs/smb/client/smb2misc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)
cifs_server_dbg() implies server to be non-NULL so
move call under condition to avoid NULL pointer dereference.
Found by Linux Verification Center (linuxtesting.org) with SVACE.
Fixes: e79b0332ae06 ("cifs: ignore cached share root handle closing errors")
Signed-off-by: Alexandra Diupina <adiupina@astralinux.ru>
---
fs/smb/client/smb2misc.c | 9 +++++----
1 file changed, 5 insertions(+), 4 deletions(-)
diff --git a/fs/smb/client/smb2misc.c b/fs/smb/client/smb2misc.c
index f3c4b70b77b9..c02aab58aade 100644
--- a/fs/smb/client/smb2misc.c
+++ b/fs/smb/client/smb2misc.c
@@ -816,11 +816,12 @@ smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid,
WARN_ONCE(tcon->tc_count < 0, "tcon refcount is negative");
spin_unlock(&cifs_tcp_ses_lock);
- if (tcon->ses)
+ if (tcon->ses) {
server = tcon->ses->server;
-
- cifs_server_dbg(FYI, "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
- tcon->tid, persistent_fid, volatile_fid);
+ cifs_server_dbg(FYI,
+ "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
+ tcon->tid, persistent_fid, volatile_fid);
+ }
return 0;
}
--
2.30.2
On Wed, 19. Mar 15:31, Alexandra Diupina wrote:
> diff --git a/fs/smb/client/smb2misc.c b/fs/smb/client/smb2misc.c
> index f3c4b70b77b9..c02aab58aade 100644
> --- a/fs/smb/client/smb2misc.c
> +++ b/fs/smb/client/smb2misc.c
> @@ -816,11 +816,12 @@ smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid,
> WARN_ONCE(tcon->tc_count < 0, "tcon refcount is negative");
> spin_unlock(&cifs_tcp_ses_lock);
>
> - if (tcon->ses)
> + if (tcon->ses) {
> server = tcon->ses->server;
> -
> - cifs_server_dbg(FYI, "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
> - tcon->tid, persistent_fid, volatile_fid);
> + cifs_server_dbg(FYI,
> + "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
> + tcon->tid, persistent_fid, volatile_fid);
> + }
Something is wrong with the indentation. Usually scripts/checkpatch.pl
can give some feedback on this, too.
CHECK: Alignment should match open parenthesis
#32: FILE: fs/smb/client/smb2misc.c:822:
+ cifs_server_dbg(FYI,
+ "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
>
> return 0;
> }
> --
> 2.30.2
19/03/25 16:20, Fedor Pchelkin пишет:
> On Wed, 19. Mar 15:31, Alexandra Diupina wrote:
>> diff --git a/fs/smb/client/smb2misc.c b/fs/smb/client/smb2misc.c
>> index f3c4b70b77b9..c02aab58aade 100644
>> --- a/fs/smb/client/smb2misc.c
>> +++ b/fs/smb/client/smb2misc.c
>> @@ -816,11 +816,12 @@ smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid,
>> WARN_ONCE(tcon->tc_count < 0, "tcon refcount is negative");
>> spin_unlock(&cifs_tcp_ses_lock);
>>
>> - if (tcon->ses)
>> + if (tcon->ses) {
>> server = tcon->ses->server;
>> -
>> - cifs_server_dbg(FYI, "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
>> - tcon->tid, persistent_fid, volatile_fid);
>> + cifs_server_dbg(FYI,
>> + "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
>> + tcon->tid, persistent_fid, volatile_fid);
>> + }
> Something is wrong with the indentation. Usually scripts/checkpatch.pl
> can give some feedback on this, too.
>
> CHECK: Alignment should match open parenthesis
> #32: FILE: fs/smb/client/smb2misc.c:822:
> + cifs_server_dbg(FYI,
> + "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
In the *.patch file, everything was fine with indents,
so the checkpatch.pl script completed without errors.
But when sending, the indents got corrupted for some
reason. I'll send the second version
>
>>
>> return 0;
>> }
>> --
>> 2.30.2
I don't mind if you also send patches as attachments (or with pointer
to git or github commit link), especially if your email is corrupting
whitespace
On Wed, Mar 19, 2025 at 9:33 AM Alexandra Diupina
<adiupina@astralinux.ru> wrote:
>
>
>
>
> 19/03/25 16:20, Fedor Pchelkin пишет:
> > On Wed, 19. Mar 15:31, Alexandra Diupina wrote:
> >> diff --git a/fs/smb/client/smb2misc.c b/fs/smb/client/smb2misc.c
> >> index f3c4b70b77b9..c02aab58aade 100644
> >> --- a/fs/smb/client/smb2misc.c
> >> +++ b/fs/smb/client/smb2misc.c
> >> @@ -816,11 +816,12 @@ smb2_handle_cancelled_close(struct cifs_tcon *tcon, __u64 persistent_fid,
> >> WARN_ONCE(tcon->tc_count < 0, "tcon refcount is negative");
> >> spin_unlock(&cifs_tcp_ses_lock);
> >>
> >> - if (tcon->ses)
> >> + if (tcon->ses) {
> >> server = tcon->ses->server;
> >> -
> >> - cifs_server_dbg(FYI, "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
> >> - tcon->tid, persistent_fid, volatile_fid);
> >> + cifs_server_dbg(FYI,
> >> + "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
> >> + tcon->tid, persistent_fid, volatile_fid);
> >> + }
> > Something is wrong with the indentation. Usually scripts/checkpatch.pl
> > can give some feedback on this, too.
> >
> > CHECK: Alignment should match open parenthesis
> > #32: FILE: fs/smb/client/smb2misc.c:822:
> > + cifs_server_dbg(FYI,
> > + "tid=0x%x: tcon is closing, skipping async close retry of fid %llu %llu\n",
>
> In the *.patch file, everything was fine with indents,
> so the checkpatch.pl script completed without errors.
> But when sending, the indents got corrupted for some
> reason. I'll send the second version
> >
> >>
> >> return 0;
> >> }
> >> --
> >> 2.30.2
>
>
--
Thanks,
Steve
© 2016 - 2025 Red Hat, Inc.