[PATCH] rapidio: fix potential NULL pointer dereference

From: Vladimir Zapolskiy
Date: Thu Apr 21 2016 - 16:05:18 EST


The change fixes improper check for a returned error value by
class_create() function, which on error returns ERR_PTR() value,
thus the original check always results in a dead code on error path.

Signed-off-by: Vladimir Zapolskiy <vz@xxxxxxxxx>
---
drivers/rapidio/devices/rio_mport_cdev.c | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/rapidio/devices/rio_mport_cdev.c b/drivers/rapidio/devices/rio_mport_cdev.c
index 5d4d918..96168b8 100644
--- a/drivers/rapidio/devices/rio_mport_cdev.c
+++ b/drivers/rapidio/devices/rio_mport_cdev.c
@@ -2669,9 +2669,9 @@ static int __init mport_init(void)

/* Create device class needed by udev */
dev_class = class_create(THIS_MODULE, DRV_NAME);
- if (!dev_class) {
+ if (IS_ERR(dev_class)) {
rmcd_error("Unable to create " DRV_NAME " class");
- return -EINVAL;
+ return PTR_ERR(dev_class);
}

ret = alloc_chrdev_region(&dev_number, 0, RIO_MAX_MPORTS, DRV_NAME);
--
2.1.4