diff options
Diffstat (limited to 'include/asm-xtensa')
-rw-r--r-- | include/asm-xtensa/checksum.h | 3 | ||||
-rw-r--r-- | include/asm-xtensa/rwsem.h | 7 | ||||
-rw-r--r-- | include/asm-xtensa/uaccess.h | 34 |
3 files changed, 7 insertions, 37 deletions
diff --git a/include/asm-xtensa/checksum.h b/include/asm-xtensa/checksum.h index bdc00ae9be48..03114f8d1e18 100644 --- a/include/asm-xtensa/checksum.h +++ b/include/asm-xtensa/checksum.h | |||
@@ -43,8 +43,7 @@ asmlinkage unsigned int csum_partial_copy_generic( const char *src, char *dst, i | |||
43 | * Note: when you get a NULL pointer exception here this means someone | 43 | * Note: when you get a NULL pointer exception here this means someone |
44 | * passed in an incorrect kernel address to one of these functions. | 44 | * passed in an incorrect kernel address to one of these functions. |
45 | * | 45 | * |
46 | * If you use these functions directly please don't forget the | 46 | * If you use these functions directly please don't forget the access_ok(). |
47 | * verify_area(). | ||
48 | */ | 47 | */ |
49 | static inline | 48 | static inline |
50 | unsigned int csum_partial_copy_nocheck ( const char *src, char *dst, | 49 | unsigned int csum_partial_copy_nocheck ( const char *src, char *dst, |
diff --git a/include/asm-xtensa/rwsem.h b/include/asm-xtensa/rwsem.h index 3c02b0e033f0..abcd86dc5ab9 100644 --- a/include/asm-xtensa/rwsem.h +++ b/include/asm-xtensa/rwsem.h | |||
@@ -172,4 +172,9 @@ static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem) | |||
172 | return atomic_add_return(delta, (atomic_t *)(&sem->count)); | 172 | return atomic_add_return(delta, (atomic_t *)(&sem->count)); |
173 | } | 173 | } |
174 | 174 | ||
175 | #endif /* _XTENSA_RWSEM_XADD_H */ | 175 | static inline int rwsem_is_locked(struct rw_semaphore *sem) |
176 | { | ||
177 | return (sem->count != 0); | ||
178 | } | ||
179 | |||
180 | #endif /* _XTENSA_RWSEM_H */ | ||
diff --git a/include/asm-xtensa/uaccess.h b/include/asm-xtensa/uaccess.h index 06a22b83ba17..88a64e1144d5 100644 --- a/include/asm-xtensa/uaccess.h +++ b/include/asm-xtensa/uaccess.h | |||
@@ -154,35 +154,6 @@ | |||
154 | .Laccess_ok_\@: | 154 | .Laccess_ok_\@: |
155 | .endm | 155 | .endm |
156 | 156 | ||
157 | /* | ||
158 | * verify_area determines whether a memory access is allowed. It's | ||
159 | * mostly an unnecessary wrapper for access_ok, but we provide it as a | ||
160 | * duplicate of the verify_area() C inline function below. See the | ||
161 | * equivalent C version below for clarity. | ||
162 | * | ||
163 | * On error, verify_area branches to a label indicated by parameter | ||
164 | * <error>. This implies that the macro falls through to the next | ||
165 | * instruction on success. | ||
166 | * | ||
167 | * Note that we assume success is the common case, and we optimize the | ||
168 | * branch fall-through case on success. | ||
169 | * | ||
170 | * On Entry: | ||
171 | * <aa> register containing memory address | ||
172 | * <as> register containing memory size | ||
173 | * <at> temp register | ||
174 | * <error> label to branch to on error; implies fall-through | ||
175 | * macro on success | ||
176 | * On Exit: | ||
177 | * <aa> preserved | ||
178 | * <as> preserved | ||
179 | * <at> destroyed | ||
180 | */ | ||
181 | .macro verify_area aa, as, at, sp, error | ||
182 | access_ok \at, \aa, \as, \sp, \error | ||
183 | .endm | ||
184 | |||
185 | |||
186 | #else /* __ASSEMBLY__ not defined */ | 157 | #else /* __ASSEMBLY__ not defined */ |
187 | 158 | ||
188 | #include <linux/sched.h> | 159 | #include <linux/sched.h> |
@@ -211,11 +182,6 @@ | |||
211 | #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) | 182 | #define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size))) |
212 | #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) | 183 | #define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size)) |
213 | 184 | ||
214 | static inline int verify_area(int type, const void * addr, unsigned long size) | ||
215 | { | ||
216 | return access_ok(type,addr,size) ? 0 : -EFAULT; | ||
217 | } | ||
218 | |||
219 | /* | 185 | /* |
220 | * These are the main single-value transfer routines. They | 186 | * These are the main single-value transfer routines. They |
221 | * automatically use the right size if we just have the right pointer | 187 | * automatically use the right size if we just have the right pointer |