From patchwork Fri Aug 19 02:57:36 2016 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Ivan Hu X-Patchwork-Id: 660686 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) by ozlabs.org (Postfix) with ESMTP id 3sFnhQ6d9kz9t0p; Fri, 19 Aug 2016 12:57:58 +1000 (AEST) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1baa0L-0002JL-SZ; Fri, 19 Aug 2016 02:57:57 +0000 Received: from youngberry.canonical.com ([91.189.89.112]) by huckleberry.canonical.com with esmtp (Exim 4.76) (envelope-from ) id 1baa0G-0002IT-7R for fwts-devel@lists.ubuntu.com; Fri, 19 Aug 2016 02:57:52 +0000 Received: from [175.181.155.183] (helo=canonical.com) by youngberry.canonical.com with esmtpsa (TLS1.0:DHE_RSA_AES_128_CBC_SHA1:16) (Exim 4.76) (envelope-from ) id 1baa0E-0004jk-W8; Fri, 19 Aug 2016 02:57:51 +0000 From: Ivan Hu To: fwts-devel@lists.ubuntu.com Subject: [PATCH 2/6] efi_runtime: redefine all uint*_t types by following the header efi.h Date: Fri, 19 Aug 2016 10:57:36 +0800 Message-Id: <1471575460-13421-2-git-send-email-ivan.hu@canonical.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1471575460-13421-1-git-send-email-ivan.hu@canonical.com> References: <1471575460-13421-1-git-send-email-ivan.hu@canonical.com> X-BeenThere: fwts-devel@lists.ubuntu.com X-Mailman-Version: 2.1.14 Precedence: list List-Id: Firmware Test Suite Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: fwts-devel-bounces@lists.ubuntu.com Sender: fwts-devel-bounces@lists.ubuntu.com Signed-off-by: Ivan Hu Acked-by: Colin Ian King Acked-by: Alex Hung --- 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 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. */