mlx5: return -EFAULT instead of -EPERM
Subsystems (5)
PATCH 1/1 mlx5: return -EFAULT instead of -EPERM
For copy_to/from_user() failure, the correct error code is -EFAULT not -EPERM.
Signed-off-by Dan Carpenter <[email protected]>
drivers/infiniband/hw/mlx5/mr.c +4 -4
@@ -171,7 +171,7 @@ static ssize_t size_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;
@@ -208,7 +208,7 @@ static ssize_t size_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;
@@ -233,7 +233,7 @@ static ssize_t limit_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;
@@ -270,7 +270,7 @@ static ssize_t limit_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;
drivers/net/ethernet/mellanox/mlx5/core/cmd.c +5 -5
@@ -693,7 +693,7 @@ static ssize_t dbg_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; lbuf[sizeof (lbuf) -1 ] =0 ;
@@ -889,7 +889,7 @@ static ssize_t data_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (ptr, buf, count)) { - err = -EPERM ; + err = -EFAULT ; goto out; } dbg->in_msg = ptr;
@@ -919,7 +919,7 @@ static ssize_t data_read(struct file *filp, char __user *buf, size_t count, copy =min_t (int, count, dbg->outlen);if (copy_to_user (buf, dbg->out_msg, copy)) -return -EPERM ; +return -EFAULT ; *pos += copy;
@@ -949,7 +949,7 @@ static ssize_t outlen_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, &outlen, err)) -return -EPERM ; +return -EFAULT ; *pos += err;
@@ -974,7 +974,7 @@ static ssize_t outlen_write(struct file *filp, const char __user *buf, dbg->outlen =0 ;if (copy_from_user (outlen_str, buf, count)) -return -EPERM ; +return -EFAULT ; outlen_str[7 ] =0 ;
Quoted 86 lines · Dan Carpenter
For copy_to/from_user() failure, the correct error code is
-EFAULTnot-EPERM.Signed-off-by Dan Carpenter <[email protected]>drivers/infiniband/hw/mlx5/mr.c +4
-4@@ -171,7 +171,7 @@ static ssize_t size_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;@@ -208,7 +208,7 @@ static ssize_t size_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;@@ -233,7 +233,7 @@ static ssize_t limit_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;@@ -270,7 +270,7 @@ static ssize_t limit_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;drivers/net/ethernet/mellanox/mlx5/core/cmd.c +4
-4@@ -693,7 +693,7 @@ static ssize_t dbg_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; lbuf[sizeof (lbuf) -1 ] =0 ;@@ -889,7 +889,7 @@ static ssize_t data_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (ptr, buf, count)) { - err = -EPERM ; + err = -EFAULT ; goto out; } dbg->in_msg = ptr;@@ -919,7 +919,7 @@ static ssize_t data_read(struct file *filp, char __user *buf, size_t count, copy =min_t (int, count, dbg->outlen);if (copy_to_user (buf, dbg->out_msg, copy)) -return -EPERM ; +return -EFAULT ; *pos += copy;@@ -949,7 +949,7 @@ static ssize_t outlen_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, &outlen, err)) -return -EPERM ; +return -EFAULT ; *pos += err;
drivers/net/ethernet/mellanox/mlx5/core/cmd.c static ssize_t outlen_write(struct file *filp, const char __user *buf, · line 980
Quoted 8 lines
drivers/net/ethernet/mellanox/mlx5/core/cmd.c +1
-1@@ -974,7 +974,7 @@ static ssize_t outlen_write(struct file *filp, const char __user *buf, dbg->outlen =0 ;if (copy_from_user (outlen_str, buf, count)) -return -EPERM ; +return -EFAULT ; outlen_str[7 ] =0 ;
As Eli is still OOO (coming back soon...)
Acked-by Or Gerlitz <[email protected]>
Acked-by Eli Cohen <[email protected]>
Quoted 98 lines · Dan Carpenter
For copy_to/from_user() failure, the correct error code is
-EFAULTnot-EPERM.Signed-off-by Dan Carpenter <[email protected]>drivers/infiniband/hw/mlx5/mr.c +4
-4@@ -171,7 +171,7 @@ static ssize_t size_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;@@ -208,7 +208,7 @@ static ssize_t size_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;@@ -233,7 +233,7 @@ static ssize_t limit_write(struct file *filp, const char __user *buf,int c;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; c =order2idx (dev, ent->order); lbuf[sizeof (lbuf) -1 ] =0 ;@@ -270,7 +270,7 @@ static ssize_t limit_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, lbuf, err)) -return -EPERM ; +return -EFAULT ; *pos += err;drivers/net/ethernet/mellanox/mlx5/core/cmd.c +5
-6@@ -693,7 +693,7 @@ static ssize_t dbg_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (lbuf, buf,sizeof (lbuf))) -return -EPERM ; +return -EFAULT ; lbuf[sizeof (lbuf) -1 ] =0 ;@@ -889,7 +889,7 @@ static ssize_t data_write(struct file *filp, const char __user *buf,return -ENOMEM ;if (copy_from_user (ptr, buf, count)) { - err = -EPERM ; + err = -EFAULT ; goto out; } dbg->in_msg = ptr;@@ -919,7 +919,7 @@ static ssize_t data_read(struct file *filp, char __user *buf, size_t count, copy =min_t (int, count, dbg->outlen);if (copy_to_user (buf, dbg->out_msg, copy)) -return -EPERM ; +return -EFAULT ; *pos += copy;@@ -949,7 +949,7 @@ static ssize_t outlen_read(struct file *filp, char __user *buf, size_t count,return err;if (copy_to_user (buf, &outlen, err)) -return -EPERM ; +return -EFAULT ; *pos += err;@@ -974,7 +974,7 @@ static ssize_t outlen_write(struct file *filp, const char __user *buf, dbg->outlen =0 ;if (copy_from_user (outlen_str, buf, count)) -return -EPERM ; +return -EFAULT ; outlen_str[7 ] =0 ; --To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html