What’s the purpose of the UD2 opcode in the Linux kernel?
It’s the BUG() macro from include/asm-i386/bug.h. /* * Tell the user there is some problem. * The offending file and line are encoded after the “officially * undefined” opcode for parsing in the trap handler. */ #ifdef CONFIG_DEBUG_BUGVERBOSE #define BUG() \ __asm__ __volatile__( “ud2\n” \ “\t.word %c0\n” \ “\t.long %c1\n” \ : : “i” (__LINE__), … Read more