You've already forked linux-apfs
mirror of
https://github.com/linux-apfs/linux-apfs.git
synced 2026-05-01 15:00:59 -07:00
[PATCH] xtensa: remove verify_area macros
verify_area() is still alive on xtensa in 2.6.17-rc3-git13 It would be nice to finally be rid of that function across the board. Signed-off-by: Chris Zankel <chris@zankel.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
This commit is contained in:
committed by
Linus Torvalds
parent
6f36d17a87
commit
b9e122c80c
@@ -43,8 +43,7 @@ asmlinkage unsigned int csum_partial_copy_generic( const char *src, char *dst, i
|
||||
* Note: when you get a NULL pointer exception here this means someone
|
||||
* passed in an incorrect kernel address to one of these functions.
|
||||
*
|
||||
* If you use these functions directly please don't forget the
|
||||
* verify_area().
|
||||
* If you use these functions directly please don't forget the access_ok().
|
||||
*/
|
||||
static inline
|
||||
unsigned int csum_partial_copy_nocheck ( const char *src, char *dst,
|
||||
|
||||
@@ -172,4 +172,9 @@ static inline int rwsem_atomic_update(int delta, struct rw_semaphore *sem)
|
||||
return atomic_add_return(delta, (atomic_t *)(&sem->count));
|
||||
}
|
||||
|
||||
#endif /* _XTENSA_RWSEM_XADD_H */
|
||||
static inline int rwsem_is_locked(struct rw_semaphore *sem)
|
||||
{
|
||||
return (sem->count != 0);
|
||||
}
|
||||
|
||||
#endif /* _XTENSA_RWSEM_H */
|
||||
|
||||
@@ -154,35 +154,6 @@
|
||||
.Laccess_ok_\@:
|
||||
.endm
|
||||
|
||||
/*
|
||||
* verify_area determines whether a memory access is allowed. It's
|
||||
* mostly an unnecessary wrapper for access_ok, but we provide it as a
|
||||
* duplicate of the verify_area() C inline function below. See the
|
||||
* equivalent C version below for clarity.
|
||||
*
|
||||
* On error, verify_area branches to a label indicated by parameter
|
||||
* <error>. This implies that the macro falls through to the next
|
||||
* instruction on success.
|
||||
*
|
||||
* Note that we assume success is the common case, and we optimize the
|
||||
* branch fall-through case on success.
|
||||
*
|
||||
* On Entry:
|
||||
* <aa> register containing memory address
|
||||
* <as> register containing memory size
|
||||
* <at> temp register
|
||||
* <error> label to branch to on error; implies fall-through
|
||||
* macro on success
|
||||
* On Exit:
|
||||
* <aa> preserved
|
||||
* <as> preserved
|
||||
* <at> destroyed
|
||||
*/
|
||||
.macro verify_area aa, as, at, sp, error
|
||||
access_ok \at, \aa, \as, \sp, \error
|
||||
.endm
|
||||
|
||||
|
||||
#else /* __ASSEMBLY__ not defined */
|
||||
|
||||
#include <linux/sched.h>
|
||||
@@ -211,11 +182,6 @@
|
||||
#define __access_ok(addr,size) (__kernel_ok || __user_ok((addr),(size)))
|
||||
#define access_ok(type,addr,size) __access_ok((unsigned long)(addr),(size))
|
||||
|
||||
static inline int verify_area(int type, const void * addr, unsigned long size)
|
||||
{
|
||||
return access_ok(type,addr,size) ? 0 : -EFAULT;
|
||||
}
|
||||
|
||||
/*
|
||||
* These are the main single-value transfer routines. They
|
||||
* automatically use the right size if we just have the right pointer
|
||||
|
||||
Reference in New Issue
Block a user