mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-12-28 13:34:38 +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:
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)
|
||||
|
Loading…
Reference in New Issue
Block a user