mirror of
				https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
				synced 2025-10-31 07:02:06 +00:00 
			
		
		
		
	 07ab67c8d0
			
		
	
	
		07ab67c8d0
		
	
	
	
	
		
			
			As noted by Chris Wright, we need to do the full range of tests regardless of whether MAP_FIXED is set or not, so re-organize get_unmapped_area() slightly to do the sanity checks unconditionally.
		
			
				
	
	
		
			34 lines
		
	
	
		
			683 B
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			683 B
		
	
	
	
		
			C
		
	
	
	
	
	
| #ifndef _LINUX_ERR_H
 | |
| #define _LINUX_ERR_H
 | |
| 
 | |
| #include <linux/compiler.h>
 | |
| 
 | |
| #include <asm/errno.h>
 | |
| 
 | |
| /*
 | |
|  * Kernel pointers have redundant information, so we can use a
 | |
|  * scheme where we can return either an error code or a dentry
 | |
|  * pointer with the same return value.
 | |
|  *
 | |
|  * This should be a per-architecture thing, to allow different
 | |
|  * error and pointer decisions.
 | |
|  */
 | |
| #define IS_ERR_VALUE(x) unlikely((x) > (unsigned long)-1000L)
 | |
| 
 | |
| static inline void *ERR_PTR(long error)
 | |
| {
 | |
| 	return (void *) error;
 | |
| }
 | |
| 
 | |
| static inline long PTR_ERR(const void *ptr)
 | |
| {
 | |
| 	return (long) ptr;
 | |
| }
 | |
| 
 | |
| static inline long IS_ERR(const void *ptr)
 | |
| {
 | |
| 	return IS_ERR_VALUE((unsigned long)ptr);
 | |
| }
 | |
| 
 | |
| #endif /* _LINUX_ERR_H */
 |