Skip to content

Commit c75e59e

Browse files
Christoph Hellwiggeertu
authored andcommitted
m68k: Use get_kernel_nofault() in show_registers()
Use the proper get_kernel_nofault() helper to access an unsafe kernel pointer without faulting instead of playing with set_fs() and get_user(). Signed-off-by: Christoph Hellwig <hch@lst.de> Link: https://lore.kernel.org/r/20200720114314.196686-1-hch@lst.de Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
1 parent ea2abe2 commit c75e59e

1 file changed

Lines changed: 1 addition & 4 deletions

File tree

arch/m68k/kernel/traps.c

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -845,7 +845,6 @@ static void show_trace(unsigned long *stack, const char *loglvl)
845845
void show_registers(struct pt_regs *regs)
846846
{
847847
struct frame *fp = (struct frame *)regs;
848-
mm_segment_t old_fs = get_fs();
849848
u16 c, *cp;
850849
unsigned long addr;
851850
int i;
@@ -918,10 +917,9 @@ void show_registers(struct pt_regs *regs)
918917
show_stack(NULL, (unsigned long *)addr, KERN_INFO);
919918

920919
pr_info("Code:");
921-
set_fs(KERNEL_DS);
922920
cp = (u16 *)regs->pc;
923921
for (i = -8; i < 16; i++) {
924-
if (get_user(c, cp + i) && i >= 0) {
922+
if (get_kernel_nofault(c, cp + i) && i >= 0) {
925923
pr_cont(" Bad PC value.");
926924
break;
927925
}
@@ -930,7 +928,6 @@ void show_registers(struct pt_regs *regs)
930928
else
931929
pr_cont(" <%04x>", c);
932930
}
933-
set_fs(old_fs);
934931
pr_cont("\n");
935932
}
936933

0 commit comments

Comments
 (0)