Merge tag 'pull-file' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[platform/kernel/linux-starfive.git] / fs / nfsd / nfs4recover.c
index b29d27e..78b8cd9 100644 (file)
@@ -807,16 +807,18 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
                        if (get_user(namelen, &ci->cc_name.cn_len))
                                return -EFAULT;
                        name.data = memdup_user(&ci->cc_name.cn_id, namelen);
-                       if (IS_ERR_OR_NULL(name.data))
-                               return -EFAULT;
+                       if (IS_ERR(name.data))
+                               return PTR_ERR(name.data);
                        name.len = namelen;
                        get_user(princhashlen, &ci->cc_princhash.cp_len);
                        if (princhashlen > 0) {
                                princhash.data = memdup_user(
                                                &ci->cc_princhash.cp_data,
                                                princhashlen);
-                               if (IS_ERR_OR_NULL(princhash.data))
-                                       return -EFAULT;
+                               if (IS_ERR(princhash.data)) {
+                                       kfree(name.data);
+                                       return PTR_ERR(princhash.data);
+                               }
                                princhash.len = princhashlen;
                        } else
                                princhash.len = 0;
@@ -827,8 +829,8 @@ __cld_pipe_inprogress_downcall(const struct cld_msg_v2 __user *cmsg,
                        if (get_user(namelen, &cnm->cn_len))
                                return -EFAULT;
                        name.data = memdup_user(&cnm->cn_id, namelen);
-                       if (IS_ERR_OR_NULL(name.data))
-                               return -EFAULT;
+                       if (IS_ERR(name.data))
+                               return PTR_ERR(name.data);
                        name.len = namelen;
                }
                if (name.len > 5 && memcmp(name.data, "hash:", 5) == 0) {