History log of /optee_os/lib/libutee/tee_api_property.c (Results 1 – 25 of 26)
Revision Date Author Comments
# 81d5a9d5 26-Aug-2024 Jens Wiklander <jens.wiklander@linaro.org>

Move base64.{c,h} from libutee to libutils

Make the base64 routines publicly available by moving them from libutee
to libutils. The _ prefix is removed from the public functions since
they aren't in

Move base64.{c,h} from libutee to libutils

Make the base64 routines publicly available by moving them from libutee
to libutils. The _ prefix is removed from the public functions since
they aren't internal to libutee any longer.

Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>

show more ...


# 4d6266da 22-Aug-2023 Clement Faure <clement.faure@nxp.com>

lib: libutee: initialize variables in TEE_GetPropertyAsString()

Initialize local variables at declaration as specified by the coding
guidelines.

Signed-off-by: Clement Faure <clement.faure@nxp.com>

lib: libutee: initialize variables in TEE_GetPropertyAsString()

Initialize local variables at declaration as specified by the coding
guidelines.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# a1f2c430 24-Jul-2023 Clement Faure <clement.faure@nxp.com>

lib: libutee: initialize TA property type

TA property type `type` is declared without being initialized and might
be used in the if statement uninitialized.

Signed-off-by: Clement Faure <clement.fa

lib: libutee: initialize TA property type

TA property type `type` is declared without being initialized and might
be used in the if statement uninitialized.

Signed-off-by: Clement Faure <clement.faure@nxp.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 094120ad 23-Nov-2022 Jens Wiklander <jens.wiklander@linaro.org>

GP131: add ta property gpd.tee.internalCore.version

Adds the new property "gpd.tee.internalCore.version" to report the
TEE Internal Core API Specification version number used.

Reviewed-by: Jerome F

GP131: add ta property gpd.tee.internalCore.version

Adds the new property "gpd.tee.internalCore.version" to report the
TEE Internal Core API Specification version number used.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 6551d565 30-Nov-2022 Jens Wiklander <jens.wiklander@linaro.org>

GP131: Update TEE_GetProperty*() functions

Update the TEE_GetProperty*() functions to according to TEE Internal
Core API version 1.3.1. A new function TEE_GetPropertyAsU64() is added
and size_t poin

GP131: Update TEE_GetProperty*() functions

Update the TEE_GetProperty*() functions to according to TEE Internal
Core API version 1.3.1. A new function TEE_GetPropertyAsU64() is added
and size_t pointer are used instead of uint32_t pointers for the length
of buffers.

Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 6915bbbb 18-Jun-2020 Jens Wiklander <jens.wiklander@linaro.org>

GP 1.1: Check parameters annotated in the specification

Checks that all the function parameters which are annotated in the
specification [1] are compliant with regards to memory access and memory
lo

GP 1.1: Check parameters annotated in the specification

Checks that all the function parameters which are annotated in the
specification [1] are compliant with regards to memory access and memory
location. In case the check fails the TA panics to help debugging. The
more precise and expensive checks can be disabled with
CFG_TA_STRICT_ANNOTATION_CHECKS=n.

TEE_Realloc(), TEE_MemMove(), TEE_MemCompare(), TEE_MemFill() are
skipped for performance reasons. The TA will instead die with a fatal
exception if buffers supplied to these functions do not follow the
annotation rules.

[1]: GlobalPlatform TEE Internal Core API Specification v1.1

Reviewed-by: Jerome Forissier <jerome@forissier.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 97b8ba50 23-Jun-2020 Jerome Forissier <jerome@forissier.org>

libutee: add leading underscore to base64 functions

Add a leading underscore to global functions: base64_dec(),
base64_enc(), base64_enc_len() to avoid the risk of conflicts with user
programs.

Sig

libutee: add leading underscore to base64 functions

Add a leading underscore to global functions: base64_dec(),
base64_enc(), base64_enc_len() to avoid the risk of conflicts with user
programs.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# ec930cae 23-Jun-2020 Jerome Forissier <jerome@forissier.org>

libutee: remove unnecessary parentheses

