lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Message-Id: <20220301041119.55085-1-ammarfaizi2@gnuweeb.org> Date: Tue, 1 Mar 2022 11:11:19 +0700 From: Ammar Faizi <ammarfaizi2@...weeb.org> To: Borislav Petkov <bp@...e.de> Cc: weidonghui <weidonghui@...winnertech.com>, tools@...ux.kernel.org, linux-kernel@...r.kernel.org, gwml@...r.gnuweeb.org, x86@...nel.org, Ammar Faizi <ammarfaizi2@...weeb.org>, Andrew Morton <akpm@...ux-foundation.org>, Andy Lutomirski <luto@...nel.org>, Dave Hansen <dave.hansen@...ux.intel.com>, "H. Peter Anvin" <hpa@...or.com>, Ingo Molnar <mingo@...hat.com>, Thomas Gleixner <tglx@...utronix.de> Subject: [PATCH] scripts/decodecode: Make objdump always use operand-size suffix For better reading, always use operand-size suffix for the generated AT&T syntax Assembly code. $ echo "Code: 50 e0 49 8b 4e 08 48 8b 51 50 48 85 d2 75 03 48 8b 11 48 c7 c7 02 " \ "47 40 a1 48 89 c6 48 c7 c1 b6 38 3f a1 31 c0 e8 25 72 d5 df <0f> 0b 41 bc 01" \ "00 00 00 e9 da fb ff ff 48 8b 2b 48 8b 7d 08 e8 fc" | scripts/decodecode Before this patch: ------------------ All code ======== 0: 50 push %rax 1: e0 49 loopne 0x4c 3: 8b 4e 08 mov 0x8(%rsi),%ecx 6: 48 8b 51 50 mov 0x50(%rcx),%rdx a: 48 85 d2 test %rdx,%rdx d: 75 03 jne 0x12 f: 48 8b 11 mov (%rcx),%rdx 12: 48 c7 c7 02 47 40 a1 mov $0xffffffffa1404702,%rdi 19: 48 89 c6 mov %rax,%rsi 1c: 48 c7 c1 b6 38 3f a1 mov $0xffffffffa13f38b6,%rcx 23: 31 c0 xor %eax,%eax 25: e8 25 72 d5 df call 0xffffffffdfd5724f 2a:* 0f 0b ud2 <-- trapping instruction 2c: 41 bc 01 00 00 00 mov $0x1,%r12d 32: e9 da fb ff ff jmp 0xfffffffffffffc11 37: 48 8b 2b mov (%rbx),%rbp 3a: 48 8b 7d 08 mov 0x8(%rbp),%rdi 3e: e8 .byte 0xe8 3f: fc cld Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 41 bc 01 00 00 00 mov $0x1,%r12d 8: e9 da fb ff ff jmp 0xfffffffffffffbe7 d: 48 8b 2b mov (%rbx),%rbp 10: 48 8b 7d 08 mov 0x8(%rbp),%rdi 14: e8 .byte 0xe8 15: fc cld After this patch: ------------------ All code ======== 0: 50 pushq %rax 1: e0 49 loopneq 0x4c 3: 8b 4e 08 movl 0x8(%rsi),%ecx 6: 48 8b 51 50 movq 0x50(%rcx),%rdx a: 48 85 d2 testq %rdx,%rdx d: 75 03 jne 0x12 f: 48 8b 11 movq (%rcx),%rdx 12: 48 c7 c7 02 47 40 a1 movq $0xffffffffa1404702,%rdi 19: 48 89 c6 movq %rax,%rsi 1c: 48 c7 c1 b6 38 3f a1 movq $0xffffffffa13f38b6,%rcx 23: 31 c0 xorl %eax,%eax 25: e8 25 72 d5 df callq 0xffffffffdfd5724f 2a:* 0f 0b ud2 <-- trapping instruction 2c: 41 bc 01 00 00 00 movl $0x1,%r12d 32: e9 da fb ff ff jmpq 0xfffffffffffffc11 37: 48 8b 2b movq (%rbx),%rbp 3a: 48 8b 7d 08 movq 0x8(%rbp),%rdi 3e: e8 .byte 0xe8 3f: fc cld Code starting with the faulting instruction =========================================== 0: 0f 0b ud2 2: 41 bc 01 00 00 00 movl $0x1,%r12d 8: e9 da fb ff ff jmpq 0xfffffffffffffbe7 d: 48 8b 2b movq (%rbx),%rbp 10: 48 8b 7d 08 movq 0x8(%rbp),%rdi 14: e8 .byte 0xe8 15: fc cld Cc: Andrew Morton <akpm@...ux-foundation.org> Cc: Andy Lutomirski <luto@...nel.org> Cc: Borislav Petkov <bp@...e.de> Cc: Dave Hansen <dave.hansen@...ux.intel.com> Cc: "H. Peter Anvin" <hpa@...or.com> Cc: Ingo Molnar <mingo@...hat.com> Cc: Thomas Gleixner <tglx@...utronix.de> Signed-off-by: Ammar Faizi <ammarfaizi2@...weeb.org> --- scripts/decodecode | 2 ++ 1 file changed, 2 insertions(+) diff --git a/scripts/decodecode b/scripts/decodecode index c711a196511c..ab400891610f 100755 --- a/scripts/decodecode +++ b/scripts/decodecode @@ -98,6 +98,8 @@ disas() { fi fi + OBJDUMPFLAGS="$OBJDUMPFLAGS -M suffix" + ${CROSS_COMPILE}objdump $OBJDUMPFLAGS -S $t.o | \ grep -v "/tmp\|Disassembly\|\.text\|^$" > $t.dis 2>&1 } base-commit: 7e57714cd0ad2d5bb90e50b5096a0e671dec1ef3 -- 2.32.0
Powered by blists - more mailing lists