Hi. Prasanna S Panchamukhi wrote: > The patch below takes both the cases into > consideration. OK, perhaps this one is better, at least it no longer plays on gcc optimization, so that I can reproduce the Oopses again, for good and for test-case. But I think you really should consider checking regs->xcs instead of explicitly checking the corner cases like 0xcd,3. > I am not able to think of a case, where > address is invalid when it enters int3 handler. > I would appreciate if you can provide such a > test case. I already did - it was my very first test-case which produced the Oops on the if(*addr!=...) dereference, but you worked around by checking the VM flag (well, it must be checked, but not after you already used "addr" a couple of times, IMHO). OK, but if you need another test-case, here it is. Much simpler than the vm86 one. It can work in 2 modes: started without args, it will print the diagnostic (passed or failed) and exit. If started with any arg, it will Oops the kernel. This happens both with your latest patch and without it. This doesn't happen with your previous patch (no Oops), but then fixing problems by exploiting the gcc optimization was not the best idea I think.