Allow guest to specify syscall vector to use.

(Based on Ron Minnich's LGUEST_PLAN9_SYSCALL patch).

This patch allows Guests to specify what system call vector they want,
and we try to reserve it.  We only allow one non-Linux system call
vector, to try to avoid DoS on the Host.

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
This commit is contained in:
Rusty Russell
2007-10-22 11:03:35 +10:00
parent ee3db0f2b6
commit c18acd73ff
6 changed files with 79 additions and 11 deletions

View File

@@ -530,6 +530,10 @@ int lguest_arch_init_hypercalls(struct lguest *lg)
if (put_user(tsc_speed, &lg->lguest_data->tsc_khz))
return -EFAULT;
/* The interrupt code might not like the system call vector. */
if (!check_syscall_vector(lg))
kill_guest(lg, "bad syscall vector");
return 0;
}
/* Now we've examined the hypercall code; our Guest can make requests. There