[PATCH 2/6] efi_runtime: redefine all uint*_t types by following the header efi.h
Ivan Hu
ivan.hu at canonical.com
Fri Aug 19 02:57:36 UTC 2016
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. */
--
1.9.1
More information about the fwts-devel
mailing list