[prev in list] [next in list] [prev in thread] [next in thread] 

List:       fwts-devel
Subject:    ACK: [PATCH 3/6] efi_runtime: exchange the user and local name define
From:       Alex Hung <alex.hung () canonical ! com>
Date:       2016-08-23 1:37:59
Message-ID: ad98598a-9763-755d-e25a-32055a7abbec () canonical ! com
[Download RAW message or body]

On 2016-08-19 10:57 AM, Ivan Hu wrote:
> The user pointer is only referenced a couple of times it would be better to
> call it 'xxxx_user' and remove the "_local" on 'xxxx_local'.
>
> Signed-off-by: Ivan Hu <ivan.hu@canonical.com>
> ---
>  efi_runtime/efi_runtime.c | 245 +++++++++++++++++++++++-----------------------
>  1 file changed, 122 insertions(+), 123 deletions(-)
>
> diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c
> index 46baedf..5dead14 100644
> --- a/efi_runtime/efi_runtime.c
> +++ b/efi_runtime/efi_runtime.c
> @@ -172,8 +172,8 @@ copy_ucs2_to_user_len(efi_char16_t __user *dst, efi_char16_t *src, size_t len)
>
>  static long efi_runtime_get_variable(unsigned long arg)
>  {
> -	struct efi_getvariable __user *getvariable;
> -	struct efi_getvariable getvariable_local;
> +	struct efi_getvariable __user *getvariable_user;
> +	struct efi_getvariable getvariable;
>  	unsigned long datasize, prev_datasize, *dz;
>  	efi_guid_t vendor_guid, *vd = NULL;
>  	efi_status_t status;
> @@ -182,32 +182,31 @@ static long efi_runtime_get_variable(unsigned long arg)
>  	void *data = NULL;
>  	int rv = 0;
>
> -	getvariable = (struct efi_getvariable __user *)arg;
> +	getvariable_user = (struct efi_getvariable __user *)arg;
>
> -	if (copy_from_user(&getvariable_local, getvariable,
> -			   sizeof(getvariable_local)))
> +	if (copy_from_user(&getvariable, getvariable_user,
> +			   sizeof(getvariable)))
>  		return -EFAULT;
> -	if (getvariable_local.data_size &&
> -	    get_user(datasize, getvariable_local.data_size))
> +	if (getvariable.data_size &&
> +	    get_user(datasize, getvariable.data_size))
>  		return -EFAULT;
> -	if (getvariable_local.vendor_guid) {
> -		if (copy_from_user(&vendor_guid, getvariable_local.vendor_guid,
> +	if (getvariable.vendor_guid) {
> +		if (copy_from_user(&vendor_guid, getvariable.vendor_guid,
>  			   sizeof(vendor_guid)))
>  			return -EFAULT;
>  		vd = &vendor_guid;
>  	}
>
> -	if (getvariable_local.variable_name) {
> -		rv = copy_ucs2_from_user(&name,
> -				getvariable_local.variable_name);
> +	if (getvariable.variable_name) {
> +		rv = copy_ucs2_from_user(&name, getvariable.variable_name);
>  		if (rv)
>  			return rv;
>  	}
>
> -	at = getvariable_local.attributes ? &attr : NULL;
> -	dz = getvariable_local.data_size ? &datasize : NULL;
> +	at = getvariable.attributes ? &attr : NULL;
> +	dz = getvariable.data_size ? &datasize : NULL;
>
> -	if (getvariable_local.data_size && getvariable_local.data) {
> +	if (getvariable.data_size && getvariable.data) {
>  		data = kmalloc(datasize, GFP_KERNEL);
>  		if (!data) {
>  			kfree(name);
> @@ -221,7 +220,7 @@ static long efi_runtime_get_variable(unsigned long arg)
>
>  	if (data) {
>  		if (status == EFI_SUCCESS && prev_datasize >= datasize)
> -			rv = copy_to_user(getvariable_local.data, data,
> +			rv = copy_to_user(getvariable.data, data,
>  				datasize);
>  		kfree(data);
>  	}
> @@ -229,16 +228,16 @@ static long efi_runtime_get_variable(unsigned long arg)
>  	if (rv)
>  		return rv;
>
> -	if (put_user(status, getvariable_local.status))
> +	if (put_user(status, getvariable.status))
>  		return -EFAULT;
>  	if (status == EFI_SUCCESS && prev_datasize >= datasize) {
> -		if (at && put_user(attr, getvariable_local.attributes))
> +		if (at && put_user(attr, getvariable.attributes))
>  			return -EFAULT;
> -		if (dz && put_user(datasize, getvariable_local.data_size))
> +		if (dz && put_user(datasize, getvariable.data_size))
>  			return -EFAULT;
>  		return 0;
>  	} else if (status == EFI_BUFFER_TOO_SMALL) {
> -		if (dz && put_user(datasize, getvariable_local.data_size))
> +		if (dz && put_user(datasize, getvariable.data_size))
>  			return -EFAULT;
>  		return -EINVAL;
>  	} else {
> @@ -250,107 +249,107 @@ static long efi_runtime_get_variable(unsigned long arg)
>
>  static long efi_runtime_set_variable(unsigned long arg)
>  {
> -	struct efi_setvariable __user *setvariable;
> -	struct efi_setvariable setvariable_local;
> +	struct efi_setvariable __user *setvariable_user;
> +	struct efi_setvariable setvariable;
>  	efi_guid_t vendor_guid;
>  	efi_status_t status;
>  	efi_char16_t *name = NULL;
>  	void *data;
>  	int rv;
>
> -	setvariable = (struct efi_setvariable __user *)arg;
> +	setvariable_user = (struct efi_setvariable __user *)arg;
>
> -	if (copy_from_user(&setvariable_local, setvariable,
> -			   sizeof(setvariable_local)))
> +	if (copy_from_user(&setvariable, setvariable_user,
> +			   sizeof(setvariable)))
>  		return -EFAULT;
> -	if (copy_from_user(&vendor_guid, setvariable_local.vendor_guid,
> +	if (copy_from_user(&vendor_guid, setvariable.vendor_guid,
>  			   sizeof(vendor_guid)))
>  		return -EFAULT;
>
> -	if (setvariable_local.variable_name) {
> +	if (setvariable.variable_name) {
>  		rv = copy_ucs2_from_user(&name,
> -					setvariable_local.variable_name);
> +					setvariable.variable_name);
>  		if (rv)
>  			return rv;
>  	}
>
> -	data = kmalloc(setvariable_local.data_size, GFP_KERNEL);
> +	data = kmalloc(setvariable.data_size, GFP_KERNEL);
>  	if (!data) {
>  		kfree(name);
>  		return -ENOMEM;
>  	}
> -	if (copy_from_user(data, setvariable_local.data,
> -			   setvariable_local.data_size)) {
> +	if (copy_from_user(data, setvariable.data,
> +			   setvariable.data_size)) {
>  		kfree(data);
>  		kfree(name);
>  		return -EFAULT;
>  	}
>
>  	status = efi.set_variable(name, &vendor_guid,
> -				setvariable_local.attributes,
> -				setvariable_local.data_size, data);
> +				setvariable.attributes,
> +				setvariable.data_size, data);
>
>  	kfree(data);
>  	kfree(name);
>
> -	if (put_user(status, setvariable_local.status))
> +	if (put_user(status, setvariable.status))
>  		return -EFAULT;
>  	return status == EFI_SUCCESS ? 0 : -EINVAL;
>  }
>
>  static long efi_runtime_get_time(unsigned long arg)
>  {
> -	struct efi_gettime __user *gettime;
> -	struct efi_gettime  gettime_local;
> +	struct efi_gettime __user *gettime_user;
> +	struct efi_gettime  gettime;
>  	efi_status_t status;
>  	efi_time_cap_t cap;
>  	efi_time_t efi_time;
>
> -	gettime = (struct efi_gettime __user *)arg;
> -	if (copy_from_user(&gettime_local, gettime, sizeof(gettime_local)))
> +	gettime_user = (struct efi_gettime __user *)arg;
> +	if (copy_from_user(&gettime, gettime_user, sizeof(gettime)))
>  		return -EFAULT;
>
> -	status = efi.get_time(gettime_local.time ? &efi_time : NULL,
> -			      gettime_local.capabilities ? &cap : NULL);
> +	status = efi.get_time(gettime.time ? &efi_time : NULL,
> +			      gettime.capabilities ? &cap : NULL);
>
> -	if (put_user(status, gettime_local.status))
> +	if (put_user(status, gettime.status))
>  		return -EFAULT;
>  	if (status != EFI_SUCCESS) {
>  		pr_err("efitime: can't read time\n");
>  		return -EINVAL;
>  	}
> -	if (gettime_local.capabilities) {
> +	if (gettime.capabilities) {
>  		efi_time_cap_t __user *cap_local;
>
> -		cap_local = (efi_time_cap_t *)gettime_local.capabilities;
> +		cap_local = (efi_time_cap_t *)gettime.capabilities;
>  		if (put_user(cap.resolution,
>  			&(cap_local->resolution)) ||
>  			put_user(cap.accuracy, &(cap_local->accuracy)) ||
>  			put_user(cap.sets_to_zero, &(cap_local->sets_to_zero)))
>  			return -EFAULT;
>  	}
> -	if (gettime_local.time)
> -		return copy_to_user(gettime_local.time, &efi_time,
> +	if (gettime.time)
> +		return copy_to_user(gettime.time, &efi_time,
>  			sizeof(efi_time_t)) ? -EFAULT : 0;
>  	return 0;
>  }
>
>  static long efi_runtime_set_time(unsigned long arg)
>  {
> -	struct efi_settime __user *settime;
> -	struct efi_settime settime_local;
> +	struct efi_settime __user *settime_user;
> +	struct efi_settime settime;
>  	efi_status_t status;
>  	efi_time_t efi_time;
>
> -	settime = (struct efi_settime __user *)arg;
> -	if (copy_from_user(&settime_local, settime, sizeof(settime_local)))
> +	settime_user = (struct efi_settime __user *)arg;
> +	if (copy_from_user(&settime, settime_user, sizeof(settime)))
>  		return -EFAULT;
> -	if (copy_from_user(&efi_time, settime_local.time,
> +	if (copy_from_user(&efi_time, settime.time,
>  					sizeof(efi_time_t)))
>  		return -EFAULT;
>  	status = efi.set_time(&efi_time);
>
> -	if (put_user(status, settime_local.status))
> +	if (put_user(status, settime.status))
>  		return -EFAULT;
>
>  	return status == EFI_SUCCESS ? 0 : -EINVAL;
> @@ -358,53 +357,53 @@ static long efi_runtime_set_time(unsigned long arg)
>
>  static long efi_runtime_get_waketime(unsigned long arg)
>  {
> -	struct efi_getwakeuptime __user *getwakeuptime;
> -	struct efi_getwakeuptime getwakeuptime_local;
> +	struct efi_getwakeuptime __user *getwakeuptime_user;
> +	struct efi_getwakeuptime getwakeuptime;
>  	efi_bool_t enabled, pending;
>  	efi_status_t status;
>  	efi_time_t efi_time;
>
> -	getwakeuptime = (struct efi_getwakeuptime __user *)arg;
> -	if (copy_from_user(&getwakeuptime_local, getwakeuptime,
> -				sizeof(getwakeuptime_local)))
> +	getwakeuptime_user = (struct efi_getwakeuptime __user *)arg;
> +	if (copy_from_user(&getwakeuptime, getwakeuptime_user,
> +				sizeof(getwakeuptime)))
>  		return -EFAULT;
>
>  	status = efi.get_wakeup_time(
> -		getwakeuptime_local.enabled ? (efi_bool_t *)&enabled : NULL,
> -		getwakeuptime_local.pending ? (efi_bool_t *)&pending : NULL,
> -		getwakeuptime_local.time ? &efi_time : NULL);
> +		getwakeuptime.enabled ? (efi_bool_t *)&enabled : NULL,
> +		getwakeuptime.pending ? (efi_bool_t *)&pending : NULL,
> +		getwakeuptime.time ? &efi_time : NULL);
>
> -	if (put_user(status, getwakeuptime_local.status))
> +	if (put_user(status, getwakeuptime.status))
>  		return -EFAULT;
>  	if (status != EFI_SUCCESS)
>  		return -EINVAL;
> -	if (getwakeuptime_local.enabled && put_user(enabled,
> -						getwakeuptime_local.enabled))
> +	if (getwakeuptime.enabled && put_user(enabled,
> +						getwakeuptime.enabled))
>  		return -EFAULT;
>
> -	if (getwakeuptime_local.time)
> -		return copy_to_user(getwakeuptime_local.time, &efi_time,
> +	if (getwakeuptime.time)
> +		return copy_to_user(getwakeuptime.time, &efi_time,
>  			sizeof(efi_time_t)) ? -EFAULT : 0;
>  	return 0;
>  }
>
>  static long efi_runtime_set_waketime(unsigned long arg)
>  {
> -	struct efi_setwakeuptime __user *setwakeuptime;
> -	struct efi_setwakeuptime setwakeuptime_local;
> +	struct efi_setwakeuptime __user *setwakeuptime_user;
> +	struct efi_setwakeuptime setwakeuptime;
>  	efi_bool_t enabled;
>  	efi_status_t status;
>  	efi_time_t efi_time;
>
> -	setwakeuptime = (struct efi_setwakeuptime __user *)arg;
> +	setwakeuptime_user = (struct efi_setwakeuptime __user *)arg;
>
> -	if (copy_from_user(&setwakeuptime_local, setwakeuptime,
> -				sizeof(setwakeuptime_local)))
> +	if (copy_from_user(&setwakeuptime, setwakeuptime_user,
> +				sizeof(setwakeuptime)))
>  		return -EFAULT;
>
> -	enabled = setwakeuptime_local.enabled;
> -	if (setwakeuptime_local.time) {
> -		if (copy_from_user(&efi_time, setwakeuptime_local.time,
> +	enabled = setwakeuptime.enabled;
> +	if (setwakeuptime.time) {
> +		if (copy_from_user(&efi_time, setwakeuptime.time,
>  					sizeof(efi_time_t)))
>  			return -EFAULT;
>
> @@ -413,7 +412,7 @@ static long efi_runtime_set_waketime(unsigned long arg)
>  		status = efi.set_wakeup_time(enabled, NULL);
>  	}
>
> -	if (put_user(status, setwakeuptime_local.status))
> +	if (put_user(status, setwakeuptime.status))
>  		return -EFAULT;
>
>  	return status == EFI_SUCCESS ? 0 : -EINVAL;
> @@ -421,8 +420,8 @@ static long efi_runtime_set_waketime(unsigned long arg)
>
>  static long efi_runtime_get_nextvariablename(unsigned long arg)
>  {
> -	struct efi_getnextvariablename __user *getnextvariablename;
> -	struct efi_getnextvariablename getnextvariablename_local;
> +	struct efi_getnextvariablename __user *getnextvariablename_user;
> +	struct efi_getnextvariablename getnextvariablename;
>  	unsigned long name_size, prev_name_size = 0, *ns = NULL;
>  	efi_status_t status;
>  	efi_guid_t *vd = NULL;
> @@ -430,34 +429,34 @@ static long efi_runtime_get_nextvariablename(unsigned long arg)
>  	efi_char16_t *name = NULL;
>  	int rv;
>
> -	getnextvariablename = (struct efi_getnextvariablename
> +	getnextvariablename_user = (struct efi_getnextvariablename
>  							__user *)arg;
>
> -	if (copy_from_user(&getnextvariablename_local, getnextvariablename,
> -			   sizeof(getnextvariablename_local)))
> +	if (copy_from_user(&getnextvariablename, getnextvariablename_user,
> +			   sizeof(getnextvariablename)))
>  		return -EFAULT;
>
> -	if (getnextvariablename_local.variable_name_size) {
> +	if (getnextvariablename.variable_name_size) {
>  		if (get_user(name_size,
> -				getnextvariablename_local.variable_name_size))
> +				getnextvariablename.variable_name_size))
>  			return -EFAULT;
>  		ns = &name_size;
>  		prev_name_size = name_size;
>  	}
>
> -	if (getnextvariablename_local.vendor_guid) {
> +	if (getnextvariablename.vendor_guid) {
>  		if (copy_from_user(&vendor_guid,
> -				getnextvariablename_local.vendor_guid,
> +				getnextvariablename.vendor_guid,
>  				sizeof(vendor_guid)))
>  			return -EFAULT;
>  		vd = &vendor_guid;
>  	}
>
> -	if (getnextvariablename_local.variable_name) {
> +	if (getnextvariablename.variable_name) {
>  		size_t name_string_size = 0;
>
>  		rv = get_ucs2_strsize_from_user(
> -				getnextvariablename_local.variable_name,
> +				getnextvariablename.variable_name,
>  				&name_string_size);
>  		if (rv)
>  			return rv;
> @@ -470,7 +469,7 @@ static long efi_runtime_get_nextvariablename(unsigned long arg)
>  		 * the name passed to UEFI may not be terminated as we expected.
>  		 */
>  		rv = copy_ucs2_from_user_len(&name,
> -				getnextvariablename_local.variable_name,
> +				getnextvariablename.variable_name,
>  				prev_name_size > name_string_size ?
>  				prev_name_size : name_string_size);
>  		if (rv)
> @@ -481,24 +480,24 @@ static long efi_runtime_get_nextvariablename(unsigned long arg)
>
>  	if (name) {
>  		rv = copy_ucs2_to_user_len(
> -				getnextvariablename_local.variable_name,
> +				getnextvariablename.variable_name,
>  				name, prev_name_size);
>  		kfree(name);
>  		if (rv)
>  			return -EFAULT;
>  	}
>
> -	if (put_user(status, getnextvariablename_local.status))
> +	if (put_user(status, getnextvariablename.status))
>  		return -EFAULT;
>
>  	if (ns) {
>  		if (put_user(*ns,
> -			getnextvariablename_local.variable_name_size))
> +			getnextvariablename.variable_name_size))
>  			return -EFAULT;
>  	}
>
>  	if (vd) {
> -		if (copy_to_user(getnextvariablename_local.vendor_guid,
> +		if (copy_to_user(getnextvariablename.vendor_guid,
>  				 vd, sizeof(efi_guid_t)))
>  			return -EFAULT;
>  	}
> @@ -510,27 +509,27 @@ static long efi_runtime_get_nextvariablename(unsigned long arg)
>
>  static long efi_runtime_get_nexthighmonocount(unsigned long arg)
>  {
> -	struct efi_getnexthighmonotoniccount __user *getnexthighmonotoniccount;
> -	struct efi_getnexthighmonotoniccount getnexthighmonotoniccount_local;
> +	struct efi_getnexthighmonotoniccount __user *getnexthighmonocount_user;
> +	struct efi_getnexthighmonotoniccount getnexthighmonocount;
>  	efi_status_t status;
>  	u32 count;
>
> -	getnexthighmonotoniccount = (struct
> +	getnexthighmonocount_user = (struct
>  			efi_getnexthighmonotoniccount __user *)arg;
>
> -	if (copy_from_user(&getnexthighmonotoniccount_local,
> -			   getnexthighmonotoniccount,
> -			   sizeof(getnexthighmonotoniccount_local)))
> +	if (copy_from_user(&getnexthighmonocount,
> +			   getnexthighmonocount_user,
> +			   sizeof(getnexthighmonocount)))
>  		return -EFAULT;
>
>  	status = efi.get_next_high_mono_count(
> -		getnexthighmonotoniccount_local.high_count ? &count : NULL);
> +		getnexthighmonocount.high_count ? &count : NULL);
>
> -	if (put_user(status, getnexthighmonotoniccount_local.status))
> +	if (put_user(status, getnexthighmonocount.status))
>  		return -EFAULT;
>
> -	if (getnexthighmonotoniccount_local.high_count &&
> -	    put_user(count, getnexthighmonotoniccount_local.high_count))
> +	if (getnexthighmonocount.high_count &&
> +	    put_user(count, getnexthighmonocount.high_count))
>  		return -EFAULT;
>
>  	if (status != EFI_SUCCESS)
> @@ -543,32 +542,32 @@ static long efi_runtime_get_nexthighmonocount(unsigned long arg)
>  #if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 1, 0)
>  static long efi_runtime_query_variableinfo(unsigned long arg)
>  {
> -	struct efi_queryvariableinfo __user *queryvariableinfo;
> -	struct efi_queryvariableinfo queryvariableinfo_local;
> +	struct efi_queryvariableinfo __user *queryvariableinfo_user;
> +	struct efi_queryvariableinfo queryvariableinfo;
>  	efi_status_t status;
>  	u64 max_storage, remaining, max_size;
>
> -	queryvariableinfo = (struct efi_queryvariableinfo __user *)arg;
> +	queryvariableinfo_user = (struct efi_queryvariableinfo __user *)arg;
>
> -	if (copy_from_user(&queryvariableinfo_local, queryvariableinfo,
> -			   sizeof(queryvariableinfo_local)))
> +	if (copy_from_user(&queryvariableinfo, queryvariableinfo_user,
> +			   sizeof(queryvariableinfo)))
>  		return -EFAULT;
>
> -	status = efi.query_variable_info(queryvariableinfo_local.attributes,
> +	status = efi.query_variable_info(queryvariableinfo.attributes,
>  					 &max_storage, &remaining, &max_size);
>
>  	if (put_user(max_storage,
> -		     queryvariableinfo_local.maximum_variable_storage_size))
> +		     queryvariableinfo.maximum_variable_storage_size))
>  		return -EFAULT;
>
>  	if (put_user(remaining,
> -		     queryvariableinfo_local.remaining_variable_storage_size))
> +		     queryvariableinfo.remaining_variable_storage_size))
>  		return -EFAULT;
>
> -	if (put_user(max_size, queryvariableinfo_local.maximum_variable_size))
> +	if (put_user(max_size, queryvariableinfo.maximum_variable_size))
>  		return -EFAULT;
>
> -	if (put_user(status, queryvariableinfo_local.status))
> +	if (put_user(status, queryvariableinfo.status))
>  		return -EFAULT;
>  	if (status != EFI_SUCCESS)
>  		return -EINVAL;
> @@ -578,32 +577,32 @@ static long efi_runtime_query_variableinfo(unsigned long arg)
>
>  static long efi_runtime_query_capsulecaps(unsigned long arg)
>  {
> -	struct efi_querycapsulecapabilities __user *u_caps;
> -	struct efi_querycapsulecapabilities caps;
> +	struct efi_querycapsulecapabilities __user *qcaps_user;
> +	struct efi_querycapsulecapabilities qcaps;
>  	efi_capsule_header_t *capsules;
>  	efi_status_t status;
>  	u64 max_size;
>  	int i, reset_type;
>  	int rv;
>
> -	u_caps = (struct efi_querycapsulecapabilities __user *)arg;
> +	qcaps_user = (struct efi_querycapsulecapabilities __user *)arg;
>
> -	if (copy_from_user(&caps, u_caps, sizeof(caps)))
> +	if (copy_from_user(&qcaps, qcaps_user, sizeof(qcaps)))
>  		return -EFAULT;
>
> -	capsules = kcalloc(caps.capsule_count + 1,
> +	capsules = kcalloc(qcaps.capsule_count + 1,
>  			   sizeof(efi_capsule_header_t), GFP_KERNEL);
>  	if (!capsules)
>  		return -ENOMEM;
>
> -	for (i = 0; i < caps.capsule_count; i++) {
> +	for (i = 0; i < qcaps.capsule_count; i++) {
>  		efi_capsule_header_t *c;
>  		/*
> -		 * We cannot dereference caps.capsule_header_array directly to
> +		 * We cannot dereference qcaps.capsule_header_array directly to
>  		 * obtain the address of the capsule as it resides in the
>  		 * user space
>  		 */
> -		if (get_user(c, caps.capsule_header_array + i)) {
> +		if (get_user(c, qcaps.capsule_header_array + i)) {
>  			rv = -EFAULT;
>  			goto err_exit;
>  		}
> @@ -614,24 +613,24 @@ static long efi_runtime_query_capsulecaps(unsigned long arg)
>  		}
>  	}
>
> -	caps.capsule_header_array = &capsules;
> +	qcaps.capsule_header_array = &capsules;
>
>  	status = efi.query_capsule_caps((efi_capsule_header_t **)
> -					caps.capsule_header_array,
> -					caps.capsule_count,
> +					qcaps.capsule_header_array,
> +					qcaps.capsule_count,
>  					&max_size, &reset_type);
>
> -	if (put_user(status, caps.status)) {
> +	if (put_user(status, qcaps.status)) {
>  		rv = -EFAULT;
>  		goto err_exit;
>  	}
>
> -	if (put_user(max_size, caps.maximum_capsule_size)) {
> +	if (put_user(max_size, qcaps.maximum_capsule_size)) {
>  		rv = -EFAULT;
>  		goto err_exit;
>  	}
>
> -	if (put_user(reset_type, caps.reset_type)) {
> +	if (put_user(reset_type, qcaps.reset_type)) {
>  		rv = -EFAULT;
>  		goto err_exit;
>  	}
>


Acked-by: Alex Hung <alex.hung@canonical.com>

-- 
fwts-devel mailing list
fwts-devel@lists.ubuntu.com
Modify settings or unsubscribe at: https://lists.ubuntu.com/mailman/listinfo/fwts-devel
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic