mirror of
git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-04-17 03:39:07 +08:00
ARM: 9276/1: Refactor dump_instr()
1. Rename local variable 'val16' to 'tmp'. So that the processing
statements of thumb and arm can be aligned.
2. Fix two sparse check warnings: (add __user for type conversion)
warning: incorrect type in initializer (different address spaces)
expected unsigned short [noderef] __user *register __p
got unsigned short [usertype] *
3. Prepare for the next patch to avoid repeated judgment.
Before:
if (!user_mode(regs)) {
if (thumb)
else
} else {
if (thumb)
else
}
After:
if (thumb) {
if (user_mode(regs))
else
} else {
if (user_mode(regs))
else
}
Signed-off-by: Zhen Lei <thunder.leizhen@huawei.com>
Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
This commit is contained in:
committed by
Russell King (Oracle)
parent
59e2cf8d21
commit
21d0798acf
@@ -178,19 +178,20 @@ static void dump_instr(const char *lvl, struct pt_regs *regs)
|
||||
for (i = -4; i < 1 + !!thumb; i++) {
|
||||
unsigned int val, bad;
|
||||
|
||||
if (!user_mode(regs)) {
|
||||
if (thumb) {
|
||||
u16 val16;
|
||||
bad = get_kernel_nofault(val16, &((u16 *)addr)[i]);
|
||||
val = val16;
|
||||
} else {
|
||||
bad = get_kernel_nofault(val, &((u32 *)addr)[i]);
|
||||
}
|
||||
} else {
|
||||
if (thumb)
|
||||
bad = get_user(val, &((u16 *)addr)[i]);
|
||||
if (thumb) {
|
||||
u16 tmp;
|
||||
|
||||
if (user_mode(regs))
|
||||
bad = get_user(tmp, &((u16 __user *)addr)[i]);
|
||||
else
|
||||
bad = get_user(val, &((u32 *)addr)[i]);
|
||||
bad = get_kernel_nofault(tmp, &((u16 *)addr)[i]);
|
||||
|
||||
val = tmp;
|
||||
} else {
|
||||
if (user_mode(regs))
|
||||
bad = get_user(val, &((u32 __user *)addr)[i]);
|
||||
else
|
||||
bad = get_kernel_nofault(val, &((u32 *)addr)[i]);
|
||||
}
|
||||
|
||||
if (!bad)
|
||||
|
||||
Reference in New Issue
Block a user