ksmbd: fix possible null-deref in smb_lazy_parent_lease_break_close
authorMarios Makassikis <mmakassikis@freebox.fr>
Wed, 13 Mar 2024 14:11:38 +0000 (15:11 +0100)
committerSteve French <stfrench@microsoft.com>
Thu, 14 Mar 2024 23:51:32 +0000 (18:51 -0500)
rcu_dereference can return NULL, so make sure we check against that.

Signed-off-by: Marios Makassikis <mmakassikis@freebox.fr>
Acked-by: Namjae Jeon <linkinjeon@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/server/oplock.c

index 9af5fd68bd85b45ac1fb6ef9f066a666603ec99b..b30ff8b9777df6e13e3bec298b99ef20d2ef829c 100644 (file)
@@ -1143,7 +1143,7 @@ void smb_lazy_parent_lease_break_close(struct ksmbd_file *fp)
        opinfo = rcu_dereference(fp->f_opinfo);
        rcu_read_unlock();
 
-       if (!opinfo->is_lease || opinfo->o_lease->version != 2)
+       if (!opinfo || !opinfo->is_lease || opinfo->o_lease->version != 2)
                return;
 
        p_ci = ksmbd_inode_lookup_lock(fp->filp->f_path.dentry->d_parent);