Linux Kernel  3.7.1
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Functions
uaccess_no.h File Reference
#include <linux/sched.h>
#include <linux/mm.h>
#include <linux/string.h>
#include <asm/segment.h>

Go to the source code of this file.

Data Structures

struct  exception_table_entry
 

Macros

#define VERIFY_READ   0
 
#define VERIFY_WRITE   1
 
#define access_ok(type, addr, size)   _access_ok((unsigned long)(addr),(size))
 
#define put_user(x, ptr)
 
#define __put_user(x, ptr)   put_user(x, ptr)
 
#define __ptr(x)   ((unsigned long *)(x))
 
#define __put_user_asm(err, x, ptr, bwl)
 
#define get_user(x, ptr)
 
#define __get_user(x, ptr)   get_user(x, ptr)
 
#define __get_user_asm(err, x, ptr, bwl, reg)
 
#define copy_from_user(to, from, n)   (memcpy(to, from, n), 0)
 
#define copy_to_user(to, from, n)   (memcpy(to, from, n), 0)
 
#define __copy_from_user(to, from, n)   copy_from_user(to, from, n)
 
#define __copy_to_user(to, from, n)   copy_to_user(to, from, n)
 
#define __copy_to_user_inatomic   __copy_to_user
 
#define __copy_from_user_inatomic   __copy_from_user
 
#define copy_to_user_ret(to, from, n, retval)   ({ if (copy_to_user(to,from,n)) return retval; })
 
#define copy_from_user_ret(to, from, n, retval)   ({ if (copy_from_user(to,from,n)) return retval; })
 
#define strlen_user(str)   strnlen_user(str, 32767)
 
#define clear_user(to, n)   __clear_user(to,n)
 

Functions

unsigned long search_exception_table (unsigned long)
 
int __put_user_bad (void)
 
int __get_user_bad (void)
 

Macro Definition Documentation

#define __copy_from_user (   to,
  from,
  n 
)    copy_from_user(to, from, n)

Definition at line 133 of file uaccess_no.h.

#define __copy_from_user_inatomic   __copy_from_user

Definition at line 136 of file uaccess_no.h.

#define __copy_to_user (   to,
  from,
  n 
)    copy_to_user(to, from, n)

Definition at line 134 of file uaccess_no.h.

#define __copy_to_user_inatomic   __copy_to_user

Definition at line 135 of file uaccess_no.h.

#define __get_user (   x,
  ptr 
)    get_user(x, ptr)

Definition at line 121 of file uaccess_no.h.

#define __get_user_asm (   err,
  x,
  ptr,
  bwl,
  reg 
)
Value:
__asm__ ("move" #bwl " %1,%0" \
: "=d" (x) \
: "m" (*__ptr(ptr)))

Definition at line 125 of file uaccess_no.h.

#define __ptr (   x)    ((unsigned long *)(x))

Definition at line 89 of file uaccess_no.h.

#define __put_user (   x,
  ptr 
)    put_user(x, ptr)

Definition at line 79 of file uaccess_no.h.

#define __put_user_asm (   err,
  x,
  ptr,
  bwl 
)
Value:
__asm__ ("move" #bwl " %0,%1" \
: /* no outputs */ \
:"d" (x),"m" (*__ptr(ptr)) : "memory")

Definition at line 91 of file uaccess_no.h.

#define access_ok (   type,
  addr,
  size 
)    _access_ok((unsigned long)(addr),(size))

Definition at line 16 of file uaccess_no.h.

#define clear_user (   to,
  n 
)    __clear_user(to,n)

Definition at line 179 of file uaccess_no.h.

#define copy_from_user (   to,
  from,
  n 
)    (memcpy(to, from, n), 0)

Definition at line 130 of file uaccess_no.h.

#define copy_from_user_ret (   to,
  from,
  n,
  retval 
)    ({ if (copy_from_user(to,from,n)) return retval; })

Definition at line 140 of file uaccess_no.h.

#define copy_to_user (   to,
  from,
  n 
)    (memcpy(to, from, n), 0)

Definition at line 131 of file uaccess_no.h.

#define copy_to_user_ret (   to,
  from,
  n,
  retval 
)    ({ if (copy_to_user(to,from,n)) return retval; })

Definition at line 138 of file uaccess_no.h.

#define get_user (   x,
  ptr 
)
Value:
({ \
int __gu_err = 0; \
typeof(x) __gu_val = 0; \
switch (sizeof(*(ptr))) { \
case 1: \
__get_user_asm(__gu_err, __gu_val, ptr, b, "=d"); \
break; \
case 2: \
__get_user_asm(__gu_err, __gu_val, ptr, w, "=r"); \
break; \
case 4: \
__get_user_asm(__gu_err, __gu_val, ptr, l, "=r"); \
break; \
case 8: \
memcpy((void *) &__gu_val, ptr, sizeof (*(ptr))); \
break; \
default: \
__gu_val = 0; \
__gu_err = __get_user_bad(); \
break; \
} \
(x) = (typeof(*(ptr))) __gu_val; \
__gu_err; \
})

Definition at line 96 of file uaccess_no.h.

#define put_user (   x,
  ptr 
)
Value:
({ \
int __pu_err = 0; \
typeof(*(ptr)) __pu_val = (x); \
switch (sizeof (*(ptr))) { \
case 1: \
__put_user_asm(__pu_err, __pu_val, ptr, b); \
break; \
case 2: \
__put_user_asm(__pu_err, __pu_val, ptr, w); \
break; \
case 4: \
__put_user_asm(__pu_err, __pu_val, ptr, l); \
break; \
case 8: \
memcpy(ptr, &__pu_val, sizeof (*(ptr))); \
break; \
default: \
__pu_err = __put_user_bad(); \
break; \
} \
__pu_err; \
})

Definition at line 56 of file uaccess_no.h.

#define strlen_user (   str)    strnlen_user(str, 32767)

Definition at line 166 of file uaccess_no.h.

#define VERIFY_READ   0

Definition at line 13 of file uaccess_no.h.

#define VERIFY_WRITE   1

Definition at line 14 of file uaccess_no.h.

Function Documentation

int __get_user_bad ( void  )
int __put_user_bad ( void  )
unsigned long search_exception_table ( unsigned  long)

Definition at line 43 of file extable.c.