RE: [PATCH] rapidio: fix potential NULL pointer dereference

From: Bounine, Alexandre
Date: Fri Apr 22 2016 - 10:39:33 EST


Thank you.

Ack-ed.

> -----Original Message-----
> From: Vladimir Zapolskiy [mailto:vz@xxxxxxxxx]
> Sent: Thursday, April 21, 2016 4:05 PM
> To: Matt Porter; Bounine, Alexandre
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> Subject: [PATCH] rapidio: fix potential NULL pointer dereference
>
> 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