Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit aca32b57 authored by Geyslan G. Bem's avatar Geyslan G. Bem Committed by Matt Fleming
Browse files

efivarfs: 'efivarfs_file_write' function reorganization



This reorganization removes useless 'bytes' prior assignment and uses
'memdup_user' instead 'kmalloc' + 'copy_from_user'.

Signed-off-by: default avatarGeyslan G. Bem <geyslan@gmail.com>
Signed-off-by: default avatarMatt Fleming <matt.fleming@intel.com>
parent 0f8093a9
Loading
Loading
Loading
Loading
+4 −9
Original line number Diff line number Diff line
@@ -21,7 +21,7 @@ static ssize_t efivarfs_file_write(struct file *file,
	u32 attributes;
	struct inode *inode = file->f_mapping->host;
	unsigned long datasize = count - sizeof(attributes);
	ssize_t bytes = 0;
	ssize_t bytes;
	bool set = false;

	if (count < sizeof(attributes))
@@ -33,14 +33,9 @@ static ssize_t efivarfs_file_write(struct file *file,
	if (attributes & ~(EFI_VARIABLE_MASK))
		return -EINVAL;

	data = kmalloc(datasize, GFP_KERNEL);
	if (!data)
		return -ENOMEM;

	if (copy_from_user(data, userbuf + sizeof(attributes), datasize)) {
		bytes = -EFAULT;
		goto out;
	}
	data = memdup_user(userbuf + sizeof(attributes), datasize);
	if (IS_ERR(data))
		return PTR_ERR(data);

	bytes = efivar_entry_set_get_size(var, attributes, &datasize,
					  data, &set);