From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752490AbbCQHKK (ORCPT ); Tue, 17 Mar 2015 03:10:10 -0400 Received: from mail.skyhub.de ([78.46.96.112]:42333 "EHLO mail.skyhub.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751268AbbCQHKH (ORCPT ); Tue, 17 Mar 2015 03:10:07 -0400 Date: Tue, 17 Mar 2015 08:08:30 +0100 From: Borislav Petkov To: Denys Vlasenko Cc: linux-tip-commits@vger.kernel.org, linux-kernel@vger.kernel.org, keescook@chromium.org, ast@plumgrid.com, fweisbec@gmail.com, oleg@redhat.com, tglx@linutronix.de, torvalds@linux-foundation.org, hpa@zytor.com, mingo@kernel.org, wad@chromium.org, rostedt@goodmis.org Subject: Re: [tip:x86/asm] x86/asm/entry/64: Remove unused thread_struct::usersp Message-ID: <20150317070830.GA19645@pd.tnic> References: <1425984307-2143-2-git-send-email-dvlasenk@redhat.com> <20150316164707.GB23015@pd.tnic> <55075736.7030003@redhat.com> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="24zk1gE8NUlDmwG9" Content-Disposition: inline In-Reply-To: <55075736.7030003@redhat.com> User-Agent: Mutt/1.5.23 (2014-03-12) Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --24zk1gE8NUlDmwG9 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline On Mon, Mar 16, 2015 at 11:20:38PM +0100, Denys Vlasenko wrote: > What's your config? Attached. > What distro do you run in the guest? Some old debian. Here's the full qemu command line: $ qemu-system-x86_64 -enable-kvm -gdb tcp::1234 -cpu Opteron_G5 -m 2048 -hda /home/boris/kvm/debian/sid-x86_64.img -boot menu=off,order=c -localtime -net nic,model=rtl8139 -net user,hostfwd=tcp::1235-:22 -usbdevice tablet -kernel /home/boris/kernel/linux-2.6/arch/x86/boot/bzImage -append "root=/dev/sda1 debug ignore_loglevel log_buf_len=16M earlyprintk=ttyS0,115200 console=ttyS0,115200 console=tty0 " -monitor pty -virtfs local,path=/tmp,mount_tag=tmp,security_model=none -serial file:/home/boris/kvm/test-x86_64-1235.log -snapshot -name "Debian x86_64:1235" -smp 2 > Yep. This is one of those cases where "it must be completely safe"... Yap. > > [ 5.285547] kmod[1316]: segfault at 738c08 ip 0000000000738c08 sp 00007ffdb6079c68 error 15 > > [ 9.537606] tput[2716]: segfault at 0 ip (null) sp 00007fffffffdbd0 error 14 in tput[400000+3000] > > ^^^^^^^^^^^^^^^^^ > > > > Looks like rIP has went off somewhere in the weeds. > > Hmmm... > > > > [ 4.593374] grep[998]: segfault at 7ffc3a9f4378 ip 00007fb8409fe1df sp 00007ffc3a9f4378 error 4 in ld-2.13.so[7fb8409e8000+20000] > > [ 4.593374] grep[998]: segfault at 7ffc3a9f4378 ip 00007fb8409fe1df sp 00007ffc3a9f4378 error 4 in ld-2.13.so[7fb8409e8000+20000] > > > > [ 7.160423] sed[1999]: segfault at 7ffe9998f778 ip 00007f37deef0b52 sp 00007ffe9998f778 error 4 in libc-2.13.so[7f37dee18000+182000] > > > > [ 4.593374] grep[998]: segfault at 7ffc3a9f4378 ip 00007fb8409fe1df sp 00007ffc3a9f4378 error 4 in ld-2.13.so[7fb8409e8000+20000] > > [ 7.160423] sed[1999]: segfault at 7ffe9998f778 ip 00007f37deef0b52 sp 00007ffe9998f778 error 4 in libc-2.13.so[7f37dee18000+182000] > > > > [ 4.593374] grep[998]: segfault at 7ffc3a9f4378 ip 00007fb8409fe1df sp 00007ffc3a9f4378 error 4 in ld-2.13.so[7fb8409e8000+20000] > > [ 7.160423] sed[1999]: segfault at 7ffe9998f778 ip 00007f37deef0b52 sp 00007ffe9998f778 error 4 in libc-2.13.so[7f37dee18000+182000] > > [ 5.607611] sed[1350]: segfault at 7ffddd4a4bf0 ip 00007ff24a11fafc sp 00007ffddd4a4bf0 error 4 in libc-2.13.so[7ff24a050000+182000] > > This does not look entirely random. > Can you take a look what's at those locations in ld-2.13.so and libc-2.13.so? The interesting thing is that the segfaulting address is the stack pointer. Let me see if I'd get the math right: [ 4.593374] grep[998]: segfault at 7ffc3a9f4378 ip 00007fb8409fe1df sp 00007ffc3a9f4378 error 4 in ld-2.13.so[7fb8409e8000+20000] 0x7fb8409fe1df - 0x7fb8409e8000 = 0x161df 161cf: 90 nop 161d0: b8 02 00 00 00 mov $0x2,%eax 161d5: 0f 05 syscall 161d7: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax 161dd: 73 01 jae 161e0 161df: c3 retq 161e0: 48 8d 0d 9d af 20 00 lea 0x20af9d(%rip),%rcx # 221184 <_rtld_global+0x1144> 161e7: 31 d2 xor %edx,%edx 161e9: 48 29 c2 sub %rax,%rdx 161ec: 89 11 mov %edx,(%rcx) 161ee: 48 83 c8 ff or $0xffffffffffffffff,%rax 161f2: eb eb jmp 161df Interesting, RETQ. So this pops RIP from the stack and we segfault at the stack address. syscall 2 looks like open(). The next segfault line above is the same. [ 7.160423] sed[1999]: segfault at 7ffe9998f778 ip 00007f37deef0b52 sp 00007ffe9998f778 error 4 in libc-2.13.so[7f37dee18000+182000] 0x7f37deef0b52 - 0x7f37dee18000 = 0xd8b52 Whoops, RETQ again: 00000000000d8b40 : d8b40: 49 89 ca mov %rcx,%r10 d8b43: b8 09 00 00 00 mov $0x9,%eax d8b48: 0f 05 syscall d8b4a: 48 3d 01 f0 ff ff cmp $0xfffffffffffff001,%rax d8b50: 73 01 jae d8b53 d8b52: c3 retq d8b53: 48 8b 0d be c2 2a 00 mov 0x2ac2be(%rip),%rcx # 384e18 <_IO_file_jumps+0x918> d8b5a: 31 d2 xor %edx,%edx d8b5c: 48 29 c2 sub %rax,%rdx d8b5f: 64 89 11 mov %edx,%fs:(%rcx) d8b62: 48 83 c8 ff or $0xffffffffffffffff,%rax d8b66: eb ea jmp d8b52 This time syscall 9, mmap. So for some reason we manage to corrupt the stack after some syscalls... -- Regards/Gruss, Boris. ECO tip #101: Trim your mails when you reply. -- --24zk1gE8NUlDmwG9 Content-Type: application/gzip Content-Disposition: attachment; filename="config.gz" Content-Transfer-Encoding: base64 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 --24zk1gE8NUlDmwG9--