checkpatch warns about unnecessary parentheses, remove them.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@

libutee: remove unnecessary parentheses

checkpatch warns about unnecessary parentheses, remove them.

Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 2c028fde 23-Jun-2020 Jerome Forissier <jerome@forissier.org>

libutee, ldelf: add leading underscore to syscall wrappers

libutee defines assembler wrapper functions for each OP-TEE system call.
These wrappers have a utee_ prefix. This commit adds a leading
und

libutee, ldelf: add leading underscore to syscall wrappers

libutee defines assembler wrapper functions for each OP-TEE system call.
These wrappers have a utee_ prefix. This commit adds a leading
underscore so that the names cannot clash with user-defined symbols.
Doing so is common practice for "system" libraries, as defined by the C
standard in a set of requirements that can be summarized as follows
(excerpt from the GNU libc documentation [1]):

[R]eserved names include all external identifiers (global functions
and variables) that begin with an underscore (‘_’) and all identifiers
regardless of use that begin with either two underscores or an
underscore followed by a capital letter are reserved names. This is so
that the library and header files can define functions, variables, and
macros for internal purposes without risk of conflict with names in
user programs.

The utee_*() wrappers are internal to OP-TEE and are not supposed to be
called directly by TAs so this should not have any user-visible impact.

Link: [1] https://www.gnu.org/software/libc/manual/html_node/Reserved-Names.html
Signed-off-by: Jerome Forissier <jerome@forissier.org>
Acked-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 614e8b8a 26-May-2020 Etienne Carriere <etienne.carriere@linaro.org>

libutee: fix size query for property as binary block

Fix TEE_GetPropertyAsBinaryBlock() to allow caller to query property
size by providing a NULL output buffer reference.

Fixes: https://github.com

libutee: fix size query for property as binary block

Fix TEE_GetPropertyAsBinaryBlock() to allow caller to query property
size by providing a NULL output buffer reference.

Fixes: https://github.com/OP-TEE/optee_os/issues/3876
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# dc0f4ec2 16-May-2018 Etienne Carriere <etienne.carriere@st.com>

Remove license notice from STMicroelectronics files

Since a while the source files license info are defined by SPDX
identifiers. We can safely remove the verbose license text from the
files that are

Remove license notice from STMicroelectronics files

Since a while the source files license info are defined by SPDX
identifiers. We can safely remove the verbose license text from the
files that are owned by either only STMicroelectronics or only both
Linaro and STMicroelectronics.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
Signed-off-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# e3458e03 26-Mar-2018 Jerome Forissier <jerome.forissier@linaro.org>

libutee: introduce CFG_TA_BIGNUM_MAX_BITS

