uti: Check size of syscall arguments for syscall_intercept

Change-Id: I747b90e1f521b08266cfc021ef4b23e2e3c7ba4c
This commit is contained in:
Masamichi Takagi
2018-09-02 17:08:37 +09:00
parent c60a778c8d
commit ee299b5780

View File

@ -3020,6 +3020,11 @@ create_tracer(unsigned long user_start, unsigned long user_end)
open("/dev/null", O_WRONLY);
#endif
/* Initialize list of syscall arguments for syscall_intercept */
if (sizeof(struct syscall_struct) * 11 > PAGE_SIZE) {
fprintf(stderr, "%s: ERROR: param is too large\n", __FUNCTION__);
exit(1);
}
for (i = 1; i <= 10; i++) {
param = (struct syscall_struct *)uti_desc->wp + i;
*(void **)param = param_top;