Skip to content

tee_acipher_rsadorep: fix handling of zero-padding in output#28

Merged
1 commit merged intoOP-TEE:masterfrom
jforissier:fixes
Aug 29, 2014
Merged

tee_acipher_rsadorep: fix handling of zero-padding in output#28
1 commit merged intoOP-TEE:masterfrom
jforissier:fixes

Conversation

@jforissier
Copy link
Copy Markdown
Contributor

  • Always remove leading null bytes in output buffer (previously this was done
    only for PK_PRIVATE keys)
  • Leave one null byte when rsa_exptmod() output is all zeroes (do not return
    an empty buffer)
  • Fix output buffer length check (take padding into account)

- Always remove leading null bytes in output buffer (previously this was done
only for PK_PRIVATE keys)
- Leave one null byte when rsa_exptmod() output is all zeroes (do not return
an empty buffer)
- Fix output buffer length check (take padding into account)
@jockebech
Copy link
Copy Markdown
Contributor

+1, please make sure that this has been tested before merging it (I know that testing always takes place, I just want to highlight it a bit extra for this patch).

@ghost ghost merged commit 6b050c9 into OP-TEE:master Aug 29, 2014
@hoihochan hoihochan mentioned this pull request Jul 5, 2016
jforissier referenced this pull request in jforissier/optee_os Aug 26, 2020
Tracing the log syscall is of very little value since it will generate
some output to the console anyways. Worse, it pollutes the TA output in
case of a panic or an abort. For example:

 o regression_4005.1 AE case 0 algo 0x40000710 line 2819
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #15 (syscall_cryp_state_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #30 (syscall_cryp_obj_populate)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #29 (syscall_cryp_obj_reset)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #31 (syscall_cryp_obj_copy)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #28 (syscall_cryp_obj_close)
 F/TC:?? 0 trace_syscall:132 syscall #34 (syscall_authenc_init)
 F/TC:?? 0 trace_syscall:132 syscall #2 (syscall_panic)
 E/TC:?? 0
 E/TC:?? 0 TA panicked with code 0xffff0006
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  Status of TA cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:   arch: aarch64
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  0: va 0x40004000 pa 0x100062d000 size 0x002000 flags rw-s (ldelf)
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  1: va 0x40006000 pa 0x100062f000 size 0x00d000 flags r-xs (ldelf)
 ...

Therefore, skip the trace if the syscall number it TEE_SCN_LOG.

Signed-off-by: Jerome Forissier <[email protected]>
jforissier referenced this pull request in jforissier/optee_os Aug 26, 2020
Tracing the log syscall is of very little value since it will generate
some output to the console anyways. Worse, it pollutes the TA output in
case of a panic or an abort. For example:

 o regression_4005.1 AE case 0 algo 0x40000710 line 2819
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #15 (syscall_cryp_state_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #30 (syscall_cryp_obj_populate)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #29 (syscall_cryp_obj_reset)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #31 (syscall_cryp_obj_copy)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #28 (syscall_cryp_obj_close)
 F/TC:?? 0 trace_syscall:132 syscall #34 (syscall_authenc_init)
 F/TC:?? 0 trace_syscall:132 syscall #2 (syscall_panic)
 E/TC:?? 0
 E/TC:?? 0 TA panicked with code 0xffff0006
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  Status of TA cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:   arch: aarch64
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  0: va 0x40004000 pa 0x100062d000 size 0x002000 flags rw-s (ldelf)
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  1: va 0x40006000 pa 0x100062f000 size 0x00d000 flags r-xs (ldelf)
 ...

Therefore, skip the trace if the syscall number it TEE_SCN_LOG.

Signed-off-by: Jerome Forissier <[email protected]>
Reviewed-by: Jens Wiklander <[email protected]>
jforissier added a commit that referenced this pull request Aug 26, 2020
Tracing the log syscall is of very little value since it will generate
some output to the console anyways. Worse, it pollutes the TA output in
case of a panic or an abort. For example:

 o regression_4005.1 AE case 0 algo 0x40000710 line 2819
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #15 (syscall_cryp_state_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #30 (syscall_cryp_obj_populate)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #29 (syscall_cryp_obj_reset)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #31 (syscall_cryp_obj_copy)
 F/TC:?? 0 trace_syscall:132 syscall #24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall #28 (syscall_cryp_obj_close)
 F/TC:?? 0 trace_syscall:132 syscall #34 (syscall_authenc_init)
 F/TC:?? 0 trace_syscall:132 syscall #2 (syscall_panic)
 E/TC:?? 0
 E/TC:?? 0 TA panicked with code 0xffff0006
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  Status of TA cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:   arch: aarch64
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  0: va 0x40004000 pa 0x100062d000 size 0x002000 flags rw-s (ldelf)
 F/TC:?? 0 trace_syscall:132 syscall #1 (syscall_log)
 E/LD:  region  1: va 0x40006000 pa 0x100062f000 size 0x00d000 flags r-xs (ldelf)
 ...

Therefore, skip the trace if the syscall number it TEE_SCN_LOG.

Signed-off-by: Jerome Forissier <[email protected]>
Reviewed-by: Jens Wiklander <[email protected]>
sahilnxp added a commit to sahilnxp/optee_os that referenced this pull request Oct 5, 2020
…:optee_os_3.8.0 to optee_os_3.8.0

* commit 'aad433567d25032be3558a09eca37128f26dfcf9':
  drivers: nxp_dspi: remove black duck and coverity issues
brenzi pushed a commit to elias-vd/optee_os that referenced this pull request Feb 13, 2021
Tracing the log syscall is of very little value since it will generate
some output to the console anyways. Worse, it pollutes the TA output in
case of a panic or an abort. For example:

 o regression_4005.1 AE case 0 algo 0x40000710 line 2819
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#15 (syscall_cryp_state_alloc)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#27 (syscall_cryp_obj_alloc)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#30 (syscall_cryp_obj_populate)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#29 (syscall_cryp_obj_reset)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#31 (syscall_cryp_obj_copy)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#24 (syscall_cryp_obj_get_info)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#28 (syscall_cryp_obj_close)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#34 (syscall_authenc_init)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#2 (syscall_panic)
 E/TC:?? 0
 E/TC:?? 0 TA panicked with code 0xffff0006
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#1 (syscall_log)
 E/LD:  Status of TA cb3e5ba0-adf1-11e0-998b-0002a5d5c51b
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#1 (syscall_log)
 E/LD:   arch: aarch64
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#1 (syscall_log)
 E/LD:  region  0: va 0x40004000 pa 0x100062d000 size 0x002000 flags rw-s (ldelf)
 F/TC:?? 0 trace_syscall:132 syscall OP-TEE#1 (syscall_log)
 E/LD:  region  1: va 0x40006000 pa 0x100062f000 size 0x00d000 flags r-xs (ldelf)
 ...

Therefore, skip the trace if the syscall number it TEE_SCN_LOG.

Signed-off-by: Jerome Forissier <[email protected]>
Reviewed-by: Jens Wiklander <[email protected]>
CyanDevs pushed a commit to CyanDevs/optee_os that referenced this pull request Jan 23, 2023
plat-imx: psci: implement clock-gated cluster idle state
This pull request was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants