diff options
| author | 2009-03-23 14:50:03 +0100 | |
|---|---|---|
| committer | 2009-03-23 21:20:20 +0100 | |
| commit | 80c5520811d3805adcb15c570ea5e2d489fa5d0b (patch) | |
| tree | ae797a7f4af39f80e77526533d06ac23b439f0ab /arch/x86/mm/extable.c | |
| parent | Merge branches 'irq/sparseirq' and 'linus' into irq/core (diff) | |
| parent | cpumask: remove cpumask allocation from idle_balance, fix (diff) | |
| download | wireguard-linux-80c5520811d3805adcb15c570ea5e2d489fa5d0b.tar.xz wireguard-linux-80c5520811d3805adcb15c570ea5e2d489fa5d0b.zip | |
Merge branch 'cpus4096' into irq/threaded
Conflicts:
arch/parisc/kernel/irq.c
kernel/irq/handle.c
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Diffstat (limited to 'arch/x86/mm/extable.c')
| -rw-r--r-- | arch/x86/mm/extable.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/arch/x86/mm/extable.c b/arch/x86/mm/extable.c index 7e8db53528a7..61b41ca3b5a2 100644 --- a/arch/x86/mm/extable.c +++ b/arch/x86/mm/extable.c @@ -23,6 +23,12 @@ int fixup_exception(struct pt_regs *regs) fixup = search_exception_tables(regs->ip); if (fixup) { + /* If fixup is less than 16, it means uaccess error */ + if (fixup->fixup < 16) { + current_thread_info()->uaccess_err = -EFAULT; + regs->ip += fixup->fixup; + return 1; + } regs->ip = fixup->fixup; return 1; } |
