On 11 Jun 2013, Al Viro spake thusly:

> On Mon, Jun 10, 2013 at 06:42:49PM +0100, Nix wrote:
>> Yes, my shutdown scripts are panicking the kernel again! They're not
>> causing filesystem corruption this time, but it's still fs-related.
>> 
>> Here's the 3.9.5 panic, seen on an x86-32 NFS client using NFSv3: NFSv4
>> was compiled in but not used. This happened when processes whose
>> current directory was on one of those NFS-mounted filesystems were being
>> killed, after it had been lazy-umounted (so by this point its cwd was in
>> a disconnected mount point).
>
> Hrm...  Could you post (or drop on anonftp, etc.) disassembly of path_init() 
> from
> your kernel?  The code quoted in oops looks very odd...

Sure! The compiler is GCC 4.7.3 20130310 (so not on a release branch: it
is possible this is an already-fixed compiler bug).

Both x86-32 and x86-64 disassemblies follow:

x86:

0000083f <path_init>:
     83f:       55                      push   %ebp
     840:       57                      push   %edi
     841:       56                      push   %esi
     842:       53                      push   %ebx
     843:       83 ec 0c                sub    $0xc,%esp
     846:       89 d5                   mov    %edx,%ebp
     848:       89 ca                   mov    %ecx,%edx
     84a:       89 cf                   mov    %ecx,%edi
     84c:       8b 5c 24 20             mov    0x20(%esp),%ebx
     850:       80 ce 10                or     $0x10,%dh
     853:       f6 c5 20                test   $0x20,%ch
     856:       c7 43 28 01 00 00 00    movl   $0x1,0x28(%ebx)
     85d:       89 53 20                mov    %edx,0x20(%ebx)
     860:       c7 43 2c 00 00 00 00    movl   $0x0,0x2c(%ebx)
     867:       74 6c                   je     8d5 <path_init+0x96>
     869:       8b 43 18                mov    0x18(%ebx),%eax
     86c:       80 7d 00 00             cmpb   $0x0,0x0(%ebp)
     870:       8b 70 20                mov    0x20(%eax),%esi
     873:       74 21                   je     896 <path_init+0x57>
     875:       f6 46 02 02             testb  $0x2,0x2(%esi)
     879:       0f 85 12 02 00 00       jne    a91 <path_init+0x252>
     87f:       8b 46 18                mov    0x18(%esi),%eax
     882:       83 38 00                cmpl   $0x0,(%eax)
     885:       75 05                   jne    88c <path_init+0x4d>
     887:       e9 9a 01 00 00          jmp    a26 <path_init+0x1e7>
     88c:       66 83 4e 02 02          orw    $0x2,0x2(%esi)
     891:       e9 fb 01 00 00          jmp    a91 <path_init+0x252>
     896:       8b 43 14                mov    0x14(%ebx),%eax
     899:       8b 53 18                mov    0x18(%ebx),%edx
     89c:       89 03                   mov    %eax,(%ebx)
     89e:       89 53 04                mov    %edx,0x4(%ebx)
     8a1:       89 73 1c                mov    %esi,0x1c(%ebx)
     8a4:       83 e7 40                and    $0x40,%edi
     8a7:       74 20                   je     8c9 <path_init+0x8a>
     8a9:       b8 00 00 00 00          mov    $0x0,%eax
     8ae:       e8 fc ff ff ff          call   8af <path_init+0x70>
     8b3:       8b 53 04                mov    0x4(%ebx),%edx
     8b6:       8b 42 04                mov    0x4(%edx),%eax
     8b9:       a8 01                   test   $0x1,%al
     8bb:       74 04                   je     8c1 <path_init+0x82>
     8bd:       f3 90                   pause  
     8bf:       eb f5                   jmp    8b6 <path_init+0x77>
     8c1:       89 43 24                mov    %eax,0x24(%ebx)
     8c4:       e9 bd 01 00 00          jmp    a86 <path_init+0x247>
     8c9:       89 d8                   mov    %ebx,%eax
     8cb:       e8 fc ff ff ff          call   8cc <path_init+0x8d>
     8d0:       e9 b1 01 00 00          jmp    a86 <path_init+0x247>
     8d5:       c7 43 14 00 00 00 00    movl   $0x0,0x14(%ebx)
     8dc:       80 7d 00 2f             cmpb   $0x2f,0x0(%ebp)
     8e0:       0f 85 8b 00 00 00       jne    971 <path_init+0x132>
     8e6:       83 e7 40                and    $0x40,%edi
     8e9:       74 4e                   je     939 <path_init+0xfa>
     8eb:       b8 00 00 00 00          mov    $0x0,%eax
     8f0:       e8 fc ff ff ff          call   8f1 <path_init+0xb2>
     8f5:       83 7b 14 00             cmpl   $0x0,0x14(%ebx)
     8f9:       75 66                   jne    961 <path_init+0x122>
     8fb:       a1 00 00 00 00          mov    0x0,%eax
     900:       8b 88 54 02 00 00       mov    0x254(%eax),%ecx
     906:       8b 71 04                mov    0x4(%ecx),%esi
     909:       f7 c6 01 00 00 00       test   $0x1,%esi
     90f:       74 04                   je     915 <path_init+0xd6>
     911:       f3 90                   pause  
     913:       eb f1                   jmp    906 <path_init+0xc7>
     915:       8b 51 14                mov    0x14(%ecx),%edx
     918:       8b 41 10                mov    0x10(%ecx),%eax
     91b:       89 53 18                mov    %edx,0x18(%ebx)
     91e:       89 43 14                mov    %eax,0x14(%ebx)
     921:       8b 53 18                mov    0x18(%ebx),%edx
     924:       8b 42 04                mov    0x4(%edx),%eax
     927:       a8 01                   test   $0x1,%al
     929:       74 04                   je     92f <path_init+0xf0>
     92b:       f3 90                   pause  
     92d:       eb f5                   jmp    924 <path_init+0xe5>
     92f:       89 43 24                mov    %eax,0x24(%ebx)
     932:       39 71 04                cmp    %esi,0x4(%ecx)
     935:       74 2a                   je     961 <path_init+0x122>
     937:       eb cd                   jmp    906 <path_init+0xc7>
     939:       a1 00 00 00 00          mov    0x0,%eax
     93e:       8d 6b 14                lea    0x14(%ebx),%ebp
     941:       8b 80 54 02 00 00       mov    0x254(%eax),%eax
     947:       8b 70 10                mov    0x10(%eax),%esi
     94a:       8b 78 14                mov    0x14(%eax),%edi
     94d:       89 7b 18                mov    %edi,0x18(%ebx)
     950:       89 73 14                mov    %esi,0x14(%ebx)
     953:       89 e8                   mov    %ebp,%eax
     955:       e8 fc ff ff ff          call   956 <path_init+0x117>
     95a:       89 e8                   mov    %ebp,%eax
     95c:       e8 fc ff ff ff          call   95d <path_init+0x11e>
     961:       8b 43 14                mov    0x14(%ebx),%eax
     964:       8b 53 18                mov    0x18(%ebx),%edx
     967:       89 03                   mov    %eax,(%ebx)
     969:       89 53 04                mov    %edx,0x4(%ebx)
     96c:       e9 0c 01 00 00          jmp    a7d <path_init+0x23e>
     971:       83 f8 9c                cmp    $0xffffff9c,%eax
     974:       75 6a                   jne    9e0 <path_init+0x1a1>
     976:       a1 00 00 00 00          mov    0x0,%eax
     97b:       83 e7 40                and    $0x40,%edi
     97e:       74 43                   je     9c3 <path_init+0x184>
     980:       8b b0 54 02 00 00       mov    0x254(%eax),%esi
     986:       b8 00 00 00 00          mov    $0x0,%eax
     98b:       e8 fc ff ff ff          call   98c <path_init+0x14d>
     990:       8b 4e 04                mov    0x4(%esi),%ecx
     993:       f6 c1 01                test   $0x1,%cl
     996:       74 04                   je     99c <path_init+0x15d>
     998:       f3 90                   pause  
     99a:       eb f4                   jmp    990 <path_init+0x151>
     99c:       8b 56 1c                mov    0x1c(%esi),%edx
     99f:       8b 46 18                mov    0x18(%esi),%eax
     9a2:       89 53 04                mov    %edx,0x4(%ebx)
     9a5:       89 03                   mov    %eax,(%ebx)
     9a7:       8b 53 04                mov    0x4(%ebx),%edx
     9aa:       8b 42 04                mov    0x4(%edx),%eax
     9ad:       a8 01                   test   $0x1,%al
     9af:       74 04                   je     9b5 <path_init+0x176>
     9b1:       f3 90                   pause  
     9b3:       eb f5                   jmp    9aa <path_init+0x16b>
     9b5:       89 43 24                mov    %eax,0x24(%ebx)
     9b8:       39 4e 04                cmp    %ecx,0x4(%esi)
     9bb:       0f 84 bc 00 00 00       je     a7d <path_init+0x23e>
     9c1:       eb cd                   jmp    990 <path_init+0x151>
     9c3:       8b 80 54 02 00 00       mov    0x254(%eax),%eax
     9c9:       8b 50 1c                mov    0x1c(%eax),%edx
     9cc:       8b 40 18                mov    0x18(%eax),%eax
     9cf:       89 03                   mov    %eax,(%ebx)
     9d1:       89 53 04                mov    %edx,0x4(%ebx)
     9d4:       89 d8                   mov    %ebx,%eax
     9d6:       e8 fc ff ff ff          call   9d7 <path_init+0x198>
     9db:       e9 87 00 00 00          jmp    a67 <path_init+0x228>
     9e0:       8d 54 24 08             lea    0x8(%esp),%edx
     9e4:       e8 fc ff ff ff          call   9e5 <path_init+0x1a6>
     9e9:       8b 54 24 08             mov    0x8(%esp),%edx
     9ed:       89 c6                   mov    %eax,%esi
     9ef:       89 14 24                mov    %edx,(%esp)
     9f2:       85 c0                   test   %eax,%eax
     9f4:       0f 84 90 00 00 00       je     a8a <path_init+0x24b>
     9fa:       8b 40 0c                mov    0xc(%eax),%eax
     9fd:       80 7d 00 00             cmpb   $0x0,0x0(%ebp)
     a01:       74 2d                   je     a30 <path_init+0x1f1>
     a03:       8b 40 20                mov    0x20(%eax),%eax
     a06:       f6 40 02 02             testb  $0x2,0x2(%eax)
     a0a:       75 24                   jne    a30 <path_init+0x1f1>
     a0c:       8b 48 18                mov    0x18(%eax),%ecx
     a0f:       83 39 00                cmpl   $0x0,(%ecx)
     a12:       0f 84 8f 00 00 00       je     aa7 <path_init+0x268>
     a18:       66 83 48 02 02          orw    $0x2,0x2(%eax)
     a1d:       eb 11                   jmp    a30 <path_init+0x1f1>
     a1f:       89 f0                   mov    %esi,%eax
     a21:       e8 fc ff ff ff          call   a22 <path_init+0x1e3>
     a26:       b8 ec ff ff ff          mov    $0xffffffec,%eax
     a2b:       e9 86 00 00 00          jmp    ab6 <path_init+0x277>
     a30:       8b 46 08                mov    0x8(%esi),%eax
     a33:       8b 56 0c                mov    0xc(%esi),%edx
     a36:       89 53 04                mov    %edx,0x4(%ebx)
     a39:       89 03                   mov    %eax,(%ebx)
     a3b:       83 e7 40                and    $0x40,%edi
     a3e:       74 29                   je     a69 <path_init+0x22a>
     a40:       83 3c 24 00             cmpl   $0x0,(%esp)
     a44:       74 06                   je     a4c <path_init+0x20d>
     a46:       8b 44 24 24             mov    0x24(%esp),%eax
     a4a:       89 30                   mov    %esi,(%eax)
     a4c:       8b 53 04                mov    0x4(%ebx),%edx
     a4f:       8b 42 04                mov    0x4(%edx),%eax
     a52:       a8 01                   test   $0x1,%al
     a54:       74 04                   je     a5a <path_init+0x21b>
     a56:       f3 90                   pause  
     a58:       eb f5                   jmp    a4f <path_init+0x210>
     a5a:       89 43 24                mov    %eax,0x24(%ebx)
     a5d:       b8 00 00 00 00          mov    $0x0,%eax
     a62:       e8 fc ff ff ff          call   a63 <path_init+0x224>
     a67:       eb 14                   jmp    a7d <path_init+0x23e>
     a69:       89 d8                   mov    %ebx,%eax
     a6b:       e8 fc ff ff ff          call   a6c <path_init+0x22d>
     a70:       83 3c 24 00             cmpl   $0x0,(%esp)
     a74:       74 07                   je     a7d <path_init+0x23e>
     a76:       89 f0                   mov    %esi,%eax
     a78:       e8 fc ff ff ff          call   a79 <path_init+0x23a>
     a7d:       8b 43 04                mov    0x4(%ebx),%eax
     a80:       8b 40 20                mov    0x20(%eax),%eax
     a83:       89 43 1c                mov    %eax,0x1c(%ebx)
     a86:       31 c0                   xor    %eax,%eax
     a88:       eb 2c                   jmp    ab6 <path_init+0x277>
     a8a:       b8 f7 ff ff ff          mov    $0xfffffff7,%eax
     a8f:       eb 25                   jmp    ab6 <path_init+0x277>
     a91:       ba 01 00 00 00          mov    $0x1,%edx
     a96:       89 f0                   mov    %esi,%eax
     a98:       e8 fc ff ff ff          call   a99 <path_init+0x25a>
     a9d:       85 c0                   test   %eax,%eax
     a9f:       0f 84 f1 fd ff ff       je     896 <path_init+0x57>
     aa5:       eb 0f                   jmp    ab6 <path_init+0x277>
     aa7:       83 3c 24 00             cmpl   $0x0,(%esp)
     aab:       0f 84 75 ff ff ff       je     a26 <path_init+0x1e7>
     ab1:       e9 69 ff ff ff          jmp    a1f <path_init+0x1e0>
     ab6:       83 c4 0c                add    $0xc,%esp
     ab9:       5b                      pop    %ebx
     aba:       5e                      pop    %esi
     abb:       5f                      pop    %edi
     abc:       5d                      pop    %ebp
     abd:       c3                      ret    

