This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / arch / um / sys-i386 / bugs.c
index d5e0ba9..b453e2f 100644 (file)
@@ -183,16 +183,15 @@ void arch_check_bugs(void)
 
 int arch_handle_signal(int sig, union uml_pt_regs *regs)
 {
-       unsigned char tmp[2];
+       unsigned long ip;
 
        /* This is testing for a cmov (0x0f 0x4x) instruction causing a
         * SIGILL in init.
         */
        if((sig != SIGILL) || (TASK_PID(get_current()) != 1)) return(0);
 
-       if (copy_from_user_proc(tmp, (void *) UPT_IP(regs), 2))
-               panic("SIGILL in init, could not read instructions!\n");
-       if((tmp[0] != 0x0f) || ((tmp[1] & 0xf0) != 0x40))
+       ip = UPT_IP(regs);
+       if((*((char *) ip) != 0x0f) || ((*((char *) (ip + 1)) & 0xf0) != 0x40))
                return(0);
 
        if(host_has_cmov == 0)