uti: Report error of offloading ioctl if any
Change-Id: If4218b9fb89f34728c4aaf81bccab2dfbb0d4a87
This commit is contained in:
committed by
Dominique Martinet
parent
66bc44f88a
commit
cd42d186b7
@@ -25,6 +25,7 @@ hook(long syscall_number,
|
|||||||
struct terminate_thread_desc term_desc;
|
struct terminate_thread_desc term_desc;
|
||||||
unsigned long code;
|
unsigned long code;
|
||||||
int stack_top;
|
int stack_top;
|
||||||
|
long ret;
|
||||||
|
|
||||||
if (!uti_desc.start_syscall_intercept) {
|
if (!uti_desc.start_syscall_intercept) {
|
||||||
return 1; /* System call isn't taken over */
|
return 1; /* System call isn't taken over */
|
||||||
@@ -78,9 +79,12 @@ hook(long syscall_number,
|
|||||||
uti_desc.syscall_stack[stack_top].uti_clv = uti_desc.uti_clv;
|
uti_desc.syscall_stack[stack_top].uti_clv = uti_desc.uti_clv;
|
||||||
uti_desc.syscall_stack[stack_top].ret = -EINVAL;
|
uti_desc.syscall_stack[stack_top].ret = -EINVAL;
|
||||||
|
|
||||||
uti_syscall3(__NR_ioctl, uti_desc.fd, MCEXEC_UP_SYSCALL_THREAD, (long)(uti_desc.syscall_stack + stack_top));
|
ret = uti_syscall3(__NR_ioctl, uti_desc.fd,
|
||||||
*result = uti_desc.syscall_stack[stack_top].ret;
|
MCEXEC_UP_SYSCALL_THREAD,
|
||||||
|
(long)(uti_desc.syscall_stack + stack_top));
|
||||||
|
*result = (ret < 0) ?
|
||||||
|
ret : uti_desc.syscall_stack[stack_top].ret;
|
||||||
|
|
||||||
/* push syscall_struct list */
|
/* push syscall_struct list */
|
||||||
__sync_fetch_and_add(&uti_desc.syscall_stack_top, 1);
|
__sync_fetch_and_add(&uti_desc.syscall_stack_top, 1);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user