diff options
author | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
---|---|---|
committer | Ralf Baechle <ralf@linux-mips.org> | 1998-09-19 19:15:08 +0000 |
commit | 03ba4131783cc9e872f8bb26a03f15bc11f27564 (patch) | |
tree | 88db8dba75ae06ba3bad08e42c5e52efc162535c /include/asm-sparc/uaccess.h | |
parent | 257730f99381dd26e10b832fce4c94cae7ac1176 (diff) |
- Merge with Linux 2.1.121.
- Bugfixes.
Diffstat (limited to 'include/asm-sparc/uaccess.h')
-rw-r--r-- | include/asm-sparc/uaccess.h | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/include/asm-sparc/uaccess.h b/include/asm-sparc/uaccess.h index 638e234a0..3f4a58601 100644 --- a/include/asm-sparc/uaccess.h +++ b/include/asm-sparc/uaccess.h @@ -318,11 +318,14 @@ if (__copy_to_user(to,from,n)) \ }) #define copy_from_user(to,from,n) ({ \ +void *__copy_to = (void *) (to); \ void *__copy_from = (void *) (from); \ __kernel_size_t __copy_size = (__kernel_size_t) (n); \ __kernel_size_t __copy_res; \ if(__copy_size && __access_ok((unsigned long)__copy_from, __copy_size)) { \ -__copy_res = __copy_user((void *) (to), __copy_from, __copy_size); \ +__copy_res = __copy_user(__copy_to, __copy_from, __copy_size); \ +if(__copy_res) \ +memset((char *)__copy_to + __copy_size - __copy_res, 0, __copy_res); \ } else __copy_res = __copy_size; \ __copy_res; }) |