diff options
| author | Ivan Bornyakov <brnkv.i1@gmail.com> | 2018-08-01 21:37:44 +0300 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-08-02 08:14:35 +0200 |
| commit | 548b9f03f007ae654055644cff844b2b4fd2b5d2 (patch) | |
| tree | 01368256155b1b6c99379baf594538bad3b9b311 | |
| parent | c0f460ffeb9545267c981895814af157e5dfc554 (diff) | |
| download | cachepc-linux-548b9f03f007ae654055644cff844b2b4fd2b5d2.tar.gz cachepc-linux-548b9f03f007ae654055644cff844b2b4fd2b5d2.zip | |
staging: gasket: sysfs: fix potential null dereference
Add handling of possible allocation failure.
Reported by smatch:
drivers/staging/gasket/gasket_sysfs.c:105 put_mapping() error: potential null dereference 'files_to_remove'. (kcalloc returns null)
Signed-off-by: Ivan Bornyakov <brnkv.i1@gmail.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
| -rw-r--r-- | drivers/staging/gasket/gasket_sysfs.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/staging/gasket/gasket_sysfs.c b/drivers/staging/gasket/gasket_sysfs.c index a4bfca43cd03..56d62aea5111 100644 --- a/drivers/staging/gasket/gasket_sysfs.c +++ b/drivers/staging/gasket/gasket_sysfs.c @@ -101,6 +101,11 @@ static void put_mapping(struct gasket_sysfs_mapping *mapping) files_to_remove = kcalloc(num_files_to_remove, sizeof(*files_to_remove), GFP_KERNEL); + if (!files_to_remove) { + mutex_unlock(&mapping->mutex); + return; + } + for (i = 0; i < num_files_to_remove; i++) files_to_remove[i] = mapping->attributes[i].attr; |
