All pastes #247436 Raw Edit

Anonymous

public text v1 · immutable
#247436 ·published 2006-11-13 14:47 UTC
rendered paste body
(gdb) disas anon_vma_prepare
Dump of assembler code for function anon_vma_prepare:
0x000620a0 <anon_vma_prepare+0>:        sub    $0x14,%esp
0x000620a3 <anon_vma_prepare+3>:        mov    %ebx,0x4(%esp)
0x000620a7 <anon_vma_prepare+7>:        mov    %esi,0x8(%esp)
0x000620ab <anon_vma_prepare+11>:       mov    %edi,0xc(%esp)
0x000620af <anon_vma_prepare+15>:       mov    %ebp,0x10(%esp)
0x000620b3 <anon_vma_prepare+19>:       mov    %eax,%ebx
0x000620b5 <anon_vma_prepare+21>:       mov    0x44(%eax),%ecx
0x000620b8 <anon_vma_prepare+24>:       test   %ecx,%ecx
0x000620ba <anon_vma_prepare+26>:       je     0x620d2 <anon_vma_prepare+50>
0x000620bc <anon_vma_prepare+28>:       xor    %eax,%eax
0x000620be <anon_vma_prepare+30>:       mov    0x4(%esp),%ebx
0x000620c2 <anon_vma_prepare+34>:       mov    0x8(%esp),%esi
0x000620c6 <anon_vma_prepare+38>:       mov    0xc(%esp),%edi
0x000620ca <anon_vma_prepare+42>:       mov    0x10(%esp),%ebp
0x000620ce <anon_vma_prepare+46>:       add    $0x14,%esp
0x000620d1 <anon_vma_prepare+49>:       ret
0x000620d2 <anon_vma_prepare+50>:       mov    (%eax),%eax
0x000620d4 <anon_vma_prepare+52>:       mov    %eax,(%esp)
0x000620d7 <anon_vma_prepare+55>:       mov    %ebx,%eax
0x000620d9 <anon_vma_prepare+57>:       call   0x5e2c5 <find_mergeable_anon_vma>
0x000620de <anon_vma_prepare+62>:       test   %eax,%eax
0x000620e0 <anon_vma_prepare+64>:       mov    %eax,%esi
0x000620e2 <anon_vma_prepare+66>:       je     0x62195 <anon_vma_prepare+245>
0x000620e8 <anon_vma_prepare+72>:       xor    %ebp,%ebp
0x000620ea <anon_vma_prepare+74>:       mov    %eax,%edi
0x000620ec <anon_vma_prepare+76>:       call   0x4bdcbd <_spin_lock>
0x000620f1 <anon_vma_prepare+81>:       mov    (%esp),%eax
0x000620f4 <anon_vma_prepare+84>:       add    $0x44,%eax
0x000620f7 <anon_vma_prepare+87>:       call   0x4bdcbd <_spin_lock>
0x000620fc <anon_vma_prepare+92>:       mov    0x44(%ebx),%edx
0x000620ff <anon_vma_prepare+95>:       test   %edx,%edx
0x00062101 <anon_vma_prepare+97>:       jne    0x6211d <anon_vma_prepare+125>
0x00062103 <anon_vma_prepare+99>:       mov    %esi,0x44(%ebx)
0x00062106 <anon_vma_prepare+102>:      lea    0x3c(%ebx),%eax
0x00062109 <anon_vma_prepare+105>:      lea    0x4(%esi),%ecx
0x0006210c <anon_vma_prepare+108>:      mov    0x4(%esi),%edx
0x0006210f <anon_vma_prepare+111>:      xor    %ebp,%ebp
0x00062111 <anon_vma_prepare+113>:      mov    %eax,0x4(%edx)
0x00062114 <anon_vma_prepare+116>:      mov    %edx,0x3c(%ebx)
0x00062117 <anon_vma_prepare+119>:      mov    %ecx,0x4(%eax)
0x0006211a <anon_vma_prepare+122>:      mov    %eax,0x4(%esi)
0x0006211d <anon_vma_prepare+125>:      testb  $0x4,0x1b(%ebx)
0x00062121 <anon_vma_prepare+129>:      jne    0x62146 <anon_vma_prepare+166>
0x00062123 <anon_vma_prepare+131>:      mov    (%esp),%eax
0x00062126 <anon_vma_prepare+134>:      movb   $0x1,0x44(%eax)
0x0006212a <anon_vma_prepare+138>:      test   %edi,%edi
0x0006212c <anon_vma_prepare+140>:      je     0x62131 <anon_vma_prepare+145>
0x0006212e <anon_vma_prepare+142>:      movb   $0x1,(%edi)
0x00062131 <anon_vma_prepare+145>:      test   %ebp,%ebp
0x00062133 <anon_vma_prepare+147>:      je     0x620bc <anon_vma_prepare+28>
0x00062135 <anon_vma_prepare+149>:      mov    %ebp,%edx
0x00062137 <anon_vma_prepare+151>:      mov    0xc0f1499c,%eax
0x0006213c <anon_vma_prepare+156>:      call   0x6b0d8 <kmem_cache_free>
0x00062141 <anon_vma_prepare+161>:      jmp    0x620bc <anon_vma_prepare+28>
0x00062146 <anon_vma_prepare+166>:      mov    0x5c(%ebx),%edx
0x00062149 <anon_vma_prepare+169>:      mov    (%ebx),%eax
0x0006214b <anon_vma_prepare+171>:      add    0x4(%ebx),%edx
0x0006214e <anon_vma_prepare+174>:      call   0x5ef41 <find_vma>
0x00062153 <anon_vma_prepare+179>:      test   %eax,%eax
0x00062155 <anon_vma_prepare+181>:      mov    %eax,%edx
0x00062157 <anon_vma_prepare+183>:      je     0x6218a <anon_vma_prepare+234>
0x00062159 <anon_vma_prepare+185>:      mov    0x5c(%ebx),%eax
0x0006215c <anon_vma_prepare+188>:      add    0x4(%ebx),%eax
0x0006215f <anon_vma_prepare+191>:      cmp    %eax,0x4(%edx)
---Type <return> to continue, or q <return> to quit---
0x00062162 <anon_vma_prepare+194>:      jne    0x6218a <anon_vma_prepare+234>
0x00062164 <anon_vma_prepare+196>:      mov    0x44(%edx),%eax
0x00062167 <anon_vma_prepare+199>:      test   %eax,%eax
0x00062169 <anon_vma_prepare+201>:      jne    0x6217f <anon_vma_prepare+223>
0x0006216b <anon_vma_prepare+203>:      mov    0x4c(%edx),%eax
0x0006216e <anon_vma_prepare+206>:      cmp    %eax,0x4c(%ebx)
0x00062171 <anon_vma_prepare+209>:      jne    0x6217f <anon_vma_prepare+223>
0x00062173 <anon_vma_prepare+211>:      mov    %esi,0x44(%edx)
0x00062176 <anon_vma_prepare+214>:      mov    %edx,%eax
0x00062178 <anon_vma_prepare+216>:      call   0x621f1 <__anon_vma_link>
0x0006217d <anon_vma_prepare+221>:      jmp    0x62123 <anon_vma_prepare+131>
0x0006217f <anon_vma_prepare+223>:      ud2a
0x00062181 <anon_vma_prepare+225>:      ljmp   $0x75,$0xc0939ce2
0x00062188 <anon_vma_prepare+232>:      jmp    0x62173 <anon_vma_prepare+211>
0x0006218a <anon_vma_prepare+234>:      ud2a
0x0006218c <anon_vma_prepare+236>:      ljmp   $0x74,$0xc0939ce2
0x00062193 <anon_vma_prepare+243>:      jmp    0x62164 <anon_vma_prepare+196>
0x00062195 <anon_vma_prepare+245>:      mov    $0xd0,%edx
0x0006219a <anon_vma_prepare+250>:      mov    0xc0f1499c,%eax
0x0006219f <anon_vma_prepare+255>:      call   0x6ae97 <kmem_cache_alloc>
0x000621a4 <anon_vma_prepare+260>:      mov    %eax,%esi
0x000621a6 <anon_vma_prepare+262>:      mov    $0xfffffff4,%eax
0x000621ab <anon_vma_prepare+267>:      test   %esi,%esi
0x000621ad <anon_vma_prepare+269>:      je,pn  0x620be <anon_vma_prepare+30>
0x000621b4 <anon_vma_prepare+276>:      mov    %esi,%ebp
0x000621b6 <anon_vma_prepare+278>:      xor    %edi,%edi
0x000621b8 <anon_vma_prepare+280>:      jmp    0x620f1 <anon_vma_prepare+81>
End of assembler dump.