ACK: [PATCH 2/6] efi_runtime: redefine all uint*_t types by following the header efi.h

Colin Ian King colin.king at canonical.com
Fri Aug 19 07:46:59 UTC 2016


On 19/08/16 03:57, Ivan Hu wrote:
> Signed-off-by: Ivan Hu <ivan.hu at canonical.com>
> ---
>  efi_runtime/efi_runtime.c | 42 +++++++++++++++++---------------
>  efi_runtime/efi_runtime.h | 62 +++++++++++++++++++++++------------------------
>  2 files changed, 54 insertions(+), 50 deletions(-)
> 
> diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c
> index daf8625..46baedf 100644
> --- a/efi_runtime/efi_runtime.c
> +++ b/efi_runtime/efi_runtime.c
> @@ -47,16 +47,16 @@ MODULE_LICENSE("GPL");
>   * Note this function returns the number of *bytes*, not the number of
>   * ucs2 characters.
>   */
> -static inline size_t user_ucs2_strsize(uint16_t  __user *str)
> +static inline size_t user_ucs2_strsize(efi_char16_t  __user *str)
>  {
> -	uint16_t *s = str, c;
> +	efi_char16_t *s = str, c;
>  	size_t len;
>  
>  	if (!str)
>  		return 0;
>  
>  	/* Include terminating NULL */
> -	len = sizeof(uint16_t);
> +	len = sizeof(efi_char16_t);
>  
>  	if (get_user(c, s++)) {
>  		/* Can't read userspace memory for size */
> @@ -68,7 +68,7 @@ static inline size_t user_ucs2_strsize(uint16_t  __user *str)
>  			/* Can't read userspace memory for size */
>  			return 0;
>  		}
> -		len += sizeof(uint16_t);
> +		len += sizeof(efi_char16_t);
>  	}
>  	return len;
>  }
> @@ -77,9 +77,10 @@ static inline size_t user_ucs2_strsize(uint16_t  __user *str)
>   * Allocate a buffer and copy a ucs2 string from user space into it.
>   */
>  static inline int
> -copy_ucs2_from_user_len(uint16_t **dst, uint16_t __user *src, size_t len)
> +copy_ucs2_from_user_len(efi_char16_t **dst, efi_char16_t __user *src,
> +			size_t len)
>  {
> -	uint16_t *buf;
> +	efi_char16_t *buf;
>  
>  	if (!src) {
>  		*dst = NULL;
> @@ -109,7 +110,8 @@ copy_ucs2_from_user_len(uint16_t **dst, uint16_t __user *src, size_t len)
>   *
>   * Just a wrap for user_ucs2_strsize
>   */
> -static inline int get_ucs2_strsize_from_user(uint16_t __user *src, size_t *len)
> +static inline int
> +get_ucs2_strsize_from_user(efi_char16_t __user *src, size_t *len)
>  {
>  	if (!access_ok(VERIFY_READ, src, 1))
>  		return -EFAULT;
> @@ -133,7 +135,8 @@ static inline int get_ucs2_strsize_from_user(uint16_t __user *src, size_t *len)
>   *
>   * It is the caller's responsibility to free 'dst'.
>   */
> -static inline int copy_ucs2_from_user(uint16_t **dst, uint16_t __user *src)
> +static inline int
> +copy_ucs2_from_user(efi_char16_t **dst, efi_char16_t __user *src)
>  {
>  	size_t len;
>  
> @@ -156,7 +159,7 @@ static inline int copy_ucs2_from_user(uint16_t **dst, uint16_t __user *src)
>   * 'len' specifies the number of bytes to copy.
>   */
>  static inline int
> -copy_ucs2_to_user_len(uint16_t __user *dst, uint16_t *src, size_t len)
> +copy_ucs2_to_user_len(efi_char16_t __user *dst, efi_char16_t *src, size_t len)
>  {
>  	if (!src)
>  		return 0;
> @@ -174,8 +177,8 @@ static long efi_runtime_get_variable(unsigned long arg)
>  	unsigned long datasize, prev_datasize, *dz;
>  	efi_guid_t vendor_guid, *vd = NULL;
>  	efi_status_t status;
> -	uint16_t *name = NULL;
> -	uint32_t attr, *at;
> +	efi_char16_t *name = NULL;
> +	u32 attr, *at;
>  	void *data = NULL;
>  	int rv = 0;
>  
> @@ -251,7 +254,7 @@ static long efi_runtime_set_variable(unsigned long arg)
>  	struct efi_setvariable setvariable_local;
>  	efi_guid_t vendor_guid;
>  	efi_status_t status;
> -	uint16_t *name = NULL;
> +	efi_char16_t *name = NULL;
>  	void *data;
>  	int rv;
>  
> @@ -265,7 +268,8 @@ static long efi_runtime_set_variable(unsigned long arg)
>  		return -EFAULT;
>  
>  	if (setvariable_local.variable_name) {
> -		rv = copy_ucs2_from_user(&name, setvariable_local.variable_name);
> +		rv = copy_ucs2_from_user(&name,
> +					setvariable_local.variable_name);
>  		if (rv)
>  			return rv;
>  	}
> @@ -356,7 +360,7 @@ static long efi_runtime_get_waketime(unsigned long arg)
>  {
>  	struct efi_getwakeuptime __user *getwakeuptime;
>  	struct efi_getwakeuptime getwakeuptime_local;
> -	unsigned char enabled, pending;
> +	efi_bool_t enabled, pending;
>  	efi_status_t status;
>  	efi_time_t efi_time;
>  
> @@ -388,7 +392,7 @@ static long efi_runtime_set_waketime(unsigned long arg)
>  {
>  	struct efi_setwakeuptime __user *setwakeuptime;
>  	struct efi_setwakeuptime setwakeuptime_local;
> -	unsigned char enabled;
> +	efi_bool_t enabled;
>  	efi_status_t status;
>  	efi_time_t efi_time;
>  
> @@ -423,7 +427,7 @@ static long efi_runtime_get_nextvariablename(unsigned long arg)
>  	efi_status_t status;
>  	efi_guid_t *vd = NULL;
>  	efi_guid_t vendor_guid;
> -	uint16_t *name = NULL;
> +	efi_char16_t *name = NULL;
>  	int rv;
>  
>  	getnextvariablename = (struct efi_getnextvariablename
> @@ -509,7 +513,7 @@ static long efi_runtime_get_nexthighmonocount(unsigned long arg)
>  	struct efi_getnexthighmonotoniccount __user *getnexthighmonotoniccount;
>  	struct efi_getnexthighmonotoniccount getnexthighmonotoniccount_local;
>  	efi_status_t status;
> -	uint32_t count;
> +	u32 count;
>  
>  	getnexthighmonotoniccount = (struct
>  			efi_getnexthighmonotoniccount __user *)arg;
> @@ -542,7 +546,7 @@ static long efi_runtime_query_variableinfo(unsigned long arg)
>  	struct efi_queryvariableinfo __user *queryvariableinfo;
>  	struct efi_queryvariableinfo queryvariableinfo_local;
>  	efi_status_t status;
> -	uint64_t max_storage, remaining, max_size;
> +	u64 max_storage, remaining, max_size;
>  
>  	queryvariableinfo = (struct efi_queryvariableinfo __user *)arg;
>  
> @@ -578,7 +582,7 @@ static long efi_runtime_query_capsulecaps(unsigned long arg)
>  	struct efi_querycapsulecapabilities caps;
>  	efi_capsule_header_t *capsules;
>  	efi_status_t status;
> -	uint64_t max_size;
> +	u64 max_size;
>  	int i, reset_type;
>  	int rv;
>  
> diff --git a/efi_runtime/efi_runtime.h b/efi_runtime/efi_runtime.h
> index 9167688..b3da40e 100644
> --- a/efi_runtime/efi_runtime.h
> +++ b/efi_runtime/efi_runtime.h
> @@ -25,73 +25,73 @@
>  #include <linux/efi.h>
>  
>  struct efi_getvariable {
> -	uint16_t	*variable_name;
> +	efi_char16_t	*variable_name;
>  	efi_guid_t	*vendor_guid;
> -	uint32_t	*attributes;
> -	uint64_t	*data_size;
> +	u32		*attributes;
> +	unsigned long	*data_size;
>  	void		*data;
> -	uint64_t	*status;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_setvariable {
> -	uint16_t	*variable_name;
> +	efi_char16_t	*variable_name;
>  	efi_guid_t	*vendor_guid;
> -	uint32_t	attributes;
> -	uint64_t	data_size;
> +	u32		attributes;
> +	unsigned long	data_size;
>  	void		*data;
> -	uint64_t	*status;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_getnextvariablename {
> -	uint64_t	*variable_name_size;
> -	uint16_t	*variable_name;
> +	unsigned long	*variable_name_size;
> +	efi_char16_t	*variable_name;
>  	efi_guid_t	*vendor_guid;
> -	uint64_t	*status;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_queryvariableinfo {
> -	uint32_t	attributes;
> -	uint64_t	*maximum_variable_storage_size;
> -	uint64_t	*remaining_variable_storage_size;
> -	uint64_t	*maximum_variable_size;
> -	uint64_t	*status;
> +	u32		attributes;
> +	u64		*maximum_variable_storage_size;
> +	u64		*remaining_variable_storage_size;
> +	u64		*maximum_variable_size;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_gettime {
> -	efi_time_t		*time;
> -	efi_time_cap_t		*capabilities;
> -	uint64_t		*status;
> +	efi_time_t	*time;
> +	efi_time_cap_t	*capabilities;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_settime {
> -	efi_time_t		*time;
> -	uint64_t		*status;
> +	efi_time_t	*time;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_getwakeuptime {
> -	uint8_t		*enabled;
> -	uint8_t		*pending;
> +	efi_bool_t	*enabled;
> +	efi_bool_t	*pending;
>  	efi_time_t	*time;
> -	uint64_t	*status;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_setwakeuptime {
> -	uint8_t		enabled;
> +	efi_bool_t	enabled;
>  	efi_time_t	*time;
> -	uint64_t	*status;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_getnexthighmonotoniccount {
> -	uint32_t	*high_count;
> -	uint64_t	*status;
> +	u32		*high_count;
> +	efi_status_t	*status;
>  } __packed;
>  
>  struct efi_querycapsulecapabilities {
>  	efi_capsule_header_t	**capsule_header_array;
> -	uint64_t		capsule_count;
> -	uint64_t		*maximum_capsule_size;
> +	unsigned long		capsule_count;
> +	u64			*maximum_capsule_size;
>  	int			*reset_type;
> -	uint64_t		*status;
> +	efi_status_t		*status;
>  } __packed;
>  
>  /* ioctl calls that are permitted to the /dev/efi_runtime interface. */
> 
Acked-by: Colin Ian King <colin.king at canonical.com>



More information about the fwts-devel mailing list