Make the size of big numbers in libutee configurable. This controls
the size of the big numbers that can be manipulated through the TEE
Internal Core API (A

libutee: introduce CFG_TA_BIGNUM_MAX_BITS

Make the size of big numbers in libutee configurable. This controls
the size of the big numbers that can be manipulated through the TEE
Internal Core API (Arithmetical functions).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 1bb92983 15-Dec-2017 Jerome Forissier <jerome.forissier@linaro.org>

Add SPDX license identifiers

Adds one SPDX-License-Identifier line [1] to each source files that
contains license text.

Generated by [2]:
spdxify.py --add-spdx optee_os/

The scancode tool [3] wa

Add SPDX license identifiers

Adds one SPDX-License-Identifier line [1] to each source files that
contains license text.

Generated by [2]:
spdxify.py --add-spdx optee_os/

The scancode tool [3] was used to double check the license matching
code in the Python script. All the licenses detected by scancode are
either detected by spdxify.py, or have no SPDX identifier, or are false
matches.

Link: [1] https://spdx.org/licenses/
Link: [2] https://github.com/jforissier/misc/blob/f7b56c8/spdxify.py
Link: [3] https://github.com/nexB/scancode-toolkit
Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Acked-by: Joakim Bech <joakim.bech@linaro.org>

show more ...


# d5d50c3c 27-Dec-2017 Jens Wiklander <jens.wiklander@linaro.org>

Fix USER_TA_PROP_TYPE_BOOL handling

In 'ta_props' in ta/arch/arm/user_ta_header.c properties tagged as
USER_TA_PROP_TYPE_BOOL are assigned a pointer to a bool, but is in the
rest of the code handled

Fix USER_TA_PROP_TYPE_BOOL handling

In 'ta_props' in ta/arch/arm/user_ta_header.c properties tagged as
USER_TA_PROP_TYPE_BOOL are assigned a pointer to a bool, but is in the
rest of the code handled as if it was a pointer to a uint32_t. This
works as long as a bool is four bytes, with certain compilers the size
of a `bool` is 1 instead leading to errors.

TA properties can be supplied via the define
TA_CURRENT_TA_EXT_PROPERTIES. The pattern used in
ta/arch/arm/user_ta_header.c is likely copied when assigning properties
via TA_CURRENT_TA_EXT_PROPERTIES.

This patch is fixing the assumption that the size of a `bool` is the
same as the size of a `uint32_t` by changing all handling of
USER_TA_PROP_TYPE_BOOL to base it on the type `bool` instead of
`uint32_t`.

Reviewed-by: Jianhui Li <airbak.li@hisilicon.com>
Tested by: Jianhui Li <airbak.li@hisilicon.com>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# a32a96ed 13-Dec-2016 Jens Wiklander <jens.wiklander@linaro.org>

libutee: add TEE iSocket interface and implementation

Adds TEE iSocket interface and corresponding user space implementation
for TCP and UDP. A pseudo TA is defined for interaction with OP-TEE
Core.

libutee: add TEE iSocket interface and implementation

Adds TEE iSocket interface and corresponding user space implementation
for TCP and UDP. A pseudo TA is defined for interaction with OP-TEE
Core.

Acked-by: Etienne Carriere <etienne.carriere@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Signed-off-by: Jens Wiklander <jens.wiklander@linaro.org>

show more ...


# 8f07fe6f 30-Jan-2017 Jerome Forissier <jerome.forissier@linaro.org>

libutee: API: add 'const' qualifiers

As per the GlobalPlatform Internal Core API Specification v1.1,
section 3.4 Parameter Annotations: "[...] the [in], [inbuf],
[instring], [instringopt], and [ctx]

libutee: API: add 'const' qualifiers

As per the GlobalPlatform Internal Core API Specification v1.1,
section 3.4 Parameter Annotations: "[...] the [in], [inbuf],
[instring], [instringopt], and [ctx] annotations can make use of the
const C keyword [...] the C header file of a compliant Implementation
SHOULD use the const keyword when these annotations appear."

Note that the TA entry points: TA_OpenSessionEntryPoint(),
TA_CloseSessionEntryPoint() and TA_InvokeCommandEntryPoint() are
unchanged to avoid breaking existing code (not worth it).

Signed-off-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Etienne Carriere <etienne.carriere@linaro.org>

show more ...


# 254e1d58 18-Feb-2016 Pascal Brand <pascal.brand@st.com>

Properties: fix required buffer len for USER_TA_PROP_TYPE_BINARY_BLOCK

In case of USER_TA_PROP_TYPE_BINARY_BLOCK that is get by a string,
a short buffer can be obtained from getting the binary block

Properties: fix required buffer len for USER_TA_PROP_TYPE_BINARY_BLOCK

In case of USER_TA_PROP_TYPE_BINARY_BLOCK that is get by a string,
a short buffer can be obtained from getting the binary block
itself, which requires a given th, and then from the
base64 encoding of the buffer, which requires a longer buffer.

This fix check both required length, to return the second
one in case of a short buffer

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>

show more ...


# 0dd3f3a4 15-Feb-2016 Pascal Brand <pascal.brand@st.com>

Properties: coding style

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU)
Signed-off-by: Pascal Brand <pascal.brand@st.com>


# ff857a3a 15-Feb-2016 Pascal Brand <pascal.brand@st.com>

Properties: fix in case of TEE_ERROR_SHORT_BUFFER

* TEE_ERROR_SHORT_BUFFER errors are better handled in case of
of properties inside the Core.
* String and Binary Block were contraints to have a l

