This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |
Other format: | [Raw text] |
On Tue, Jun 14, 2011 at 11:51:25AM -0400, Frank Ch. Eigler wrote: > Hi - > > rjones wrote: > > > [...] > > module("ext2").statement("ext2_try_to_allocate_with_rsv@fs/ext2/balloc.c:1162") /* pc=.text+0x982 */ /* <- module("ext2").statement("*@*.c:*") */ > > > > and here is the disassembled code around that place in the module: > > > > [...] > > 980: 74 4d je 9cf <ext2_try_to_allocate_with_rs > > v+0x412> > > 982: 44 29 f9 sub %r15d,%ecx > > [...] > > That doesn't look particularly scary. However, recent versions of the > kernel have started to attempt manual decoding of the instruction > stream being kprobe'd in order to verify instruction boundaries. It > could be that this check is not working correctly. > > See kernel arch/x86/kernel/kprobes can_probe(). Unfortunately that > function is not particularly chatty about its error cases, and it's > marked __kprobes to prevent itself from being kprobed. (That bit is > almost certainly unnecessary and counterproductive.) > > If this is the problem, I believe a whole series of addresses past a > given troublemaker would exhibit this failure, on a per-function > basis. Are the problem probe addresses in sequential sub-sequences? > Disassembling at the start would be helpful. Attached is the complete list of warnings. Some of the addresses look like they could come in sequences, while others not so much. Disassembling super.c:1391 (pc=.text+0x63c2) through super.c:1429 (pc=.text+0x64da) looks like this: 63a4: 31 c0 xor %eax,%eax 63a6: 4c 8b 7f 18 mov 0x18(%rdi),%r15 63aa: 48 63 f6 movslq %esi,%rsi 63ad: 48 89 95 58 ff ff ff mov %rdx,-0xa8(%rbp) 63b4: 49 89 cc mov %rcx,%r12 63b7: 48 8b b4 f7 88 01 00 mov 0x188(%rdi,%rsi,8),%rsi 63be: 00 63bf: 48 89 fb mov %rdi,%rbx 63c2: 8a 4f 15 mov 0x15(%rdi),%cl 63c5: 48 8b 96 c8 00 00 00 mov 0xc8(%rsi),%rdx 63cc: 48 89 b5 50 ff ff ff mov %rsi,-0xb0(%rbp) 63d3: 49 39 d0 cmp %rdx,%r8 63d6: 0f 8f fe 00 00 00 jg 64da <ext2_quota_read+0x14f> 63dc: 4b 8d 34 20 lea (%r8,%r12,1),%rsi 63e0: 48 89 d0 mov %rdx,%rax 63e3: 4d 89 c6 mov %r8,%r14 63e6: 4c 29 c0 sub %r8,%rax 63e9: 48 39 d6 cmp %rdx,%rsi 63ec: 4c 0f 47 e0 cmova %rax,%r12 63f0: 41 ff cf dec %r15d 63f3: 49 d3 fe sar %cl,%r14 63f6: 45 21 c7 and %r8d,%r15d 63f9: 4d 89 e5 mov %r12,%r13 63fc: e9 c4 00 00 00 jmpq 64c5 <ext2_quota_read+0x13a> 6401: 4c 8b 4b 18 mov 0x18(%rbx),%r9 6405: 48 8b bd 50 ff ff ff mov -0xb0(%rbp),%rdi 640c: 48 8d 95 68 ff ff ff lea -0x98(%rbp),%rdx 6413: 31 c9 xor %ecx,%ecx 6415: 4c 89 f6 mov %r14,%rsi 6418: 48 c7 85 68 ff ff ff movq $0x0,-0x98(%rbp) 641f: 00 00 00 00 6423: 4c 89 4d 88 mov %r9,-0x78(%rbp) 6427: 4c 89 8d 48 ff ff ff mov %r9,-0xb8(%rbp) 642e: e8 00 00 00 00 callq 6433 <ext2_quota_read+0xa8> 642f: R_X86_64_PC32 ext2_get_block-0x4 6433: 85 c0 test %eax,%eax 6435: 4c 8b 8d 48 ff ff ff mov -0xb8(%rbp),%r9 643c: 79 07 jns 6445 <ext2_quota_read+0xba> 643e: 48 98 cltq 6440: e9 95 00 00 00 jmpq 64da <ext2_quota_read+0x14f> 6445: 4d 63 c7 movslq %r15d,%r8 6448: 48 8b 85 68 ff ff ff mov -0x98(%rbp),%rax 644f: 4d 89 ef mov %r13,%r15 6452: 4d 29 c1 sub %r8,%r9 6455: 4d 39 e9 cmp %r13,%r9 6458: 4d 0f 46 f9 cmovbe %r9,%r15 645c: a8 20 test $0x20,%al 645e: 75 10 jne 6470 <ext2_quota_read+0xe5> 6460: 48 8b bd 58 ff ff ff mov -0xa8(%rbp),%rdi 6467: 49 63 cf movslq %r15d,%rcx 646a: 31 c0 xor %eax,%eax 646c: f3 aa rep stos %al,%es:(%rdi) 646e: eb 42 jmp 64b2 <ext2_quota_read+0x127> 6470: 48 8b 53 18 mov 0x18(%rbx),%rdx 6474: 48 8b bb f8 00 00 00 mov 0xf8(%rbx),%rdi 647b: 48 8b 75 80 mov -0x80(%rbp),%rsi 647f: 4c 89 85 48 ff ff ff mov %r8,-0xb8(%rbp) 6486: e8 00 00 00 00 callq 648b <ext2_quota_read+0x100> 6487: R_X86_64_PC32 __bread-0x4 648b: 48 85 c0 test %rax,%rax 648e: 4c 8b 85 48 ff ff ff mov -0xb8(%rbp),%r8 6495: 74 3c je 64d3 <ext2_quota_read+0x148> 6497: 4c 89 c6 mov %r8,%rsi 649a: 48 03 70 28 add 0x28(%rax),%rsi 649e: 49 63 cf movslq %r15d,%rcx 64a1: 48 8b bd 58 ff ff ff mov -0xa8(%rbp),%rdi 64a8: f3 a4 rep movsb %ds:(%rsi),%es:(%rdi) 64aa: 48 89 c7 mov %rax,%rdi 64ad: e8 7c fc ff ff callq 612e <brelse> 64b2: 4d 63 ff movslq %r15d,%r15 64b5: 49 ff c6 inc %r14 64b8: 4c 01 bd 58 ff ff ff add %r15,-0xa8(%rbp) 64bf: 4d 29 fd sub %r15,%r13 64c2: 45 31 ff xor %r15d,%r15d 64c5: 4d 85 ed test %r13,%r13 64c8: 0f 85 33 ff ff ff jne 6401 <ext2_quota_read+0x76> 64ce: 4c 89 e0 mov %r12,%rax 64d1: eb 07 jmp 64da <ext2_quota_read+0x14f> 64d3: 48 c7 c0 fb ff ff ff mov $0xfffffffffffffffb,%rax 64da: 48 81 c4 98 00 00 00 add $0x98,%rsp 64e1: 5b pop %rbx 64e2: 41 5c pop %r12 64e4: 41 5d pop %r13 64e6: 41 5e pop %r14 64e8: 41 5f pop %r15 64ea: 5d pop %rbp 64eb: c3 retq Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones virt-p2v converts physical machines to virtual machines. Boot with a live CD or over the network (PXE) and turn machines into Xen guests. http://et.redhat.com/~rjones/virt-p2v
Attachment:
warnings.txt
Description: Text document
Index Nav: | [Date Index] [Subject Index] [Author Index] [Thread Index] | |
---|---|---|
Message Nav: | [Date Prev] [Date Next] | [Thread Prev] [Thread Next] |