x86-64:

0000000000002406 <path_init>:
    2406:       e8 00 00 00 00          callq  240b <get_write_access+0x240b>
    240b:       55                      push   %rbp
    240c:       89 d0                   mov    %edx,%eax
    240e:       48 89 e5                mov    %rsp,%rbp
    2411:       41 57                   push   %r15
    2413:       80 cc 10                or     $0x10,%ah
    2416:       41 56                   push   %r14
    2418:       49 89 f6                mov    %rsi,%r14
    241b:       41 55                   push   %r13
    241d:       41 89 d5                mov    %edx,%r13d
    2420:       41 54                   push   %r12
    2422:       53                      push   %rbx
    2423:       48 89 cb                mov    %rcx,%rbx
    2426:       48 83 ec 28             sub    $0x28,%rsp
    242a:       f6 c6 20                test   $0x20,%dh
    242d:       c7 41 40 01 00 00 00    movl   $0x1,0x40(%rcx)
    2434:       89 41 38                mov    %eax,0x38(%rcx)
    2437:       c7 41 44 00 00 00 00    movl   $0x0,0x44(%rcx)
    243e:       0f 84 9b 00 00 00       je     24df <get_write_access+0x24df>
    2444:       48 8b 41 28             mov    0x28(%rcx),%rax
    2448:       80 3e 00                cmpb   $0x0,(%rsi)
    244b:       4c 8b 60 30             mov    0x30(%rax),%r12
    244f:       74 40                   je     2491 <get_write_access+0x2491>
    2451:       41 f6 44 24 02 02       testb  $0x2,0x2(%r12)
    2457:       0f 85 e4 02 00 00       jne    2741 <get_write_access+0x2741>
    245d:       49 8b 44 24 20          mov    0x20(%r12),%rax
    2462:       48 83 38 00             cmpq   $0x0,(%rax)
    2466:       75 05                   jne    246d <get_write_access+0x246d>
    2468:       e9 5a 02 00 00          jmpq   26c7 <get_write_access+0x26c7>
    246d:       4d 8d b4 24 88 00 00    lea    0x88(%r12),%r14
    2474:       00 
    2475:       4c 89 f7                mov    %r14,%rdi
    2478:       e8 00 00 00 00          callq  247d <get_write_access+0x247d>
    247d:       4c 89 f7                mov    %r14,%rdi
    2480:       66 41 83 4c 24 02 02    orw    $0x2,0x2(%r12)
    2487:       e8 00 00 00 00          callq  248c <get_write_access+0x248c>
    248c:       e9 b0 02 00 00          jmpq   2741 <get_write_access+0x2741>
    2491:       48 8b 43 20             mov    0x20(%rbx),%rax
    2495:       41 80 e5 40             and    $0x40,%r13b
    2499:       4c 89 63 30             mov    %r12,0x30(%rbx)
    249d:       48 89 03                mov    %rax,(%rbx)
    24a0:       48 8b 43 28             mov    0x28(%rbx),%rax
    24a4:       48 89 43 08             mov    %rax,0x8(%rbx)
    24a8:       74 28                   je     24d2 <get_write_access+0x24d2>
    24aa:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi
    24b1:       e8 00 00 00 00          callq  24b6 <get_write_access+0x24b6>
    24b6:       e8 00 00 00 00          callq  24bb <get_write_access+0x24bb>
    24bb:       48 8b 53 08             mov    0x8(%rbx),%rdx
    24bf:       8b 42 04                mov    0x4(%rdx),%eax
    24c2:       a8 01                   test   $0x1,%al
    24c4:       74 04                   je     24ca <get_write_access+0x24ca>
    24c6:       f3 90                   pause  
    24c8:       eb f5                   jmp    24bf <get_write_access+0x24bf>
    24ca:       89 43 3c                mov    %eax,0x3c(%rbx)
    24cd:       e9 64 02 00 00          jmpq   2736 <get_write_access+0x2736>
    24d2:       48 89 df                mov    %rbx,%rdi
    24d5:       e8 00 00 00 00          callq  24da <get_write_access+0x24da>
    24da:       e9 57 02 00 00          jmpq   2736 <get_write_access+0x2736>
    24df:       48 c7 41 20 00 00 00    movq   $0x0,0x20(%rcx)
    24e6:       00 
    24e7:       80 3e 2f                cmpb   $0x2f,(%rsi)
    24ea:       0f 85 c3 00 00 00       jne    25b3 <get_write_access+0x25b3>
    24f0:       41 80 e5 40             and    $0x40,%r13b
    24f4:       74 5e                   je     2554 <get_write_access+0x2554>
    24f6:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi
    24fd:       e8 00 00 00 00          callq  2502 <get_write_access+0x2502>
    2502:       e8 00 00 00 00          callq  2507 <get_write_access+0x2507>
    2507:       48 83 7b 20 00          cmpq   $0x0,0x20(%rbx)
    250c:       0f 85 8d 00 00 00       jne    259f <get_write_access+0x259f>
    2512:       65 48 8b 04 25 00 00    mov    %gs:0x0,%rax
    2519:       00 00 
    251b:       48 8b 80 58 05 00 00    mov    0x558(%rax),%rax
    2522:       8b 50 08                mov    0x8(%rax),%edx
    2525:       f6 c2 01                test   $0x1,%dl
    2528:       74 04                   je     252e <get_write_access+0x252e>
    252a:       f3 90                   pause  
    252c:       eb f4                   jmp    2522 <get_write_access+0x2522>
    252e:       48 8b 48 18             mov    0x18(%rax),%rcx
    2532:       48 89 4b 20             mov    %rcx,0x20(%rbx)
    2536:       48 8b 70 20             mov    0x20(%rax),%rsi
    253a:       48 89 73 28             mov    %rsi,0x28(%rbx)
    253e:       8b 4e 04                mov    0x4(%rsi),%ecx
    2541:       f6 c1 01                test   $0x1,%cl
    2544:       74 04                   je     254a <get_write_access+0x254a>
    2546:       f3 90                   pause  
    2548:       eb f4                   jmp    253e <get_write_access+0x253e>
    254a:       89 4b 3c                mov    %ecx,0x3c(%rbx)
    254d:       39 50 08                cmp    %edx,0x8(%rax)
    2550:       74 4d                   je     259f <get_write_access+0x259f>
    2552:       eb ce                   jmp    2522 <get_write_access+0x2522>
    2554:       65 48 8b 04 25 00 00    mov    %gs:0x0,%rax
    255b:       00 00 
    255d:       4c 8b a0 58 05 00 00    mov    0x558(%rax),%r12
    2564:       4c 8d 69 20             lea    0x20(%rcx),%r13
    2568:       4d 8d 74 24 04          lea    0x4(%r12),%r14
    256d:       4c 89 f7                mov    %r14,%rdi
    2570:       e8 00 00 00 00          callq  2575 <get_write_access+0x2575>
    2575:       49 8b 44 24 18          mov    0x18(%r12),%rax
    257a:       4c 89 ef                mov    %r13,%rdi
    257d:       48 89 43 20             mov    %rax,0x20(%rbx)
    2581:       49 8b 44 24 20          mov    0x20(%r12),%rax
    2586:       48 89 43 28             mov    %rax,0x28(%rbx)
    258a:       e8 00 00 00 00          callq  258f <get_write_access+0x258f>
    258f:       4c 89 f7                mov    %r14,%rdi
    2592:       e8 00 00 00 00          callq  2597 <get_write_access+0x2597>
    2597:       4c 89 ef                mov    %r13,%rdi
    259a:       e8 00 00 00 00          callq  259f <get_write_access+0x259f>
    259f:       48 8b 43 20             mov    0x20(%rbx),%rax
    25a3:       48 89 03                mov    %rax,(%rbx)
    25a6:       48 8b 43 28             mov    0x28(%rbx),%rax
    25aa:       48 89 43 08             mov    %rax,0x8(%rbx)
    25ae:       e9 77 01 00 00          jmpq   272a <get_write_access+0x272a>
    25b3:       83 ff 9c                cmp    $0xffffff9c,%edi
    25b6:       0f 85 94 00 00 00       jne    2650 <get_write_access+0x2650>
    25bc:       65 48 8b 04 25 00 00    mov    %gs:0x0,%rax
    25c3:       00 00 
    25c5:       41 80 e5 40             and    $0x40,%r13b
    25c9:       4c 8b a0 58 05 00 00    mov    0x558(%rax),%r12
    25d0:       74 4b                   je     261d <get_write_access+0x261d>
    25d2:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi
    25d9:       e8 00 00 00 00          callq  25de <get_write_access+0x25de>
    25de:       e8 00 00 00 00          callq  25e3 <get_write_access+0x25e3>
    25e3:       41 8b 44 24 08          mov    0x8(%r12),%eax
    25e8:       a8 01                   test   $0x1,%al
    25ea:       74 04                   je     25f0 <get_write_access+0x25f0>
    25ec:       f3 90                   pause  
    25ee:       eb f3                   jmp    25e3 <get_write_access+0x25e3>
    25f0:       49 8b 54 24 28          mov    0x28(%r12),%rdx
    25f5:       48 89 13                mov    %rdx,(%rbx)
    25f8:       49 8b 4c 24 30          mov    0x30(%r12),%rcx
    25fd:       48 89 4b 08             mov    %rcx,0x8(%rbx)
    2601:       8b 51 04                mov    0x4(%rcx),%edx
    2604:       f6 c2 01                test   $0x1,%dl
    2607:       74 04                   je     260d <get_write_access+0x260d>
    2609:       f3 90                   pause  
    260b:       eb f4                   jmp    2601 <get_write_access+0x2601>
    260d:       89 53 3c                mov    %edx,0x3c(%rbx)
    2610:       41 39 44 24 08          cmp    %eax,0x8(%r12)
    2615:       0f 84 0f 01 00 00       je     272a <get_write_access+0x272a>
    261b:       eb c6                   jmp    25e3 <get_write_access+0x25e3>
    261d:       4d 8d 6c 24 04          lea    0x4(%r12),%r13
    2622:       4c 89 ef                mov    %r13,%rdi
    2625:       e8 00 00 00 00          callq  262a <get_write_access+0x262a>
    262a:       49 8b 44 24 28          mov    0x28(%r12),%rax
    262f:       48 89 df                mov    %rbx,%rdi
    2632:       48 89 03                mov    %rax,(%rbx)
    2635:       49 8b 44 24 30          mov    0x30(%r12),%rax
    263a:       48 89 43 08             mov    %rax,0x8(%rbx)
    263e:       e8 00 00 00 00          callq  2643 <get_write_access+0x2643>
    2643:       4c 89 ef                mov    %r13,%rdi
    2646:       e8 00 00 00 00          callq  264b <get_write_access+0x264b>
    264b:       e9 da 00 00 00          jmpq   272a <get_write_access+0x272a>
    2650:       48 8d 75 cc             lea    -0x34(%rbp),%rsi
    2654:       4c 89 45 b8             mov    %r8,-0x48(%rbp)
    2658:       e8 00 00 00 00          callq  265d <get_write_access+0x265d>
    265d:       44 8b 7d cc             mov    -0x34(%rbp),%r15d
    2661:       48 85 c0                test   %rax,%rax
    2664:       49 89 c4                mov    %rax,%r12
    2667:       4c 8b 45 b8             mov    -0x48(%rbp),%r8
    266b:       0f 84 c9 00 00 00       je     273a <get_write_access+0x273a>
    2671:       41 80 3e 00             cmpb   $0x0,(%r14)
    2675:       48 8b 50 18             mov    0x18(%rax),%rdx
    2679:       74 56                   je     26d1 <get_write_access+0x26d1>
    267b:       4c 8b 72 30             mov    0x30(%rdx),%r14
    267f:       41 f6 46 02 02          testb  $0x2,0x2(%r14)
    2684:       75 4b                   jne    26d1 <get_write_access+0x26d1>
    2686:       49 8b 56 20             mov    0x20(%r14),%rdx
    268a:       48 83 3a 00             cmpq   $0x0,(%rdx)
    268e:       0f 84 c4 00 00 00       je     2758 <get_write_access+0x2758>
    2694:       49 8d 96 88 00 00 00    lea    0x88(%r14),%rdx
    269b:       48 89 d7                mov    %rdx,%rdi
    269e:       48 89 55 b0             mov    %rdx,-0x50(%rbp)
    26a2:       e8 00 00 00 00          callq  26a7 <get_write_access+0x26a7>
    26a7:       66 41 83 4e 02 02       orw    $0x2,0x2(%r14)
    26ad:       48 8b 55 b0             mov    -0x50(%rbp),%rdx
    26b1:       48 89 d7                mov    %rdx,%rdi
    26b4:       e8 00 00 00 00          callq  26b9 <get_write_access+0x26b9>
    26b9:       4c 8b 45 b8             mov    -0x48(%rbp),%r8
    26bd:       eb 12                   jmp    26d1 <get_write_access+0x26d1>
    26bf:       4c 89 e7                mov    %r12,%rdi
    26c2:       e8 00 00 00 00          callq  26c7 <get_write_access+0x26c7>
    26c7:       b8 ec ff ff ff          mov    $0xffffffec,%eax
    26cc:       e9 95 00 00 00          jmpq   2766 <get_write_access+0x2766>
    26d1:       49 8b 54 24 10          mov    0x10(%r12),%rdx
    26d6:       41 80 e5 40             and    $0x40,%r13b
    26da:       48 89 13                mov    %rdx,(%rbx)
    26dd:       49 8b 54 24 18          mov    0x18(%r12),%rdx
    26e2:       48 89 53 08             mov    %rdx,0x8(%rbx)
    26e6:       74 2d                   je     2715 <get_write_access+0x2715>
    26e8:       45 85 ff                test   %r15d,%r15d
    26eb:       74 03                   je     26f0 <get_write_access+0x26f0>
    26ed:       4d 89 20                mov    %r12,(%r8)
    26f0:       48 8b 53 08             mov    0x8(%rbx),%rdx
    26f4:       8b 42 04                mov    0x4(%rdx),%eax
    26f7:       a8 01                   test   $0x1,%al
    26f9:       74 04                   je     26ff <get_write_access+0x26ff>
    26fb:       f3 90                   pause  
    26fd:       eb f5                   jmp    26f4 <get_write_access+0x26f4>
    26ff:       89 43 3c                mov    %eax,0x3c(%rbx)
    2702:       48 c7 c7 00 00 00 00    mov    $0x0,%rdi
    2709:       e8 00 00 00 00          callq  270e <get_write_access+0x270e>
    270e:       e8 00 00 00 00          callq  2713 <get_write_access+0x2713>
    2713:       eb 15                   jmp    272a <get_write_access+0x272a>
    2715:       48 89 df                mov    %rbx,%rdi
    2718:       e8 00 00 00 00          callq  271d <get_write_access+0x271d>
    271d:       45 85 ff                test   %r15d,%r15d
    2720:       74 08                   je     272a <get_write_access+0x272a>
    2722:       4c 89 e7                mov    %r12,%rdi
    2725:       e8 00 00 00 00          callq  272a <get_write_access+0x272a>
    272a:       48 8b 43 08             mov    0x8(%rbx),%rax
    272e:       48 8b 40 30             mov    0x30(%rax),%rax
    2732:       48 89 43 30             mov    %rax,0x30(%rbx)
    2736:       31 c0                   xor    %eax,%eax
    2738:       eb 2c                   jmp    2766 <get_write_access+0x2766>
    273a:       b8 f7 ff ff ff          mov    $0xfffffff7,%eax
    273f:       eb 25                   jmp    2766 <get_write_access+0x2766>
    2741:       be 01 00 00 00          mov    $0x1,%esi
    2746:       4c 89 e7                mov    %r12,%rdi
    2749:       e8 00 00 00 00          callq  274e <get_write_access+0x274e>
    274e:       85 c0                   test   %eax,%eax
    2750:       0f 84 3b fd ff ff       je     2491 <get_write_access+0x2491>
    2756:       eb 0e                   jmp    2766 <get_write_access+0x2766>
    2758:       45 85 ff                test   %r15d,%r15d
    275b:       0f 84 66 ff ff ff       je     26c7 <get_write_access+0x26c7>
    2761:       e9 59 ff ff ff          jmpq   26bf <get_write_access+0x26bf>
    2766:       48 83 c4 28             add    $0x28,%rsp
    276a:       5b                      pop    %rbx
    276b:       41 5c                   pop    %r12
    276d:       41 5d                   pop    %r13
    276f:       41 5e                   pop    %r14
    2771:       41 5f                   pop    %r15
    2773:       5d                      pop    %rbp
    2774:       c3                      retq   
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to