@@ -77,41 +77,16 @@ int make_threei_call (unsigned int callnumber,
7777 uint64_t arg6 , uint64_t arg6cageid ,
7878 int translate_errno )
7979{
80- if (LIND_ARG_SHOULD_TRANSLATE (arg1cageid )) {
81- arg1 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg1 );
82- }
83- if (LIND_ARG_SHOULD_TRANSLATE (arg2cageid )) {
84- arg2 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg2 );
85- }
86- if (LIND_ARG_SHOULD_TRANSLATE (arg3cageid )) {
87- arg3 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg3 );
88- }
89- if (LIND_ARG_SHOULD_TRANSLATE (arg4cageid )) {
90- arg4 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg4 );
91- }
92- if (LIND_ARG_SHOULD_TRANSLATE (arg5cageid )) {
93- arg5 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg5 );
94- }
95- if (LIND_ARG_SHOULD_TRANSLATE (arg6cageid )) {
96- arg6 = TRANSLATE_GUEST_POINTER_TO_HOST ((const void * )(uintptr_t )arg6 );
97- }
98-
99- arg1cageid = LIND_ARG_CAGEID_STRIP (arg1cageid );
100- arg2cageid = LIND_ARG_CAGEID_STRIP (arg2cageid );
101- arg3cageid = LIND_ARG_CAGEID_STRIP (arg3cageid );
102- arg4cageid = LIND_ARG_CAGEID_STRIP (arg4cageid );
103- arg5cageid = LIND_ARG_CAGEID_STRIP (arg5cageid );
104- arg6cageid = LIND_ARG_CAGEID_STRIP (arg6cageid );
105-
10680 int ret = __lind_make_syscall_trampoline (callnumber ,
10781 callname ,
10882 self_cageid , target_cageid ,
109- arg1 , arg1cageid ,
110- arg2 , arg2cageid ,
111- arg3 , arg3cageid ,
112- arg4 , arg4cageid ,
113- arg5 , arg5cageid ,
114- arg6 , arg6cageid );
83+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid ,
84+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid ,
85+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid ,
86+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid ,
87+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid ,
88+ TRANSLATE_UADDR_TO_HOST (arg1 , arg1cageid ), arg1cageid );
89+
11590 // if translate_errno is not enabled, we do not do any further process to errno handling and directly return the result
11691 if (translate_errno == 0 ) return ret ;
11792 // handle the errno
0 commit comments