Diff for /linux/kernel/traps.c between versions 1.1.1.4 and 1.1.1.5

version 1.1.1.4, 2018/04/24 18:04:23 version 1.1.1.5, 2018/04/24 18:07:50
Line 10 Line 10
  * to mainly kill the offending process (probably by giving it a signal,   * to mainly kill the offending process (probably by giving it a signal,
  * but possibly by killing it outright if necessary).   * but possibly by killing it outright if necessary).
  */   */
 #include <string.h>  #include <linux/string.h>
   
 #include <linux/head.h>  #include <linux/head.h>
 #include <linux/sched.h>  #include <linux/sched.h>
Line 60  void reserved(void); Line 60  void reserved(void);
 void parallel_interrupt(void);  void parallel_interrupt(void);
 void irq13(void);  void irq13(void);
 void alignment_check(void);  void alignment_check(void);
 int send_sig(long, struct task_struct *, int);  
   
 static void die(char * str,long esp_ptr,long nr)  static void die(char * str,long esp_ptr,long nr)
 {  {
Line 84  static void die(char * str,long esp_ptr, Line 83  static void die(char * str,long esp_ptr,
         for(i=0;i<10;i++)          for(i=0;i<10;i++)
                 printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0])));                  printk("%02x ",0xff & get_seg_byte(esp[1],(i+(char *)esp[0])));
         printk("\n\r");          printk("\n\r");
         do_exit(11);            /* play segment exception */          if ((0xffff & esp[1]) == 0xf)
                   send_sig(SIGSEGV, current, 0);
           else
                   do_exit(SIGSEGV);
 }  }
   
 void do_double_fault(long esp, long error_code)  void do_double_fault(long esp, long error_code)
Line 99  void do_general_protection(long esp, lon Line 101  void do_general_protection(long esp, lon
   
 void do_alignment_check(long esp, long error_code)  void do_alignment_check(long esp, long error_code)
 {  {
     die("alignment check",esp,error_code);          die("alignment check",esp,error_code);
 }  }
   
 void do_divide_error(long esp, long error_code)  void do_divide_error(long esp, long error_code)
Line 119  void do_nmi(long esp, long error_code) Line 121  void do_nmi(long esp, long error_code)
   
 void do_debug(long esp, long error_code)  void do_debug(long esp, long error_code)
 {  {
   send_sig(SIGTRAP, current, 0);          send_sig(SIGTRAP, current, 0);
 }  }
   
 void do_overflow(long esp, long error_code)  void do_overflow(long esp, long error_code)

Removed from v.1.1.1.4  
changed lines
  Added in v.1.1.1.5


unix.superglobalmegacorp.com