On 17/02/18 00:01, Frederic Barrat wrote:
Fix some issues found by a static checker:

When allocating an AFU interrupt, if the driver cannot copy the output
parameters to userland, the errno value was not set to EFAULT

Remove a (now) useless cast.

Reported-by: Dan Carpenter <dan.carpen...@oracle.com>
Signed-off-by: Frederic Barrat <fbar...@linux.vnet.ibm.com>

Acked-by: Andrew Donnellan <andrew.donnel...@au1.ibm.com>

---
  drivers/misc/ocxl/file.c | 6 ++++--
  1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/misc/ocxl/file.c b/drivers/misc/ocxl/file.c
index 2dd2db9bc1c9..337462e1569f 100644
--- a/drivers/misc/ocxl/file.c
+++ b/drivers/misc/ocxl/file.c
@@ -133,8 +133,10 @@ static long afu_ioctl(struct file *file, unsigned int cmd,
                if (!rc) {
                        rc = copy_to_user((u64 __user *) args, &irq_offset,
                                        sizeof(irq_offset));
-                       if (rc)
+                       if (rc) {
                                ocxl_afu_irq_free(ctx, irq_offset);
+                               return -EFAULT;
+                       }
                }
                break;

@@ -329,7 +331,7 @@ static ssize_t afu_read(struct file *file, char __user 
*buf, size_t count,

        used += sizeof(header);

-       rc = (ssize_t) used;
+       rc = used;
        return rc;
  }


--
Andrew Donnellan              OzLabs, ADL Canberra
andrew.donnel...@au1.ibm.com  IBM Australia Limited

Reply via email to