Properties: fix in case of TEE_ERROR_SHORT_BUFFER

* TEE_ERROR_SHORT_BUFFER errors are better handled in case of
of properties inside the Core.
* String and Binary Block were contraints to have a length lower than
80 bytes due to the use of an internal structure. This is removed

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>

show more ...


# 64a5011e 10-Feb-2016 Pascal Brand <pascal.brand@st.com>

Properties in kernel side

In order to ease the inclusion of vendor-specific properties,
properties are now mostly described in the kernel. This allows
a lower synchronization between user-side and k

Properties in kernel side

In order to ease the inclusion of vendor-specific properties,
properties are now mostly described in the kernel. This allows
a lower synchronization between user-side and kernel-side.

The only properties now handled at user-side are TA properties
(apart from "gpd.ta.appID") as well as the TEE property
"gpd.tee.arith.maxBigIntSize"

Early discussion can be found at
https://github.com/OP-TEE/optee_os/pull/460
and https://github.com/OP-TEE/optee_os/pull/482

Suggested-by: Paul Swan <paswan@microsoft.com>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Signed-off-by: Pascal Brand <pascal.brand@st.com>

show more ...


# ab35d7ad 28-Apr-2015 Cedric Chaumont <cedric.chaumont@st.com>

GP Internal Core API v1.1 : TEE configuration properties

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier

GP Internal Core API v1.1 : TEE configuration properties

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Jerome Forissier <jerome.forissier@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards)
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)

show more ...


# ba675d69 15-Apr-2015 Cedric Chaumont <cedric.chaumont@st.com>

GP Internal Core API v1.1 : review property access functions

update panic reasons, functions input parameters check

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Jens Wikland

GP Internal Core API v1.1 : review property access functions

update panic reasons, functions input parameters check

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM boards)
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (ARM Juno board)

show more ...


# 7f74c64a 01-Apr-2015 Pascal Brand <pascal.brand@st.com>

Update ABI-32bits and v1.1 uint32_t changes

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
Signed-off-by: Pascal Brand <pasc

Update ABI-32bits and v1.1 uint32_t changes

Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (STM platform)
Signed-off-by: Pascal Brand <pascal.brand@st.com>

show more ...


# 79a3c601 13-Mar-2015 Cedric Chaumont <cedric.chaumont@st.com>

GP Internal Core API v1.1 : add defines, update type

Note: TEE_DATA_FLAG_OVERWRITE not supported

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Pascal Brand <pascal.brand@lina

GP Internal Core API v1.1 : add defines, update type

Note: TEE_DATA_FLAG_OVERWRITE not supported

Signed-off-by: Cedric Chaumont <cedric.chaumont@st.com>
Reviewed-by: Pascal Brand <pascal.brand@linaro.org>
Reviewed-by: Jens Wiklander <jens.wiklander@linaro.org>
Reviewed-by: James Kung <james.kung@linaro.org>
Tested-by: Pascal Brand <pascal.brand@linaro.org> (QEMU platform)
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (STM Cannes)
Tested-by: Cedric Chaumont <cedric.chaumont@linaro.org> (FVP)

show more ...


# 647f9c76 21-Aug-2014 Jerome Forissier <jerome.forissier@linaro.org>

Get value of gpd.tee.arith.maxBigIntSize from libutee

The property gpd.tee.arith.maxBigIntSize was implemented in TEE core by
tee_svc_sys_get_property() which was returning a constant taken from the

Get value of gpd.tee.arith.maxBigIntSize from libutee

The property gpd.tee.arith.maxBigIntSize was implemented in TEE core by
tee_svc_sys_get_property() which was returning a constant taken from the
crypto module (LTC_MAX_BITS_PER_VARIABLE / 2).
The correct value is TEE_MAX_NUMBER_OF_SUPPORTED_BITS from libutee.
This commit makes libutee return the appropriate value directly (without
calling the TEE core) and deletes the property from the syscall.
Additionally, this removes the unjustified dependency of tee_svc.c on
<tee_ltc_wrapper.h>.

show more ...


12