bitkeeper revision 1.1159.170.91 (41e53b7eEag3oyhnsSlzeQJHgcNl0A)

Yet another seg-fixup fix. I was wrong about opcodes A0 and A2. :-(
This commit is contained in:
kaf24@scramble.cl.cam.ac.uk committed 2005-01-12 15:00:14 +00:00
1 parent a880f7f44c
commit defe6a7094
1 file changed
+10 -21
+10 -21
View File
@@ -75,7 +75,7 @@ static unsigned char insn_decode[256] = {
X, X, X, X, X, X, X, X,
X, X, X, X, X, X, X, X,
/* 0xA0 - 0xAF */
O|1, O|4, O|1, O|4, X, X, X, X,
O|4, O|4, O|4, O|4, X, X, X, X,
X, X, X, X, X, X, X, X,
/* 0xB0 - 0xBF */
X, X, X, X, X, X, X, X,
@@ -366,28 +366,17 @@ int gpf_emulate_4gb(struct xen_regs *regs)
if ( !(decode & HAS_MODRM) )
{
switch ( decode & 7 )
{
case 1:
if ( get_user(b, pb) )
{
DPRINTK("Fault while extracting <moffs8>.\n");
goto page_fault;
}
pb++;
offset = (signed long)(signed char)b;
goto skip_modrm;
case 4:
if ( get_user(offset, (u32 *)pb) )
{
DPRINTK("Fault while extracting <disp8>.\n");
goto page_fault;
}
pb += 4;
goto skip_modrm;
default:
if ( (decode & 7) != 4 )
goto fail;
if ( get_user(offset, (u32 *)pb) )
{
DPRINTK("Fault while extracting <disp8>.\n");
goto page_fault;
}
pb += 4;
goto skip_modrm;
}
/*
Reference in new issue
Block a user
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.