Procházet zdrojové kódy

EVM: unlock on error path in evm_read_xattrs()

We need to unlock before returning on this error path.

Fixes: fa516b66a1bf ("EVM: Allow runtime modification of the set of verified xattrs")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Dan Carpenter před 7 roky
rodič
revize
b5c90a7526
1 změnil soubory, kde provedl 3 přidání a 1 odebrání
  1. 3 1
      security/integrity/evm/evm_secfs.c

+ 3 - 1
security/integrity/evm/evm_secfs.c

@@ -147,8 +147,10 @@ static ssize_t evm_read_xattrs(struct file *filp, char __user *buf,
 		size += strlen(xattr->name) + 1;
 		size += strlen(xattr->name) + 1;
 
 
 	temp = kmalloc(size + 1, GFP_KERNEL);
 	temp = kmalloc(size + 1, GFP_KERNEL);
-	if (!temp)
+	if (!temp) {
+		mutex_unlock(&xattr_list_mutex);
 		return -ENOMEM;
 		return -ENOMEM;
+	}
 
 
 	list_for_each_entry(xattr, &evm_config_xattrnames, list) {
 	list_for_each_entry(xattr, &evm_config_xattrnames, list) {
 		sprintf(temp + offset, "%s\n", xattr->name);
 		sprintf(temp + offset, "%s\n", xattr->name);