forked from ~ljy/RK356X_SDK_RELEASE

hc
2023-12-08 01573e231f18eb2d99162747186f59511f56b64d
kernel/arch/alpha/kernel/traps.c
....@@ -121,10 +121,10 @@
121121 }
122122
123123 static void
124
-dik_show_trace(unsigned long *sp)
124
+dik_show_trace(unsigned long *sp, const char *loglvl)
125125 {
126126 long i = 0;
127
- printk("Trace:\n");
127
+ printk("%sTrace:\n", loglvl);
128128 while (0x1ff8 & (unsigned long) sp) {
129129 extern char _stext[], _etext[];
130130 unsigned long tmp = *sp;
....@@ -133,24 +133,24 @@
133133 continue;
134134 if (tmp >= (unsigned long) &_etext)
135135 continue;
136
- printk("[<%lx>] %pSR\n", tmp, (void *)tmp);
136
+ printk("%s[<%lx>] %pSR\n", loglvl, tmp, (void *)tmp);
137137 if (i > 40) {
138
- printk(" ...");
138
+ printk("%s ...", loglvl);
139139 break;
140140 }
141141 }
142
- printk("\n");
142
+ printk("%s\n", loglvl);
143143 }
144144
145145 static int kstack_depth_to_print = 24;
146146
147
-void show_stack(struct task_struct *task, unsigned long *sp)
147
+void show_stack(struct task_struct *task, unsigned long *sp, const char *loglvl)
148148 {
149149 unsigned long *stack;
150150 int i;
151151
152152 /*
153
- * debugging aid: "show_stack(NULL);" prints the
153
+ * debugging aid: "show_stack(NULL, NULL, KERN_EMERG);" prints the
154154 * back trace for this cpu.
155155 */
156156 if(sp==NULL)
....@@ -163,14 +163,14 @@
163163 if ((i % 4) == 0) {
164164 if (i)
165165 pr_cont("\n");
166
- printk(" ");
166
+ printk("%s ", loglvl);
167167 } else {
168168 pr_cont(" ");
169169 }
170170 pr_cont("%016lx", *stack++);
171171 }
172172 pr_cont("\n");
173
- dik_show_trace(sp);
173
+ dik_show_trace(sp, loglvl);
174174 }
175175
176176 void
....@@ -184,7 +184,7 @@
184184 printk("%s(%d): %s %ld\n", current->comm, task_pid_nr(current), str, err);
185185 dik_show_regs(regs, r9_15);
186186 add_taint(TAINT_DIE, LOCKDEP_NOW_UNRELIABLE);
187
- dik_show_trace((unsigned long *)(regs+1));
187
+ dik_show_trace((unsigned long *)(regs+1), KERN_DEFAULT);
188188 dik_show_code((unsigned int *)regs->pc);
189189
190190 if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
....@@ -402,7 +402,7 @@
402402 {
403403 die_if_kernel("Instruction fault", regs, 0, NULL);
404404
405
- force_sig_fault(SIGILL, ILL_ILLOPC, (void __user *)regs->pc, 0, current);
405
+ force_sig_fault(SIGILL, ILL_ILLOPC, (void __user *)regs->pc, 0);
406406 }
407407
408408
....@@ -625,7 +625,7 @@
625625 printk("gp = %016lx sp = %p\n", regs->gp, regs+1);
626626
627627 dik_show_code((unsigned int *)pc);
628
- dik_show_trace((unsigned long *)(regs+1));
628
+ dik_show_trace((unsigned long *)(regs+1), KERN_DEFAULT);
629629
630630 if (test_and_set_thread_flag (TIF_DIE_IF_KERNEL)) {
631631 printk("die_if_kernel recursion detected.\n");
....@@ -883,7 +883,7 @@
883883
884884 case 0x26: /* sts */
885885 fake_reg = s_reg_to_mem(alpha_read_fp_reg(reg));
886
- /* FALLTHRU */
886
+ fallthrough;
887887
888888 case 0x2c: /* stl */
889889 __asm__ __volatile__(
....@@ -911,7 +911,7 @@
911911
912912 case 0x27: /* stt */
913913 fake_reg = alpha_read_fp_reg(reg);
914
- /* FALLTHRU */
914
+ fallthrough;
915915
916916 case 0x2d: /* stq */
917917 __asm__ __volatile__(
....@@ -957,12 +957,12 @@
957957 si_code = SEGV_ACCERR;
958958 else {
959959 struct mm_struct *mm = current->mm;
960
- down_read(&mm->mmap_sem);
960
+ mmap_read_lock(mm);
961961 if (find_vma(mm, (unsigned long)va))
962962 si_code = SEGV_ACCERR;
963963 else
964964 si_code = SEGV_MAPERR;
965
- up_read(&mm->mmap_sem);
965
+ mmap_read_unlock(mm);
966966 }
967967 send_sig_fault(SIGSEGV, si_code, va, 0, current);
968968 return;