https://bugs.kde.org/show_bug.cgi?id=369409
Bug ID: 369409 Summary: null pointer dereference in vgPlain_do_syscall Product: valgrind Version: 3.11.0 Platform: Ubuntu Packages OS: Linux Status: UNCONFIRMED Severity: crash Priority: NOR Component: memcheck Assignee: jsew...@acm.org Reporter: n0va8o....@gmail.com Created attachment 101311 --> https://bugs.kde.org/attachment.cgi?id=101311&action=edit get from openssl test process 41826 is executing new program: /usr/lib/valgrind/memcheck-amd64-linux ==41826== Memcheck, a memory error detector ==41826== Copyright (C) 2002-2015, and GNU GPL'd, by Julian Seward et al. ==41826== Using Valgrind-3.11.0 and LibVEX; rerun with -h for copyright info ==41826== Command: ./sslapitest ./server.pem ./server.pem ==41826== ./sslapitest: 91 test cases vex amd64->IR: unhandled instruction bytes: 0x48 0xF 0xC7 0xF0 0x72 0x2 0xE2 0xF8 vex amd64->IR: REX=1 REX.W=1 REX.R=0 REX.X=0 REX.B=0 vex amd64->IR: VEX=0 VEX.L=0 VEX.nVVVV=0x0 ESC=0F vex amd64->IR: PFX.66=0 PFX.F2=0 PFX.F3=0 ==41826== valgrind: Unrecognised instruction at address 0x52f02e5. ==41826== at 0x52F02E5: OPENSSL_ia32_rdrand (x86_64cpuid.s:336) ==41826== by 0x5277CE7: rand_bytes (md_rand.c:456) ==41826== by 0x5278076: rand_nopseudo_bytes (md_rand.c:525) ==41826== by 0x527859F: RAND_bytes (rand_lib.c:106) ==41826== by 0x4E74A53: SSL_CTX_new (ssl_lib.c:2431) ==41826== by 0x404F0B: create_ssl_ctx_pair (ssltestlib.c:532) ==41826== by 0x40251E: execute_test_large_message (sslapitest.c:50) ==41826== by 0x4026CB: test_large_message_tls (sslapitest.c:104) ==41826== by 0x40558C: run_tests (testutil.c:69) ==41826== by 0x403F11: main (sslapitest.c:871) ==41826== Your program just tried to execute an instruction that Valgrind ==41826== did not recognise. There are two possible reasons for this. ==41826== 1. Your program has a bug and erroneously jumped to a non-code ==41826== location. If you are running Memcheck and you just saw a ==41826== warning about a bad jump, it's probably your program's fault. ==41826== 2. The instruction is legitimate but Valgrind doesn't handle it, ==41826== i.e. it's Valgrind's fault. If you think this is the case or ==41826== you are not sure, please let us know and we'll try to fix it. ==41826== Either way, Valgrind will now raise a SIGILL signal which will ==41826== probably kill your program. ==41826== ==41826== Process terminating with default action of signal 4 (SIGILL) ==41826== Illegal opcode at address 0x52F02E5 ==41826== at 0x52F02E5: OPENSSL_ia32_rdrand (x86_64cpuid.s:336) ==41826== by 0x5277CE7: rand_bytes (md_rand.c:456) ==41826== by 0x5278076: rand_nopseudo_bytes (md_rand.c:525) ==41826== by 0x527859F: RAND_bytes (rand_lib.c:106) ==41826== by 0x4E74A53: SSL_CTX_new (ssl_lib.c:2431) ==41826== by 0x404F0B: create_ssl_ctx_pair (ssltestlib.c:532) ==41826== by 0x40251E: execute_test_large_message (sslapitest.c:50) ==41826== by 0x4026CB: test_large_message_tls (sslapitest.c:104) ==41826== by 0x40558C: run_tests (testutil.c:69) ==41826== by 0x403F11: main (sslapitest.c:871) ==41826== ==41826== HEAP SUMMARY: ==41826== in use at exit: 102,889 bytes in 3,206 blocks ==41826== total heap usage: 3,510 allocs, 304 frees, 155,677 bytes allocated ==41826== ==41826== LEAK SUMMARY: ==41826== definitely lost: 0 bytes in 0 blocks ==41826== indirectly lost: 0 bytes in 0 blocks ==41826== possibly lost: 0 bytes in 0 blocks ==41826== still reachable: 102,889 bytes in 3,206 blocks ==41826== suppressed: 0 bytes in 0 blocks ==41826== Reachable blocks (those to which a pointer was found) are not shown. ==41826== To see them, rerun with: --leak-check=full --show-leak-kinds=all ==41826== ==41826== For counts of detected and suppressed errors, rerun with: -v ==41826== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0) Program received signal SIGILL, Illegal instruction. [----------------------------------registers-----------------------------------] RAX: 0x0 RBX: 0x4 RCX: 0x3809c159 (<do_syscall_WRK+25>: ret) RDX: 0x0 RSI: 0x4 RDI: 0xa362 RBP: 0x3 RSP: 0x802bade68 --> 0x3809c23d (<vgPlain_do_syscall+13>: mov rdx,rax) RIP: 0x3809c159 (<do_syscall_WRK+25>: ret) R8 : 0x0 R9 : 0x0 R10: 0x0 R11: 0x206 R12: 0x1c00 R13: 0x3 R14: 0x0 R15: 0x0 EFLAGS: 0x206 (carry PARITY adjust zero sign trap INTERRUPT direction overflow) [-------------------------------------code-------------------------------------] 0x3809c14f <do_syscall_WRK+15>: mov r8,r9 0x3809c152 <do_syscall_WRK+18>: mov r9,QWORD PTR [rsp+0x8] 0x3809c157 <do_syscall_WRK+23>: syscall => 0x3809c159 <do_syscall_WRK+25>: ret 0x3809c15a <do_syscall_WRK+26>: nop WORD PTR [rax+rax*1+0x0] 0x3809c160 <vgPlain_mk_SysRes_ppc32_linux>: and esi,0x1 0x3809c163 <vgPlain_mk_SysRes_ppc32_linux+3>: xor eax,eax 0x3809c165 <vgPlain_mk_SysRes_ppc32_linux+5>: mov edx,edi [------------------------------------stack-------------------------------------] 0000| 0x802bade68 --> 0x3809c23d (<vgPlain_do_syscall+13>: mov rdx,rax) 0008| 0x802bade70 --> 0x0 0016| 0x802bade78 --> 0x1 0024| 0x802bade80 --> 0x3819b990 ("mk_free_bszB") 0032| 0x802bade88 --> 0x38087ef2 (<vgPlain_kill+34>: test al,al) 0040| 0x802bade90 --> 0x0 0048| 0x802bade98 --> 0x0 0056| 0x802badea0 --> 0x0 [------------------------------------------------------------------------------] Legend: code, data, rodata, value Stopped reason: SIGILL 0x000000003809c159 in do_syscall_WRK () ─── Assembly ──────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── 0x000000003809c14f do_syscall_WRK+15 mov r8,r9 0x000000003809c152 do_syscall_WRK+18 mov r9,QWORD PTR [rsp+0x8] 0x000000003809c157 do_syscall_WRK+23 syscall 0x000000003809c159 do_syscall_WRK+25 ret 0x000000003809c15a do_syscall_WRK+26 nop WORD PTR [rax+rax*1+0x0] ─── Expressions ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── History ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Memory ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Registers ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── rax 0x0000000000000000 rbx 0x0000000000000004 rcx 0x000000003809c159 rdx 0x0000000000000000 rsi 0x0000000000000004 rdi 0x000000000000a362 rbp 0x0000000000000003 rsp 0x0000000802bade68 r8 0x0000000000000000 r9 0x0000000000000000 r10 0x0000000000000000 r11 0x0000000000000206 r12 0x0000000000001c00 r13 0x0000000000000003 r14 0x0000000000000000 r15 0x0000000000000000 rip 0x000000003809c159 eflags [ PF IF ] cs 0x00000033 ss 0x0000002b ds 0x00000000 es 0x00000000 fs 0x00000000 gs 0x00000000 ─── Source ────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── ─── Stack ─────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [0] from 0x000000003809c159 in do_syscall_WRK+25 (no arguments) [1] from 0x000000003809c23d in vgPlain_do_syscall+13 at m_syscall.c:956 arg sysno = 0x3e arg a1 = <optimized out> arg a2 = 0x4 arg a3 = 0x0 arg a4 = 0x0 arg a5 = 0x0 arg a6 = 0x0 arg a7 = 0x0 arg a8 = 0x0 [+] ─── Threads ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── [1] id 41826 name memcheck-amd64- from 0x000000003809c159 in do_syscall_WRK+25 ───────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────── >>> bt #0 0x000000003809c159 in do_syscall_WRK () #1 0x000000003809c23d in vgPlain_do_syscall (sysno=sysno@entry=0x3e, a1=<optimized out>, a2=a2@entry=0x4, a3=a3@entry=0x0, a4=a4@entry=0x0, a5=a5@entry=0x0, a6=0x0, a7=0x0, a8=0x0) at m_syscall.c:956 #2 0x0000000038087ef2 in vgPlain_kill (pid=<optimized out>, signo=signo@entry=0x4) at m_libcsignal.c:350 #3 0x00000000380999cf in vgPlain_kill_self (sigNo=0x4) at m_signals.c:1595 #4 0x0000000038089051 in shutdown_actions_NORETURN (tid=0x1, tids_schedretcode=VgSrc_FatalSig) at m_main.c:2725 #5 0x00000000380e3a89 in run_a_thread_NORETURN (tidW=0x1) at m_syswrap/syswrap-linux.c:198 #6 0x0000000000000000 in ?? () -- You are receiving this mail because: You are watching all bug changes.