@@ -107,8 +107,8 @@ void bad_trap(struct pt_regs *regs, long lvl)
107107 regs -> tpc &= 0xffffffff ;
108108 regs -> tnpc &= 0xffffffff ;
109109 }
110- force_sig_fault (SIGILL , ILL_ILLTRP ,
111- (void __user * )regs -> tpc , lvl );
110+ force_sig_fault_trapno (SIGILL , ILL_ILLTRP ,
111+ (void __user * )regs -> tpc , lvl );
112112}
113113
114114void bad_trap_tl1 (struct pt_regs * regs , long lvl )
@@ -201,8 +201,7 @@ void spitfire_insn_access_exception(struct pt_regs *regs, unsigned long sfsr, un
201201 regs -> tpc &= 0xffffffff ;
202202 regs -> tnpc &= 0xffffffff ;
203203 }
204- force_sig_fault (SIGSEGV , SEGV_MAPERR ,
205- (void __user * )regs -> tpc , 0 );
204+ force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * )regs -> tpc );
206205out :
207206 exception_exit (prev_state );
208207}
@@ -237,7 +236,7 @@ void sun4v_insn_access_exception(struct pt_regs *regs, unsigned long addr, unsig
237236 regs -> tpc &= 0xffffffff ;
238237 regs -> tnpc &= 0xffffffff ;
239238 }
240- force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * ) addr , 0 );
239+ force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * ) addr );
241240}
242241
243242void sun4v_insn_access_exception_tl1 (struct pt_regs * regs , unsigned long addr , unsigned long type_ctx )
@@ -321,7 +320,7 @@ void spitfire_data_access_exception(struct pt_regs *regs, unsigned long sfsr, un
321320 if (is_no_fault_exception (regs ))
322321 return ;
323322
324- force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * )sfar , 0 );
323+ force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * )sfar );
325324out :
326325 exception_exit (prev_state );
327326}
@@ -385,13 +384,13 @@ void sun4v_data_access_exception(struct pt_regs *regs, unsigned long addr, unsig
385384 */
386385 switch (type ) {
387386 case HV_FAULT_TYPE_INV_ASI :
388- force_sig_fault (SIGILL , ILL_ILLADR , (void __user * )addr , 0 );
387+ force_sig_fault (SIGILL , ILL_ILLADR , (void __user * )addr );
389388 break ;
390389 case HV_FAULT_TYPE_MCD_DIS :
391- force_sig_fault (SIGSEGV , SEGV_ACCADI , (void __user * )addr , 0 );
390+ force_sig_fault (SIGSEGV , SEGV_ACCADI , (void __user * )addr );
392391 break ;
393392 default :
394- force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * )addr , 0 );
393+ force_sig_fault (SIGSEGV , SEGV_MAPERR , (void __user * )addr );
395394 break ;
396395 }
397396}
@@ -568,7 +567,7 @@ static void spitfire_ue_log(unsigned long afsr, unsigned long afar, unsigned lon
568567 regs -> tpc &= 0xffffffff ;
569568 regs -> tnpc &= 0xffffffff ;
570569 }
571- force_sig_fault (SIGBUS , BUS_OBJERR , (void * )0 , 0 );
570+ force_sig_fault (SIGBUS , BUS_OBJERR , (void * )0 );
572571}
573572
574573void spitfire_access_error (struct pt_regs * regs , unsigned long status_encoded , unsigned long afar )
@@ -2069,8 +2068,7 @@ void do_mcd_err(struct pt_regs *regs, struct sun4v_error_entry ent)
20692068 /* Send SIGSEGV to the userspace process with the right signal
20702069 * code
20712070 */
2072- force_sig_fault (SIGSEGV , SEGV_ADIDERR , (void __user * )ent .err_raddr ,
2073- 0 );
2071+ force_sig_fault (SIGSEGV , SEGV_ADIDERR , (void __user * )ent .err_raddr );
20742072}
20752073
20762074/* We run with %pil set to PIL_NORMAL_MAX and PSTATE_IE enabled in %pstate.
@@ -2184,7 +2182,7 @@ bool sun4v_nonresum_error_user_handled(struct pt_regs *regs,
21842182 }
21852183 if (attrs & SUN4V_ERR_ATTRS_PIO ) {
21862184 force_sig_fault (SIGBUS , BUS_ADRERR ,
2187- (void __user * )sun4v_get_vaddr (regs ), 0 );
2185+ (void __user * )sun4v_get_vaddr (regs ));
21882186 return true;
21892187 }
21902188
@@ -2340,8 +2338,7 @@ static void do_fpe_common(struct pt_regs *regs)
23402338 else if (fsr & 0x01 )
23412339 code = FPE_FLTRES ;
23422340 }
2343- force_sig_fault (SIGFPE , code ,
2344- (void __user * )regs -> tpc , 0 );
2341+ force_sig_fault (SIGFPE , code , (void __user * )regs -> tpc );
23452342 }
23462343}
23472344
@@ -2395,8 +2392,7 @@ void do_tof(struct pt_regs *regs)
23952392 regs -> tpc &= 0xffffffff ;
23962393 regs -> tnpc &= 0xffffffff ;
23972394 }
2398- force_sig_fault (SIGEMT , EMT_TAGOVF ,
2399- (void __user * )regs -> tpc , 0 );
2395+ force_sig_fault (SIGEMT , EMT_TAGOVF , (void __user * )regs -> tpc );
24002396out :
24012397 exception_exit (prev_state );
24022398}
@@ -2415,8 +2411,7 @@ void do_div0(struct pt_regs *regs)
24152411 regs -> tpc &= 0xffffffff ;
24162412 regs -> tnpc &= 0xffffffff ;
24172413 }
2418- force_sig_fault (SIGFPE , FPE_INTDIV ,
2419- (void __user * )regs -> tpc , 0 );
2414+ force_sig_fault (SIGFPE , FPE_INTDIV , (void __user * )regs -> tpc );
24202415out :
24212416 exception_exit (prev_state );
24222417}
@@ -2612,7 +2607,7 @@ void do_illegal_instruction(struct pt_regs *regs)
26122607 }
26132608 }
26142609 }
2615- force_sig_fault (SIGILL , ILL_ILLOPC , (void __user * )pc , 0 );
2610+ force_sig_fault (SIGILL , ILL_ILLOPC , (void __user * )pc );
26162611out :
26172612 exception_exit (prev_state );
26182613}
@@ -2632,7 +2627,7 @@ void mem_address_unaligned(struct pt_regs *regs, unsigned long sfar, unsigned lo
26322627 if (is_no_fault_exception (regs ))
26332628 return ;
26342629
2635- force_sig_fault (SIGBUS , BUS_ADRALN , (void __user * )sfar , 0 );
2630+ force_sig_fault (SIGBUS , BUS_ADRALN , (void __user * )sfar );
26362631out :
26372632 exception_exit (prev_state );
26382633}
@@ -2650,7 +2645,7 @@ void sun4v_do_mna(struct pt_regs *regs, unsigned long addr, unsigned long type_c
26502645 if (is_no_fault_exception (regs ))
26512646 return ;
26522647
2653- force_sig_fault (SIGBUS , BUS_ADRALN , (void __user * ) addr , 0 );
2648+ force_sig_fault (SIGBUS , BUS_ADRALN , (void __user * ) addr );
26542649}
26552650
26562651/* sun4v_mem_corrupt_detect_precise() - Handle precise exception on an ADI
@@ -2697,7 +2692,7 @@ void sun4v_mem_corrupt_detect_precise(struct pt_regs *regs, unsigned long addr,
26972692 regs -> tpc &= 0xffffffff ;
26982693 regs -> tnpc &= 0xffffffff ;
26992694 }
2700- force_sig_fault (SIGSEGV , SEGV_ADIPERR , (void __user * )addr , 0 );
2695+ force_sig_fault (SIGSEGV , SEGV_ADIPERR , (void __user * )addr );
27012696}
27022697
27032698void do_privop (struct pt_regs * regs )
@@ -2712,8 +2707,7 @@ void do_privop(struct pt_regs *regs)
27122707 regs -> tpc &= 0xffffffff ;
27132708 regs -> tnpc &= 0xffffffff ;
27142709 }
2715- force_sig_fault (SIGILL , ILL_PRVOPC ,
2716- (void __user * )regs -> tpc , 0 );
2710+ force_sig_fault (SIGILL , ILL_PRVOPC , (void __user * )regs -> tpc );
27172711out :
27182712 exception_exit (prev_state );
27192713}
0 commit comments