Message ID | 20250319142858.2166-1-adiupina@astralinux.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | [v2] cifs: avoid NULL pointer dereference in dbg call | expand |
Added to cifs-2.6.git for-next On Wed, Mar 19, 2025 at 10:00 AM Alexandra Diupina <adiupina@astralinux.ru> wrote: > > 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> > --- > v2: fix indentation > 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 > >
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; }
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> --- v2: fix indentation fs/smb/client/smb2misc.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-)