OSDN Git Service

stm class: Do not leak the chrdev in error path
authorAlexander Shishkin <alexander.shishkin@linux.intel.com>
Fri, 4 Mar 2016 14:36:10 +0000 (16:36 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 3 Apr 2019 04:23:24 +0000 (06:23 +0200)
[ Upstream commit cbe4a61d1ddc4790d950ca8c33ef79ee68ef5e2b ]

Currently, the error path of stm_register_device() forgets to unregister
the chrdev. Fix this.

Reported-by: Alan Cox <alan.cox@intel.com>
Signed-off-by: Alexander Shishkin <alexander.shishkin@linux.intel.com>
Reviewed-by: Laurent Fert <laurent.fert@intel.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/hwtracing/stm/core.c

index 03b34dc..0c7f0ba 100644 (file)
@@ -686,6 +686,8 @@ int stm_register_device(struct device *parent, struct stm_data *stm_data,
        return 0;
 
 err_device:
+       unregister_chrdev(stm->major, stm_data->name);
+
        /* matches device_initialize() above */
        put_device(&stm->dev);
 err_free: