staging: gasket: sysfs: clean up state if ENOMEM removing mapping
If kcalloc() returns NULL in put_mapping(), continue to clean up state, including dropping the reference on the struct device and free attribute memory. Signed-off-by: Todd Poynor <toddpoynor@google.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
2bc7596438
commit
a81d678949
|
@ -101,13 +101,12 @@ 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;
|
||||
if (files_to_remove)
|
||||
for (i = 0; i < num_files_to_remove; i++)
|
||||
files_to_remove[i] =
|
||||
mapping->attributes[i].attr;
|
||||
else
|
||||
num_files_to_remove = 0;
|
||||
|
||||
kfree(mapping->attributes);
|
||||
mapping->attributes = NULL;
|
||||
|
|
Loading…
Reference in New Issue