diff options
| author | Arnd Bergmann <arnd@arndb.de> | 2012-03-19 20:46:32 +0000 |
|---|---|---|
| committer | Arnd Bergmann <arnd@arndb.de> | 2012-03-20 09:41:43 +0000 |
| commit | b2f1df8d2fc14bf7e6d9d967043d4b60c2efd8dc (patch) | |
| tree | 065282434bde6ef9b4357c042705c5fcef3782ea /include/linux/regset.h | |
| parent | c0206e228e34d8b414fcc63db45b831843adea06 (diff) | |
| parent | 5cd9eb2736a572a9ef2689829f47ffd4262adc00 (diff) | |
Merge branch 'renesas/timer' into next/timer
Conflicts:
arch/arm/mach-shmobile/timer.c
This resolves a nonobvious merge conflict between renesas
timer changes in the global timer changes with those
from the renesas soc branch and last minute bug fixes that
went into v3.3.
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'include/linux/regset.h')
| -rw-r--r-- | include/linux/regset.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/include/linux/regset.h b/include/linux/regset.h index 8abee6556223..686f37327a49 100644 --- a/include/linux/regset.h +++ b/include/linux/regset.h @@ -335,8 +335,11 @@ static inline int copy_regset_to_user(struct task_struct *target, { const struct user_regset *regset = &view->regsets[setno]; + if (!regset->get) + return -EOPNOTSUPP; + if (!access_ok(VERIFY_WRITE, data, size)) - return -EIO; + return -EFAULT; return regset->get(target, regset, offset, size, NULL, data); } @@ -358,8 +361,11 @@ static inline int copy_regset_from_user(struct task_struct *target, { const struct user_regset *regset = &view->regsets[setno]; + if (!regset->set) + return -EOPNOTSUPP; + if (!access_ok(VERIFY_READ, data, size)) - return -EIO; + return -EFAULT; return regset->set(target, regset, offset, size, NULL, data); } |
