ocxl: Fix return value check in afu_ioctl()
authorWei Yongjun <weiyongjun1@huawei.com>
Sat, 4 May 2019 07:04:30 +0000 (07:04 +0000)
committerMichael Ellerman <mpe@ellerman.id.au>
Mon, 6 May 2019 10:21:56 +0000 (20:21 +1000)
In case of error, the function eventfd_ctx_fdget() returns ERR_PTR() and
never returns NULL. The NULL test in the return value check should be
replaced with IS_ERR().

This issue was detected by using the Coccinelle software.

Fixes: 060146614643 ("ocxl: move event_fd handling to frontend")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Acked-by: Alastair D'Silva <alastair@d-silva.org>
Acked-by: Andrew Donnellan <ajd@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
drivers/misc/ocxl/file.c

index 8aa22893ed768a90fd0fa973126be83d024d2a9a..2870c25da166f7bc1576464f248940b8396d2699 100644 (file)
@@ -257,8 +257,8 @@ static long afu_ioctl(struct file *file, unsigned int cmd,
                        return -EINVAL;
                irq_id = ocxl_irq_offset_to_id(ctx, irq_fd.irq_offset);
                ev_ctx = eventfd_ctx_fdget(irq_fd.eventfd);
-               if (!ev_ctx)
-                       return -EFAULT;
+               if (IS_ERR(ev_ctx))
+                       return PTR_ERR(ev_ctx);
                rc = ocxl_irq_set_handler(ctx, irq_id, irq_handler, irq_free, ev_ctx);
                break;