uaccess.h (db68ce10c4f0a27c1ff9fa0e789e5c41f8c4ea63) | uaccess.h (0f9b38cd79d528c1e19693899d989521778cc245) |
---|---|
1/* 2 * arch/arm/include/asm/uaccess.h 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8#ifndef _ASMARM_UACCESS_H --- 10 unchanged lines hidden (view full) --- 19 20#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 21#include <asm-generic/uaccess-unaligned.h> 22#else 23#define __get_user_unaligned __get_user 24#define __put_user_unaligned __put_user 25#endif 26 | 1/* 2 * arch/arm/include/asm/uaccess.h 3 * 4 * This program is free software; you can redistribute it and/or modify 5 * it under the terms of the GNU General Public License version 2 as 6 * published by the Free Software Foundation. 7 */ 8#ifndef _ASMARM_UACCESS_H --- 10 unchanged lines hidden (view full) --- 19 20#ifndef CONFIG_HAVE_EFFICIENT_UNALIGNED_ACCESS 21#include <asm-generic/uaccess-unaligned.h> 22#else 23#define __get_user_unaligned __get_user 24#define __put_user_unaligned __put_user 25#endif 26 |
27/* 28 * The exception table consists of pairs of addresses: the first is the 29 * address of an instruction that is allowed to fault, and the second is 30 * the address at which the program should continue. No registers are 31 * modified, so it is entirely up to the continuation code to figure out 32 * what to do. 33 * 34 * All the routines below use bits of fixup code that are out of line 35 * with the main instruction path. This means when everything is well, 36 * we don't even have to jump over them. Further, they do not intrude 37 * on our cache or tlb entries. 38 */ | 27#include <asm/extable.h> |
39 | 28 |
40struct exception_table_entry 41{ 42 unsigned long insn, fixup; 43}; 44 45extern int fixup_exception(struct pt_regs *regs); 46 | |
47/* 48 * These two functions allow hooking accesses to userspace to increase 49 * system integrity by ensuring that the kernel can not inadvertantly 50 * perform such accesses (eg, via list poison values) which could then 51 * be exploited for priviledge escalation. 52 */ 53static inline unsigned int uaccess_save_and_enable(void) 54{ --- 528 unchanged lines hidden --- | 29/* 30 * These two functions allow hooking accesses to userspace to increase 31 * system integrity by ensuring that the kernel can not inadvertantly 32 * perform such accesses (eg, via list poison values) which could then 33 * be exploited for priviledge escalation. 34 */ 35static inline unsigned int uaccess_save_and_enable(void) 36{ --- 528 unchanged lines hidden --- |