Skip to content

Various fixes on address check and TA mapping#34

Closed
pascal-brand38 wants to merge 1 commit intoOP-TEE:masterfrom
pascal-brand38:fix/various
Closed

Various fixes on address check and TA mapping#34
pascal-brand38 wants to merge 1 commit intoOP-TEE:masterfrom
pascal-brand38:fix/various

Conversation

@pascal-brand38
Copy link
Copy Markdown

  • Fix teetz core_vbuf_is(): handle case where a TA is currently mapped.
  • Fix teetz tee_mmu_kmap_va2pa_helper(): buggy test on address.
  • Fix tee_ta_init_session(): drop TA mapping (if any) during TA
    load through RPC.

* Fix teetz core_vbuf_is(): handle case where a TA is currently mapped.
* Fix teetz tee_mmu_kmap_va2pa_helper(): buggy test on address.
* Fix tee_ta_init_session(): drop TA mapping (if any) during TA
  load through RPC.
@pascal-brand38 pascal-brand38 deleted the fix/various branch October 10, 2014 13:37
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]>
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
VIA i.MX6Q VAB820 board supported
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.

2 participants