From 72af4a843aad6afb11e014cfefcd9499b2d671e6 Mon Sep 17 00:00:00 2001 From: Bahadir Balban Date: Sun, 18 Oct 2009 15:05:56 +0300 Subject: [PATCH] Added userptr access check to exchange_registers --- src/api/syscall.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/api/syscall.c b/src/api/syscall.c index 3f78961..80ec5f8 100644 --- a/src/api/syscall.c +++ b/src/api/syscall.c @@ -126,6 +126,11 @@ int sys_exchange_registers(struct exregs_data *exregs, l4id_t tid) int err = 0; struct ktcb *task; + if ((err = check_access((unsigned long)exregs, + sizeof(*exregs), + MAP_USR_RW_FLAGS, 1)) < 0) + return err; + /* Find tcb from its list */ if (!(task = tcb_find(tid))) return -ESRCH;