]> bbs.cooldavid.org Git - net-next-2.6.git/blobdiff - fs/fcntl.c
fcntl: return -EFAULT if copy_to_user fails
[net-next-2.6.git] / fs / fcntl.c
index f74d270ba1554034b02c7532ece41556ca9040c0..51e11bf5708f2430cca213485d597ff070f228af 100644 (file)
@@ -274,7 +274,7 @@ static int f_setown_ex(struct file *filp, unsigned long arg)
 
        ret = copy_from_user(&owner, owner_p, sizeof(owner));
        if (ret)
-               return ret;
+               return -EFAULT;
 
        switch (owner.type) {
        case F_OWNER_TID:
@@ -332,8 +332,11 @@ static int f_getown_ex(struct file *filp, unsigned long arg)
        }
        read_unlock(&filp->f_owner.lock);
 
-       if (!ret)
+       if (!ret) {
                ret = copy_to_user(owner_p, &owner, sizeof(owner));
+               if (ret)
+                       ret = -EFAULT;
+       }
        return ret;
 }