diff options
| author | Olof Johansson <olof@lixom.net> | 2012-09-21 22:53:48 -0700 |
|---|---|---|
| committer | Olof Johansson <olof@lixom.net> | 2012-09-21 22:54:15 -0700 |
| commit | b536661bb0091b19123fa0c22f7087fd886d7b37 (patch) | |
| tree | e83c4ff9bbfe94155cbc7b25fb3b62b814e79ad7 /arch/arm/kernel/traps.c | |
| parent | 20804abdbcfced47b460e5794a685d48225ac754 (diff) | |
| parent | fb997a46626dca2778fa7570bb516d8486f2f837 (diff) | |
| download | olio-linux-3.10-b536661bb0091b19123fa0c22f7087fd886d7b37.tar.xz olio-linux-3.10-b536661bb0091b19123fa0c22f7087fd886d7b37.zip | |
Merge branch 'v3.7-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung into next/fixes-non-critical
A few non-critical fixes/cleanups for samsung platforms.
* 'v3.7-samsung-fixes-1' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene/linux-samsung:
ARM: SAMSUNG: Add missing variable declaration in s3c64xx_spi1_set_platdata()
ARM: S3C24XX: removes unnecessary semicolon
ARM: S3C24xx: delete double assignment
ARM: EXYNOS: fix address for EXYNOS4 MDMA1
ARM: EXYNOS: fixed SYSMMU setup definition to mate parameter name
+ sync to 3.6-rc6
Diffstat (limited to 'arch/arm/kernel/traps.c')
| -rw-r--r-- | arch/arm/kernel/traps.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/arch/arm/kernel/traps.c b/arch/arm/kernel/traps.c index f7945218b8c..b0179b89a04 100644 --- a/arch/arm/kernel/traps.c +++ b/arch/arm/kernel/traps.c @@ -420,20 +420,23 @@ asmlinkage void __exception do_undefinstr(struct pt_regs *regs) #endif instr = *(u32 *) pc; } else if (thumb_mode(regs)) { - get_user(instr, (u16 __user *)pc); + if (get_user(instr, (u16 __user *)pc)) + goto die_sig; if (is_wide_instruction(instr)) { unsigned int instr2; - get_user(instr2, (u16 __user *)pc+1); + if (get_user(instr2, (u16 __user *)pc+1)) + goto die_sig; instr <<= 16; instr |= instr2; } - } else { - get_user(instr, (u32 __user *)pc); + } else if (get_user(instr, (u32 __user *)pc)) { + goto die_sig; } if (call_undef_hook(regs, instr) == 0) return; +die_sig: #ifdef CONFIG_DEBUG_USER if (user_debug & UDBG_UNDEFINED) { printk(KERN_INFO "%s (%d): undefined instruction: pc=%p\n", |