[systemd-devel] systemd failing with vfs-scale-working patch-set (kdb-2/2)

Sedat Dilek sedat.dilek at googlemail.com
Sat Dec 4 09:14:09 PST 2010


On Fri, Dec 3, 2010 at 8:57 PM, Sedat Dilek <sedat.dilek at googlemail.com> wrote:
> On Fri, Dec 3, 2010 at 6:31 PM, Nick Piggin <npiggin at kernel.dk> wrote:
>> On Wed, Dec 01, 2010 at 05:25:54PM +0100, Sedat Dilek wrote:
>>> On Mon, Nov 29, 2010 at 2:55 PM, Nick Piggin <npiggin at kernel.dk> wrote:
>>> > On Mon, Nov 29, 2010 at 02:36:41PM +0100, Sedat Dilek wrote:
>>> >> On Mon, Nov 29, 2010 at 1:55 PM, Sedat Dilek <sedat.dilek at googlemail.com> wrote:
>>> >> > Hi,
>>> >> >
>>> >> > I have tried the vfs-scale-working patch-set from [1] (GIT tree see [2]).
>>> >> > Unfortunately, I cannot boot my Debian/sid i386 system with systemd
>>> >> > (system freezes) but with sysvinit.
>>> >> > I have attached a screenshot of the Call-trace, hope this helps.
>>> >> >
>>> >> > What I tried to get things worjing is:
>>> >> > * Downgrade systemd from v15 down to v12
>>> >> > * Remove "mtab hackz" [3]
>>> >> > * Remove native mount feature [4] (also in combination with "mtab hackz")
>>> >> > * Mask systemd-remount-api-vfs.service (for testing purposes)
>>> >> >
>>> >> > Not sure what the real problem is (as it is very early), but sysvinit is fine.
>>> >> >
>>> >> > # cat /proc/cmdline
>>> >> > BOOT_IMAGE=/boot/vmlinuz-2.6.37-rc3-686
>>> >> > root=UUID=1ceb69a7-ecf4-47e9-a231-b74e0f0a9b62 ro radeon.modeset=1
>>> >> > lapic 3 init=/sbin/init.sysvinit
>>> >> >
>>> >> > How can I protocol very early messages (I don't think it makes any
>>> >> > sense to activate systemd debugging [5] right now)?
>>> >> > Any advices for this?
>>> >> >
>>> >> > Any idea on the Call-trace or digging into the problem?
>>> >> > Any help appreciated.
>>> >
>>> > Thanks for this, it definitely looks like a bug in vfs scale patches.
>>> >
>>> > I wonder if you can run with frame pointers turned on to get a more
>>> > reliable back trace, and then also try to capture the information
>>> > surrounding the oops.
>>> >
>>> > Thanks,
>>> > Nick
>>>
>>> 2nd screenshot from a kbd-session.
>>
>> OK, thanks. Can you send a disasm of fs/namei.o, please?
>>
>>
>
> Can you give more details on how to "disasm fs/namei.o"?
>
> - Sedat -
>

Hi Nick,

here we go (thanks to Thorsten Glaser from MirBSD for guidance on IRC):

$ cd /home/sd/src/linux-2.6/linux-2.6.37-rc4/debian/build/build_i386_none_686/

$ objdump -D -Mintel fs/namei.o >
$HOME/src/linux-2.6/for_npiggin/fs_namei-o_disasm.txt

Regards,
- Sedat -
-------------- next part --------------

fs/namei.o:     file format elf32-i386


Disassembly of section .text:

00000000 <__page_symlink>:
       0:	55                   	push   ebp
       1:	89 e5                	mov    ebp,esp
       3:	57                   	push   edi
       4:	56                   	push   esi
       5:	53                   	push   ebx
       6:	83 ec 1c             	sub    esp,0x1c
       9:	83 7d 08 01          	cmp    DWORD PTR [ebp+0x8],0x1
       d:	89 45 dc             	mov    DWORD PTR [ebp-0x24],eax
      10:	89 55 d8             	mov    DWORD PTR [ebp-0x28],edx
      13:	8b 80 c4 00 00 00    	mov    eax,DWORD PTR [eax+0xc4]
      19:	19 db                	sbb    ebx,ebx
      1b:	49                   	dec    ecx
      1c:	83 e3 fc             	and    ebx,0xfffffffc
      1f:	83 c3 05             	add    ebx,0x5
      22:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
      25:	89 4d e8             	mov    DWORD PTR [ebp-0x18],ecx
      28:	8d 45 ec             	lea    eax,[ebp-0x14]
      2b:	8b 55 e0             	mov    edx,DWORD PTR [ebp-0x20]
      2e:	50                   	push   eax
      2f:	8d 45 f0             	lea    eax,[ebp-0x10]
      32:	50                   	push   eax
      33:	31 c0                	xor    eax,eax
      35:	53                   	push   ebx
      36:	ff 75 e8             	push   DWORD PTR [ebp-0x18]
      39:	6a 00                	push   0x0
      3b:	6a 00                	push   0x0
      3d:	e8 fc ff ff ff       	call   3e <__page_symlink+0x3e>
      42:	83 c4 18             	add    esp,0x18
      45:	85 c0                	test   eax,eax
      47:	89 45 e4             	mov    DWORD PTR [ebp-0x1c],eax
      4a:	75 4f                	jne    9b <__page_symlink+0x9b>
      4c:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
      4f:	e8 fc ff ff ff       	call   50 <__page_symlink+0x50>
      54:	8b 75 d8             	mov    esi,DWORD PTR [ebp-0x28]
      57:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
      5a:	89 c7                	mov    edi,eax
      5c:	f3 a4                	rep movs BYTE PTR es:[edi],BYTE PTR ds:[esi]
      5e:	e8 fc ff ff ff       	call   5f <__page_symlink+0x5f>
      63:	8b 55 e0             	mov    edx,DWORD PTR [ebp-0x20]
      66:	31 c0                	xor    eax,eax
      68:	ff 75 ec             	push   DWORD PTR [ebp-0x14]
      6b:	ff 75 f0             	push   DWORD PTR [ebp-0x10]
      6e:	ff 75 e8             	push   DWORD PTR [ebp-0x18]
      71:	ff 75 e8             	push   DWORD PTR [ebp-0x18]
      74:	6a 00                	push   0x0
      76:	6a 00                	push   0x0
      78:	e8 fc ff ff ff       	call   79 <__page_symlink+0x79>
      7d:	83 c4 18             	add    esp,0x18
      80:	85 c0                	test   eax,eax
      82:	79 05                	jns    89 <__page_symlink+0x89>
      84:	89 45 e4             	mov    DWORD PTR [ebp-0x1c],eax
      87:	eb 12                	jmp    9b <__page_symlink+0x9b>
      89:	3b 45 e8             	cmp    eax,DWORD PTR [ebp-0x18]
      8c:	7c 9a                	jl     28 <__page_symlink+0x28>
      8e:	8b 45 dc             	mov    eax,DWORD PTR [ebp-0x24]
      91:	ba 07 00 00 00       	mov    edx,0x7
      96:	e8 fc ff ff ff       	call   97 <__page_symlink+0x97>
      9b:	8b 45 e4             	mov    eax,DWORD PTR [ebp-0x1c]
      9e:	8d 65 f4             	lea    esp,[ebp-0xc]
      a1:	5b                   	pop    ebx
      a2:	5e                   	pop    esi
      a3:	5f                   	pop    edi
      a4:	5d                   	pop    ebp
      a5:	c3                   	ret    

000000a6 <page_symlink>:
      a6:	55                   	push   ebp
      a7:	89 e5                	mov    ebp,esp
      a9:	53                   	push   ebx
      aa:	8b 98 c4 00 00 00    	mov    ebx,DWORD PTR [eax+0xc4]
      b0:	8b 5b 3c             	mov    ebx,DWORD PTR [ebx+0x3c]
      b3:	c1 eb 07             	shr    ebx,0x7
      b6:	83 f3 01             	xor    ebx,0x1
      b9:	83 e3 01             	and    ebx,0x1
      bc:	53                   	push   ebx
      bd:	e8 fc ff ff ff       	call   be <page_symlink+0x18>
      c2:	8b 5d fc             	mov    ebx,DWORD PTR [ebp-0x4]
      c5:	c9                   	leave  
      c6:	c3                   	ret    

000000c7 <page_put_link>:
      c7:	55                   	push   ebp
      c8:	85 c9                	test   ecx,ecx
      ca:	89 e5                	mov    ebp,esp
      cc:	53                   	push   ebx
      cd:	89 cb                	mov    ebx,ecx
      cf:	74 0e                	je     df <page_put_link+0x18>
      d1:	89 c8                	mov    eax,ecx
      d3:	e8 fc ff ff ff       	call   d4 <page_put_link+0xd>
      d8:	89 d8                	mov    eax,ebx
      da:	e8 fc ff ff ff       	call   db <page_put_link+0x14>
      df:	5b                   	pop    ebx
      e0:	5d                   	pop    ebp
      e1:	c3                   	ret    

000000e2 <page_getlink>:
      e2:	55                   	push   ebp
      e3:	89 e5                	mov    ebp,esp
      e5:	56                   	push   esi
      e6:	89 d6                	mov    esi,edx
      e8:	53                   	push   ebx
      e9:	89 c3                	mov    ebx,eax
      eb:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
      ee:	8b 80 c4 00 00 00    	mov    eax,DWORD PTR [eax+0xc4]
      f4:	8b 50 38             	mov    edx,DWORD PTR [eax+0x38]
      f7:	8b 4a 04             	mov    ecx,DWORD PTR [edx+0x4]
      fa:	31 d2                	xor    edx,edx
      fc:	6a 00                	push   0x0
      fe:	e8 fc ff ff ff       	call   ff <page_getlink+0x1d>
     103:	5a                   	pop    edx
     104:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
     109:	89 c1                	mov    ecx,eax
     10b:	77 21                	ja     12e <page_getlink+0x4c>
     10d:	89 06                	mov    DWORD PTR [esi],eax
     10f:	e8 fc ff ff ff       	call   110 <page_getlink+0x2e>
     114:	89 c1                	mov    ecx,eax
     116:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     119:	8b 50 7c             	mov    edx,DWORD PTR [eax+0x7c]
     11c:	b8 ff 0f 00 00       	mov    eax,0xfff
     121:	81 fa ff 0f 00 00    	cmp    edx,0xfff
     127:	0f 47 d0             	cmova  edx,eax
     12a:	c6 04 11 00          	mov    BYTE PTR [ecx+edx*1],0x0
     12e:	8d 65 f8             	lea    esp,[ebp-0x8]
     131:	89 c8                	mov    eax,ecx
     133:	5b                   	pop    ebx
     134:	5e                   	pop    esi
     135:	5d                   	pop    ebp
     136:	c3                   	ret    

00000137 <page_follow_link_light>:
     137:	55                   	push   ebp
     138:	89 e5                	mov    ebp,esp
     13a:	53                   	push   ebx
     13b:	89 d3                	mov    ebx,edx
     13d:	83 ec 04             	sub    esp,0x4
     140:	8d 55 f8             	lea    edx,[ebp-0x8]
     143:	c7 45 f8 00 00 00 00 	mov    DWORD PTR [ebp-0x8],0x0
     14a:	e8 93 ff ff ff       	call   e2 <page_getlink>
     14f:	8b 53 30             	mov    edx,DWORD PTR [ebx+0x30]
     152:	89 44 93 34          	mov    DWORD PTR [ebx+edx*4+0x34],eax
     156:	8b 45 f8             	mov    eax,DWORD PTR [ebp-0x8]
     159:	59                   	pop    ecx
     15a:	5b                   	pop    ebx
     15b:	5d                   	pop    ebp
     15c:	c3                   	ret    

0000015d <dget>:
     15d:	55                   	push   ebp
     15e:	85 c0                	test   eax,eax
     160:	89 e5                	mov    ebp,esp
     162:	53                   	push   ebx
     163:	89 c3                	mov    ebx,eax
     165:	74 0e                	je     175 <dget+0x18>
     167:	8d 40 50             	lea    eax,[eax+0x50]
     16a:	e8 fc ff ff ff       	call   16b <dget+0xe>
     16f:	ff 43 4c             	inc    DWORD PTR [ebx+0x4c]
     172:	fe 43 50             	inc    BYTE PTR [ebx+0x50]
     175:	89 d8                	mov    eax,ebx
     177:	5b                   	pop    ebx
     178:	5d                   	pop    ebp
     179:	c3                   	ret    

0000017a <path_get>:
     17a:	55                   	push   ebp
     17b:	8b 10                	mov    edx,DWORD PTR [eax]
     17d:	89 e5                	mov    ebp,esp
     17f:	85 d2                	test   edx,edx
     181:	74 04                	je     187 <path_get+0xd>
     183:	f0 ff 42 70          	lock inc DWORD PTR [edx+0x70]
     187:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
     18a:	e8 ce ff ff ff       	call   15d <dget>
     18f:	5d                   	pop    ebp
     190:	c3                   	ret    

00000191 <get_fs_root>:
     191:	55                   	push   ebp
     192:	89 e5                	mov    ebp,esp
     194:	56                   	push   esi
     195:	89 d6                	mov    esi,edx
     197:	53                   	push   ebx
     198:	89 c3                	mov    ebx,eax
     19a:	8d 40 04             	lea    eax,[eax+0x4]
     19d:	e8 fc ff ff ff       	call   19e <get_fs_root+0xd>
     1a2:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
     1a5:	8b 53 18             	mov    edx,DWORD PTR [ebx+0x18]
     1a8:	89 06                	mov    DWORD PTR [esi],eax
     1aa:	89 f0                	mov    eax,esi
     1ac:	89 56 04             	mov    DWORD PTR [esi+0x4],edx
     1af:	e8 fc ff ff ff       	call   1b0 <get_fs_root+0x1f>
     1b4:	fe 43 04             	inc    BYTE PTR [ebx+0x4]
     1b7:	5b                   	pop    ebx
     1b8:	5e                   	pop    esi
     1b9:	5d                   	pop    ebp
     1ba:	c3                   	ret    

000001bb <deny_write_access>:
     1bb:	55                   	push   ebp
     1bc:	89 e5                	mov    ebp,esp
     1be:	53                   	push   ebx
     1bf:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
     1c2:	8b 58 20             	mov    ebx,DWORD PTR [eax+0x20]
     1c5:	8d 43 14             	lea    eax,[ebx+0x14]
     1c8:	e8 fc ff ff ff       	call   1c9 <deny_write_access+0xe>
     1cd:	8b 83 3c 01 00 00    	mov    eax,DWORD PTR [ebx+0x13c]
     1d3:	85 c0                	test   eax,eax
     1d5:	7e 0a                	jle    1e1 <deny_write_access+0x26>
     1d7:	fe 43 14             	inc    BYTE PTR [ebx+0x14]
     1da:	b8 e6 ff ff ff       	mov    eax,0xffffffe6
     1df:	eb 0c                	jmp    1ed <deny_write_access+0x32>
     1e1:	f0 ff 8b 3c 01 00 00 	lock dec DWORD PTR [ebx+0x13c]
     1e8:	fe 43 14             	inc    BYTE PTR [ebx+0x14]
     1eb:	31 c0                	xor    eax,eax
     1ed:	5b                   	pop    ebx
     1ee:	5d                   	pop    ebp
     1ef:	c3                   	ret    

000001f0 <get_write_access>:
     1f0:	55                   	push   ebp
     1f1:	89 e5                	mov    ebp,esp
     1f3:	53                   	push   ebx
     1f4:	89 c3                	mov    ebx,eax
     1f6:	8d 40 14             	lea    eax,[eax+0x14]
     1f9:	e8 fc ff ff ff       	call   1fa <get_write_access+0xa>
     1fe:	8b 83 3c 01 00 00    	mov    eax,DWORD PTR [ebx+0x13c]
     204:	85 c0                	test   eax,eax
     206:	79 0a                	jns    212 <get_write_access+0x22>
     208:	fe 43 14             	inc    BYTE PTR [ebx+0x14]
     20b:	b8 e6 ff ff ff       	mov    eax,0xffffffe6
     210:	eb 0c                	jmp    21e <get_write_access+0x2e>
     212:	f0 ff 83 3c 01 00 00 	lock inc DWORD PTR [ebx+0x13c]
     219:	fe 43 14             	inc    BYTE PTR [ebx+0x14]
     21c:	31 c0                	xor    eax,eax
     21e:	5b                   	pop    ebx
     21f:	5d                   	pop    ebp
     220:	c3                   	ret    

00000221 <nameidata_drop_rcu>:
     221:	55                   	push   ebp
     222:	89 e5                	mov    ebp,esp
     224:	57                   	push   edi
     225:	56                   	push   esi
     226:	53                   	push   ebx
     227:	89 c3                	mov    ebx,eax
     229:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     22f:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     233:	8b b0 90 02 00 00    	mov    esi,DWORD PTR [eax+0x290]
     239:	8b 7b 04             	mov    edi,DWORD PTR [ebx+0x4]
     23c:	75 04                	jne    242 <nameidata_drop_rcu+0x21>
     23e:	0f 0b                	ud2    
     240:	eb fe                	jmp    240 <nameidata_drop_rcu+0x1f>
     242:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     246:	74 18                	je     260 <nameidata_drop_rcu+0x3f>
     248:	8d 46 04             	lea    eax,[esi+0x4]
     24b:	e8 fc ff ff ff       	call   24c <nameidata_drop_rcu+0x2b>
     250:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
     253:	3b 46 14             	cmp    eax,DWORD PTR [esi+0x14]
     256:	75 58                	jne    2b0 <nameidata_drop_rcu+0x8f>
     258:	8b 43 18             	mov    eax,DWORD PTR [ebx+0x18]
     25b:	3b 46 18             	cmp    eax,DWORD PTR [esi+0x18]
     25e:	75 50                	jne    2b0 <nameidata_drop_rcu+0x8f>
     260:	8d 47 50             	lea    eax,[edi+0x50]
     263:	e8 fc ff ff ff       	call   264 <nameidata_drop_rcu+0x43>
     268:	8b 53 28             	mov    edx,DWORD PTR [ebx+0x28]
     26b:	89 f8                	mov    eax,edi
     26d:	e8 fc ff ff ff       	call   26e <nameidata_drop_rcu+0x4d>
     272:	85 c0                	test   eax,eax
     274:	74 37                	je     2ad <nameidata_drop_rcu+0x8c>
     276:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     279:	3b 47 20             	cmp    eax,DWORD PTR [edi+0x20]
     27c:	74 04                	je     282 <nameidata_drop_rcu+0x61>
     27e:	0f 0b                	ud2    
     280:	eb fe                	jmp    280 <nameidata_drop_rcu+0x5f>
     282:	fe 47 50             	inc    BYTE PTR [edi+0x50]
     285:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     289:	74 0b                	je     296 <nameidata_drop_rcu+0x75>
     28b:	8d 43 14             	lea    eax,[ebx+0x14]
     28e:	e8 fc ff ff ff       	call   28f <nameidata_drop_rcu+0x6e>
     293:	fe 46 04             	inc    BYTE PTR [esi+0x4]
     296:	8b 03                	mov    eax,DWORD PTR [ebx]
     298:	85 c0                	test   eax,eax
     29a:	74 04                	je     2a0 <nameidata_drop_rcu+0x7f>
     29c:	f0 ff 40 70          	lock inc DWORD PTR [eax+0x70]
     2a0:	e8 fc ff ff ff       	call   2a1 <nameidata_drop_rcu+0x80>
     2a5:	31 c0                	xor    eax,eax
     2a7:	83 63 24 bf          	and    DWORD PTR [ebx+0x24],0xffffffbf
     2ab:	eb 11                	jmp    2be <nameidata_drop_rcu+0x9d>
     2ad:	fe 47 50             	inc    BYTE PTR [edi+0x50]
     2b0:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     2b4:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     2b9:	74 03                	je     2be <nameidata_drop_rcu+0x9d>
     2bb:	fe 46 04             	inc    BYTE PTR [esi+0x4]
     2be:	5b                   	pop    ebx
     2bf:	5e                   	pop    esi
     2c0:	5f                   	pop    edi
     2c1:	5d                   	pop    ebp
     2c2:	c3                   	ret    

000002c3 <nameidata_dentry_drop_rcu>:
     2c3:	55                   	push   ebp
     2c4:	89 e5                	mov    ebp,esp
     2c6:	57                   	push   edi
     2c7:	56                   	push   esi
     2c8:	53                   	push   ebx
     2c9:	89 c3                	mov    ebx,eax
     2cb:	83 ec 04             	sub    esp,0x4
     2ce:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     2d4:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
     2d7:	8b b8 90 02 00 00    	mov    edi,DWORD PTR [eax+0x290]
     2dd:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     2e1:	8b 73 04             	mov    esi,DWORD PTR [ebx+0x4]
     2e4:	75 04                	jne    2ea <nameidata_dentry_drop_rcu+0x27>
     2e6:	0f 0b                	ud2    
     2e8:	eb fe                	jmp    2e8 <nameidata_dentry_drop_rcu+0x25>
     2ea:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     2ee:	74 18                	je     308 <nameidata_dentry_drop_rcu+0x45>
     2f0:	8d 47 04             	lea    eax,[edi+0x4]
     2f3:	e8 fc ff ff ff       	call   2f4 <nameidata_dentry_drop_rcu+0x31>
     2f8:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
     2fb:	3b 47 14             	cmp    eax,DWORD PTR [edi+0x14]
     2fe:	75 7f                	jne    37f <nameidata_dentry_drop_rcu+0xbc>
     300:	8b 43 18             	mov    eax,DWORD PTR [ebx+0x18]
     303:	3b 47 18             	cmp    eax,DWORD PTR [edi+0x18]
     306:	75 77                	jne    37f <nameidata_dentry_drop_rcu+0xbc>
     308:	8d 46 50             	lea    eax,[esi+0x50]
     30b:	e8 fc ff ff ff       	call   30c <nameidata_dentry_drop_rcu+0x49>
     310:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     313:	83 c0 50             	add    eax,0x50
     316:	e8 fc ff ff ff       	call   317 <nameidata_dentry_drop_rcu+0x54>
     31b:	8b 53 28             	mov    edx,DWORD PTR [ebx+0x28]
     31e:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     321:	e8 fc ff ff ff       	call   322 <nameidata_dentry_drop_rcu+0x5f>
     326:	85 c0                	test   eax,eax
     328:	74 4c                	je     376 <nameidata_dentry_drop_rcu+0xb3>
     32a:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     32d:	39 70 10             	cmp    DWORD PTR [eax+0x10],esi
     330:	74 04                	je     336 <nameidata_dentry_drop_rcu+0x73>
     332:	0f 0b                	ud2    
     334:	eb fe                	jmp    334 <nameidata_dentry_drop_rcu+0x71>
     336:	8b 46 4c             	mov    eax,DWORD PTR [esi+0x4c]
     339:	85 c0                	test   eax,eax
     33b:	75 04                	jne    341 <nameidata_dentry_drop_rcu+0x7e>
     33d:	0f 0b                	ud2    
     33f:	eb fe                	jmp    33f <nameidata_dentry_drop_rcu+0x7c>
     341:	40                   	inc    eax
     342:	89 46 4c             	mov    DWORD PTR [esi+0x4c],eax
     345:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     348:	fe 40 50             	inc    BYTE PTR [eax+0x50]
     34b:	fe 46 50             	inc    BYTE PTR [esi+0x50]
     34e:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     352:	74 0b                	je     35f <nameidata_dentry_drop_rcu+0x9c>
     354:	8d 43 14             	lea    eax,[ebx+0x14]
     357:	e8 fc ff ff ff       	call   358 <nameidata_dentry_drop_rcu+0x95>
     35c:	fe 47 04             	inc    BYTE PTR [edi+0x4]
     35f:	8b 03                	mov    eax,DWORD PTR [ebx]
     361:	85 c0                	test   eax,eax
     363:	74 04                	je     369 <nameidata_dentry_drop_rcu+0xa6>
     365:	f0 ff 40 70          	lock inc DWORD PTR [eax+0x70]
     369:	e8 fc ff ff ff       	call   36a <nameidata_dentry_drop_rcu+0xa7>
     36e:	31 c0                	xor    eax,eax
     370:	83 63 24 bf          	and    DWORD PTR [ebx+0x24],0xffffffbf
     374:	eb 17                	jmp    38d <nameidata_dentry_drop_rcu+0xca>
     376:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     379:	fe 40 50             	inc    BYTE PTR [eax+0x50]
     37c:	fe 46 50             	inc    BYTE PTR [esi+0x50]
     37f:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     383:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     388:	74 03                	je     38d <nameidata_dentry_drop_rcu+0xca>
     38a:	fe 47 04             	inc    BYTE PTR [edi+0x4]
     38d:	5b                   	pop    ebx
     38e:	5b                   	pop    ebx
     38f:	5e                   	pop    esi
     390:	5f                   	pop    edi
     391:	5d                   	pop    ebp
     392:	c3                   	ret    

00000393 <d_revalidate>:
     393:	55                   	push   ebp
     394:	89 e5                	mov    ebp,esp
     396:	57                   	push   edi
     397:	56                   	push   esi
     398:	89 c6                	mov    esi,eax
     39a:	53                   	push   ebx
     39b:	8b 48 54             	mov    ecx,DWORD PTR [eax+0x54]
     39e:	89 d3                	mov    ebx,edx
     3a0:	8b 79 04             	mov    edi,DWORD PTR [ecx+0x4]
     3a3:	85 ff                	test   edi,edi
     3a5:	74 3d                	je     3e4 <d_revalidate+0x51>
     3a7:	ff d7                	call   edi
     3a9:	85 c0                	test   eax,eax
     3ab:	75 08                	jne    3b5 <d_revalidate+0x22>
     3ad:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     3b1:	75 07                	jne    3ba <d_revalidate+0x27>
     3b3:	eb 31                	jmp    3e6 <d_revalidate+0x53>
     3b5:	83 f8 f6             	cmp    eax,0xfffffff6
     3b8:	75 2c                	jne    3e6 <d_revalidate+0x53>
     3ba:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     3be:	75 04                	jne    3c4 <d_revalidate+0x31>
     3c0:	0f 0b                	ud2    
     3c2:	eb fe                	jmp    3c2 <d_revalidate+0x2f>
     3c4:	89 f2                	mov    edx,esi
     3c6:	89 d8                	mov    eax,ebx
     3c8:	e8 f6 fe ff ff       	call   2c3 <nameidata_dentry_drop_rcu>
     3cd:	89 c2                	mov    edx,eax
     3cf:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     3d4:	85 d2                	test   edx,edx
     3d6:	75 0e                	jne    3e6 <d_revalidate+0x53>
     3d8:	8b 4e 54             	mov    ecx,DWORD PTR [esi+0x54]
     3db:	89 da                	mov    edx,ebx
     3dd:	89 f0                	mov    eax,esi
     3df:	ff 51 04             	call   DWORD PTR [ecx+0x4]
     3e2:	eb 02                	jmp    3e6 <d_revalidate+0x53>
     3e4:	ff 11                	call   DWORD PTR [ecx]
     3e6:	5b                   	pop    ebx
     3e7:	5e                   	pop    esi
     3e8:	5f                   	pop    edi
     3e9:	5d                   	pop    ebp
     3ea:	c3                   	ret    

000003eb <acl_permission_check_rcu>:
     3eb:	55                   	push   ebp
     3ec:	89 e5                	mov    ebp,esp
     3ee:	57                   	push   edi
     3ef:	89 d7                	mov    edi,edx
     3f1:	56                   	push   esi
     3f2:	83 e7 07             	and    edi,0x7
     3f5:	53                   	push   ebx
     3f6:	89 c3                	mov    ebx,eax
     3f8:	8b 30                	mov    esi,DWORD PTR [eax]
     3fa:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     400:	8b 80 ec 01 00 00    	mov    eax,DWORD PTR [eax+0x1ec]
     406:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
     409:	3b 43 04             	cmp    eax,DWORD PTR [ebx+0x4]
     40c:	75 06                	jne    414 <acl_permission_check_rcu+0x29>
     40e:	66 c1 ee 06          	shr    si,0x6
     412:	eb 36                	jmp    44a <acl_permission_check_rcu+0x5f>
     414:	8b 43 10             	mov    eax,DWORD PTR [ebx+0x10]
     417:	f6 40 32 01          	test   BYTE PTR [eax+0x32],0x1
     41b:	74 1a                	je     437 <acl_permission_check_rcu+0x4c>
     41d:	83 7d 08 00          	cmp    DWORD PTR [ebp+0x8],0x0
     421:	74 14                	je     437 <acl_permission_check_rcu+0x4c>
     423:	f7 c6 38 00 00 00    	test   esi,0x38
     429:	74 0c                	je     437 <acl_permission_check_rcu+0x4c>
     42b:	89 fa                	mov    edx,edi
     42d:	89 d8                	mov    eax,ebx
     42f:	ff 55 08             	call   DWORD PTR [ebp+0x8]
     432:	83 f8 f5             	cmp    eax,0xfffffff5
     435:	75 24                	jne    45b <acl_permission_check_rcu+0x70>
     437:	8b 43 08             	mov    eax,DWORD PTR [ebx+0x8]
     43a:	e8 fc ff ff ff       	call   43b <acl_permission_check_rcu+0x50>
     43f:	89 f2                	mov    edx,esi
     441:	66 c1 ea 03          	shr    dx,0x3
     445:	85 c0                	test   eax,eax
     447:	0f 45 f2             	cmovne esi,edx
     44a:	0f b7 f6             	movzx  esi,si
     44d:	f7 d6                	not    esi
     44f:	21 fe                	and    esi,edi
     451:	83 fe 01             	cmp    esi,0x1
     454:	19 c0                	sbb    eax,eax
     456:	f7 d0                	not    eax
     458:	83 e0 f3             	and    eax,0xfffffff3
     45b:	5b                   	pop    ebx
     45c:	5e                   	pop    esi
     45d:	5f                   	pop    edi
     45e:	5d                   	pop    ebp
     45f:	c3                   	ret    

00000460 <generic_permission_rcu>:
     460:	55                   	push   ebp
     461:	89 e5                	mov    ebp,esp
     463:	57                   	push   edi
     464:	56                   	push   esi
     465:	89 d6                	mov    esi,edx
     467:	53                   	push   ebx
     468:	89 c3                	mov    ebx,eax
     46a:	ff 75 08             	push   DWORD PTR [ebp+0x8]
     46d:	e8 79 ff ff ff       	call   3eb <acl_permission_check_rcu>
     472:	89 c7                	mov    edi,eax
     474:	83 ff f3             	cmp    edi,0xfffffff3
     477:	58                   	pop    eax
     478:	75 66                	jne    4e0 <generic_permission_rcu+0x80>
     47a:	f7 c6 01 00 00 00    	test   esi,0x1
     480:	74 22                	je     4a4 <generic_permission_rcu+0x44>
     482:	0f b7 13             	movzx  edx,WORD PTR [ebx]
     485:	b8 01 00 00 00       	mov    eax,0x1
     48a:	f6 c2 49             	test   dl,0x49
     48d:	75 11                	jne    4a0 <generic_permission_rcu+0x40>
     48f:	81 e2 00 f0 00 00    	and    edx,0xf000
     495:	31 c0                	xor    eax,eax
     497:	81 fa 00 40 00 00    	cmp    edx,0x4000
     49d:	0f 94 c0             	sete   al
     4a0:	85 c0                	test   eax,eax
     4a2:	74 0e                	je     4b2 <generic_permission_rcu+0x52>
     4a4:	b8 01 00 00 00       	mov    eax,0x1
     4a9:	e8 fc ff ff ff       	call   4aa <generic_permission_rcu+0x4a>
     4ae:	85 c0                	test   eax,eax
     4b0:	75 2c                	jne    4de <generic_permission_rcu+0x7e>
     4b2:	89 f0                	mov    eax,esi
     4b4:	83 e0 07             	and    eax,0x7
     4b7:	83 f8 04             	cmp    eax,0x4
     4ba:	74 14                	je     4d0 <generic_permission_rcu+0x70>
     4bc:	0f b7 03             	movzx  eax,WORD PTR [ebx]
     4bf:	25 00 f0 00 00       	and    eax,0xf000
     4c4:	3d 00 40 00 00       	cmp    eax,0x4000
     4c9:	75 15                	jne    4e0 <generic_permission_rcu+0x80>
     4cb:	83 e6 02             	and    esi,0x2
     4ce:	75 10                	jne    4e0 <generic_permission_rcu+0x80>
     4d0:	b8 02 00 00 00       	mov    eax,0x2
     4d5:	e8 fc ff ff ff       	call   4d6 <generic_permission_rcu+0x76>
     4da:	85 c0                	test   eax,eax
     4dc:	74 02                	je     4e0 <generic_permission_rcu+0x80>
     4de:	31 ff                	xor    edi,edi
     4e0:	8d 65 f4             	lea    esp,[ebp-0xc]
     4e3:	89 f8                	mov    eax,edi
     4e5:	5b                   	pop    ebx
     4e6:	5e                   	pop    esi
     4e7:	5f                   	pop    edi
     4e8:	5d                   	pop    ebp
     4e9:	c3                   	ret    

000004ea <acl_permission_check>:
     4ea:	55                   	push   ebp
     4eb:	89 e5                	mov    ebp,esp
     4ed:	57                   	push   edi
     4ee:	89 d7                	mov    edi,edx
     4f0:	56                   	push   esi
     4f1:	83 e7 07             	and    edi,0x7
     4f4:	53                   	push   ebx
     4f5:	89 c3                	mov    ebx,eax
     4f7:	8b 30                	mov    esi,DWORD PTR [eax]
     4f9:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     4ff:	8b 80 ec 01 00 00    	mov    eax,DWORD PTR [eax+0x1ec]
     505:	89 ca                	mov    edx,ecx
     507:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
     50a:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
     50d:	3b 43 04             	cmp    eax,DWORD PTR [ebx+0x4]
     510:	75 06                	jne    518 <acl_permission_check+0x2e>
     512:	66 c1 ee 06          	shr    si,0x6
     516:	eb 3c                	jmp    554 <acl_permission_check+0x6a>
     518:	8b 43 10             	mov    eax,DWORD PTR [ebx+0x10]
     51b:	f6 40 32 01          	test   BYTE PTR [eax+0x32],0x1
     51f:	74 20                	je     541 <acl_permission_check+0x57>
     521:	85 c9                	test   ecx,ecx
     523:	74 1c                	je     541 <acl_permission_check+0x57>
     525:	f7 c6 38 00 00 00    	test   esi,0x38
     52b:	74 14                	je     541 <acl_permission_check+0x57>
     52d:	85 d2                	test   edx,edx
     52f:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     534:	75 2f                	jne    565 <acl_permission_check+0x7b>
     536:	89 fa                	mov    edx,edi
     538:	89 d8                	mov    eax,ebx
     53a:	ff d1                	call   ecx
     53c:	83 f8 f5             	cmp    eax,0xfffffff5
     53f:	75 24                	jne    565 <acl_permission_check+0x7b>
     541:	8b 43 08             	mov    eax,DWORD PTR [ebx+0x8]
     544:	e8 fc ff ff ff       	call   545 <acl_permission_check+0x5b>
     549:	89 f2                	mov    edx,esi
     54b:	66 c1 ea 03          	shr    dx,0x3
     54f:	85 c0                	test   eax,eax
     551:	0f 45 f2             	cmovne esi,edx
     554:	0f b7 f6             	movzx  esi,si
     557:	f7 d6                	not    esi
     559:	21 fe                	and    esi,edi
     55b:	83 fe 01             	cmp    esi,0x1
     55e:	19 c0                	sbb    eax,eax
     560:	f7 d0                	not    eax
     562:	83 e0 f3             	and    eax,0xfffffff3
     565:	5b                   	pop    ebx
     566:	5e                   	pop    esi
     567:	5f                   	pop    edi
     568:	5d                   	pop    ebp
     569:	c3                   	ret    

0000056a <exec_permission>:
     56a:	55                   	push   ebp
     56b:	89 d1                	mov    ecx,edx
     56d:	89 e5                	mov    ebp,esp
     56f:	57                   	push   edi
     570:	56                   	push   esi
     571:	53                   	push   ebx
     572:	89 c3                	mov    ebx,eax
     574:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
     577:	8b 70 0c             	mov    esi,DWORD PTR [eax+0xc]
     57a:	85 f6                	test   esi,esi
     57c:	74 0b                	je     589 <exec_permission+0x1f>
     57e:	ba 01 00 00 00       	mov    edx,0x1
     583:	89 d8                	mov    eax,ebx
     585:	ff d6                	call   esi
     587:	eb 19                	jmp    5a2 <exec_permission+0x38>
     589:	8b 70 08             	mov    esi,DWORD PTR [eax+0x8]
     58c:	85 f6                	test   esi,esi
     58e:	74 16                	je     5a6 <exec_permission+0x3c>
     590:	85 d2                	test   edx,edx
     592:	bf f6 ff ff ff       	mov    edi,0xfffffff6
     597:	75 65                	jne    5fe <exec_permission+0x94>
     599:	ba 01 00 00 00       	mov    edx,0x1
     59e:	89 d8                	mov    eax,ebx
     5a0:	ff d6                	call   esi
     5a2:	89 c7                	mov    edi,eax
     5a4:	eb 28                	jmp    5ce <exec_permission+0x64>
     5a6:	8b 50 14             	mov    edx,DWORD PTR [eax+0x14]
     5a9:	85 d2                	test   edx,edx
     5ab:	74 0f                	je     5bc <exec_permission+0x52>
     5ad:	52                   	push   edx
     5ae:	89 d8                	mov    eax,ebx
     5b0:	ba 01 00 00 00       	mov    edx,0x1
     5b5:	e8 31 fe ff ff       	call   3eb <acl_permission_check_rcu>
     5ba:	eb 0f                	jmp    5cb <exec_permission+0x61>
     5bc:	ff 70 10             	push   DWORD PTR [eax+0x10]
     5bf:	ba 01 00 00 00       	mov    edx,0x1
     5c4:	89 d8                	mov    eax,ebx
     5c6:	e8 1f ff ff ff       	call   4ea <acl_permission_check>
     5cb:	5a                   	pop    edx
     5cc:	89 c7                	mov    edi,eax
     5ce:	85 ff                	test   edi,edi
     5d0:	74 1e                	je     5f0 <exec_permission+0x86>
     5d2:	83 ff f6             	cmp    edi,0xfffffff6
     5d5:	74 27                	je     5fe <exec_permission+0x94>
     5d7:	b8 01 00 00 00       	mov    eax,0x1
     5dc:	e8 fc ff ff ff       	call   5dd <exec_permission+0x73>
     5e1:	85 c0                	test   eax,eax
     5e3:	75 0b                	jne    5f0 <exec_permission+0x86>
     5e5:	b0 02                	mov    al,0x2
     5e7:	e8 fc ff ff ff       	call   5e8 <exec_permission+0x7e>
     5ec:	85 c0                	test   eax,eax
     5ee:	74 0e                	je     5fe <exec_permission+0x94>
     5f0:	ba 01 00 00 00       	mov    edx,0x1
     5f5:	89 d8                	mov    eax,ebx
     5f7:	e8 fc ff ff ff       	call   5f8 <exec_permission+0x8e>
     5fc:	89 c7                	mov    edi,eax
     5fe:	8d 65 f4             	lea    esp,[ebp-0xc]
     601:	89 f8                	mov    eax,edi
     603:	5b                   	pop    ebx
     604:	5e                   	pop    esi
     605:	5f                   	pop    edi
     606:	5d                   	pop    ebp
     607:	c3                   	ret    

00000608 <generic_permission>:
     608:	55                   	push   ebp
     609:	89 e5                	mov    ebp,esp
     60b:	57                   	push   edi
     60c:	56                   	push   esi
     60d:	89 d6                	mov    esi,edx
     60f:	53                   	push   ebx
     610:	89 c3                	mov    ebx,eax
     612:	51                   	push   ecx
     613:	31 c9                	xor    ecx,ecx
     615:	e8 d0 fe ff ff       	call   4ea <acl_permission_check>
     61a:	59                   	pop    ecx
     61b:	83 f8 f3             	cmp    eax,0xfffffff3
     61e:	89 c7                	mov    edi,eax
     620:	75 66                	jne    688 <generic_permission+0x80>
     622:	f7 c6 01 00 00 00    	test   esi,0x1
     628:	74 22                	je     64c <generic_permission+0x44>
     62a:	0f b7 13             	movzx  edx,WORD PTR [ebx]
     62d:	b8 01 00 00 00       	mov    eax,0x1
     632:	f6 c2 49             	test   dl,0x49
     635:	75 11                	jne    648 <generic_permission+0x40>
     637:	81 e2 00 f0 00 00    	and    edx,0xf000
     63d:	31 c0                	xor    eax,eax
     63f:	81 fa 00 40 00 00    	cmp    edx,0x4000
     645:	0f 94 c0             	sete   al
     648:	85 c0                	test   eax,eax
     64a:	74 0e                	je     65a <generic_permission+0x52>
     64c:	b8 01 00 00 00       	mov    eax,0x1
     651:	e8 fc ff ff ff       	call   652 <generic_permission+0x4a>
     656:	85 c0                	test   eax,eax
     658:	75 2c                	jne    686 <generic_permission+0x7e>
     65a:	89 f0                	mov    eax,esi
     65c:	83 e0 07             	and    eax,0x7
     65f:	83 f8 04             	cmp    eax,0x4
     662:	74 14                	je     678 <generic_permission+0x70>
     664:	0f b7 03             	movzx  eax,WORD PTR [ebx]
     667:	25 00 f0 00 00       	and    eax,0xf000
     66c:	3d 00 40 00 00       	cmp    eax,0x4000
     671:	75 15                	jne    688 <generic_permission+0x80>
     673:	83 e6 02             	and    esi,0x2
     676:	75 10                	jne    688 <generic_permission+0x80>
     678:	b8 02 00 00 00       	mov    eax,0x2
     67d:	e8 fc ff ff ff       	call   67e <generic_permission+0x76>
     682:	85 c0                	test   eax,eax
     684:	74 02                	je     688 <generic_permission+0x80>
     686:	31 ff                	xor    edi,edi
     688:	8d 65 f4             	lea    esp,[ebp-0xc]
     68b:	89 f8                	mov    eax,edi
     68d:	5b                   	pop    ebx
     68e:	5e                   	pop    esi
     68f:	5f                   	pop    edi
     690:	5d                   	pop    ebp
     691:	c3                   	ret    

00000692 <__follow_mount_rcu>:
     692:	55                   	push   ebp
     693:	89 e5                	mov    ebp,esp
     695:	57                   	push   edi
     696:	89 cf                	mov    edi,ecx
     698:	56                   	push   esi
     699:	89 c6                	mov    esi,eax
     69b:	53                   	push   ebx
     69c:	89 d3                	mov    ebx,edx
     69e:	eb 2e                	jmp    6ce <__follow_mount_rcu+0x3c>
     6a0:	8b 03                	mov    eax,DWORD PTR [ebx]
     6a2:	b9 01 00 00 00       	mov    ecx,0x1
     6a7:	e8 fc ff ff ff       	call   6a8 <__follow_mount_rcu+0x16>
     6ac:	85 c0                	test   eax,eax
     6ae:	74 28                	je     6d8 <__follow_mount_rcu+0x46>
     6b0:	89 03                	mov    DWORD PTR [ebx],eax
     6b2:	8b 50 10             	mov    edx,DWORD PTR [eax+0x10]
     6b5:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
     6b8:	8b 42 04             	mov    eax,DWORD PTR [edx+0x4]
     6bb:	a8 01                	test   al,0x1
     6bd:	74 04                	je     6c3 <__follow_mount_rcu+0x31>
     6bf:	f3 90                	pause  
     6c1:	eb f5                	jmp    6b8 <__follow_mount_rcu+0x26>
     6c3:	89 46 28             	mov    DWORD PTR [esi+0x28],eax
     6c6:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     6c9:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     6cc:	89 07                	mov    DWORD PTR [edi],eax
     6ce:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
     6d1:	8b 02                	mov    eax,DWORD PTR [edx]
     6d3:	f6 c4 04             	test   ah,0x4
     6d6:	75 c8                	jne    6a0 <__follow_mount_rcu+0xe>
     6d8:	5b                   	pop    ebx
     6d9:	5e                   	pop    esi
     6da:	5f                   	pop    edi
     6db:	5d                   	pop    ebp
     6dc:	c3                   	ret    

000006dd <follow_dotdot_rcu>:
     6dd:	55                   	push   ebp
     6de:	89 e5                	mov    ebp,esp
     6e0:	57                   	push   edi
     6e1:	56                   	push   esi
     6e2:	53                   	push   ebx
     6e3:	89 c3                	mov    ebx,eax
     6e5:	83 ec 04             	sub    esp,0x4
     6e8:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     6eb:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
     6ee:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
     6f2:	75 2b                	jne    71f <follow_dotdot_rcu+0x42>
     6f4:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     6fa:	8b 80 90 02 00 00    	mov    eax,DWORD PTR [eax+0x290]
     700:	8d 48 08             	lea    ecx,[eax+0x8]
     703:	8b 11                	mov    edx,DWORD PTR [ecx]
     705:	f6 c2 01             	test   dl,0x1
     708:	74 04                	je     70e <follow_dotdot_rcu+0x31>
     70a:	f3 90                	pause  
     70c:	eb f5                	jmp    703 <follow_dotdot_rcu+0x26>
     70e:	8b 70 14             	mov    esi,DWORD PTR [eax+0x14]
     711:	8b 78 18             	mov    edi,DWORD PTR [eax+0x18]
     714:	89 73 14             	mov    DWORD PTR [ebx+0x14],esi
     717:	89 7b 18             	mov    DWORD PTR [ebx+0x18],edi
     71a:	39 50 08             	cmp    DWORD PTR [eax+0x8],edx
     71d:	75 e4                	jne    703 <follow_dotdot_rcu+0x26>
     71f:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
     722:	3b 53 18             	cmp    edx,DWORD PTR [ebx+0x18]
     725:	75 07                	jne    72e <follow_dotdot_rcu+0x51>
     727:	8b 03                	mov    eax,DWORD PTR [ebx]
     729:	3b 43 14             	cmp    eax,DWORD PTR [ebx+0x14]
     72c:	74 5c                	je     78a <follow_dotdot_rcu+0xad>
     72e:	8b 03                	mov    eax,DWORD PTR [ebx]
     730:	3b 50 10             	cmp    edx,DWORD PTR [eax+0x10]
     733:	74 2d                	je     762 <follow_dotdot_rcu+0x85>
     735:	8b 4a 10             	mov    ecx,DWORD PTR [edx+0x10]
     738:	8b 71 04             	mov    esi,DWORD PTR [ecx+0x4]
     73b:	f7 c6 01 00 00 00    	test   esi,0x1
     741:	74 04                	je     747 <follow_dotdot_rcu+0x6a>
     743:	f3 90                	pause  
     745:	eb f1                	jmp    738 <follow_dotdot_rcu+0x5b>
     747:	8b 7b 28             	mov    edi,DWORD PTR [ebx+0x28]
     74a:	39 7a 04             	cmp    DWORD PTR [edx+0x4],edi
     74d:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     752:	75 4a                	jne    79e <follow_dotdot_rcu+0xc1>
     754:	8b 41 20             	mov    eax,DWORD PTR [ecx+0x20]
     757:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
     75a:	89 4b 04             	mov    DWORD PTR [ebx+0x4],ecx
     75d:	89 73 28             	mov    DWORD PTR [ebx+0x28],esi
     760:	eb 28                	jmp    78a <follow_dotdot_rcu+0xad>
     762:	8b 50 08             	mov    edx,DWORD PTR [eax+0x8]
     765:	39 c2                	cmp    edx,eax
     767:	74 21                	je     78a <follow_dotdot_rcu+0xad>
     769:	8b 48 0c             	mov    ecx,DWORD PTR [eax+0xc]
     76c:	89 13                	mov    DWORD PTR [ebx],edx
     76e:	89 4b 04             	mov    DWORD PTR [ebx+0x4],ecx
     771:	8b 41 04             	mov    eax,DWORD PTR [ecx+0x4]
     774:	a8 01                	test   al,0x1
     776:	74 04                	je     77c <follow_dotdot_rcu+0x9f>
     778:	f3 90                	pause  
     77a:	eb f5                	jmp    771 <follow_dotdot_rcu+0x94>
     77c:	89 43 28             	mov    DWORD PTR [ebx+0x28],eax
     77f:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     782:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     785:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
     788:	eb 95                	jmp    71f <follow_dotdot_rcu+0x42>
     78a:	89 d8                	mov    eax,ebx
     78c:	89 da                	mov    edx,ebx
     78e:	8d 4d f0             	lea    ecx,[ebp-0x10]
     791:	e8 fc fe ff ff       	call   692 <__follow_mount_rcu>
     796:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     799:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
     79c:	31 c0                	xor    eax,eax
     79e:	5b                   	pop    ebx
     79f:	5b                   	pop    ebx
     7a0:	5e                   	pop    esi
     7a1:	5f                   	pop    edi
     7a2:	5d                   	pop    ebp
     7a3:	c3                   	ret    

000007a4 <mntput>:
     7a4:	55                   	push   ebp
     7a5:	85 c0                	test   eax,eax
     7a7:	89 e5                	mov    ebp,esp
     7a9:	74 0c                	je     7b7 <mntput+0x13>
     7ab:	c7 40 74 00 00 00 00 	mov    DWORD PTR [eax+0x74],0x0
     7b2:	e8 fc ff ff ff       	call   7b3 <mntput+0xf>
     7b7:	5d                   	pop    ebp
     7b8:	c3                   	ret    

000007b9 <__follow_mount>:
     7b9:	55                   	push   ebp
     7ba:	89 e5                	mov    ebp,esp
     7bc:	57                   	push   edi
     7bd:	56                   	push   esi
     7be:	31 f6                	xor    esi,esi
     7c0:	53                   	push   ebx
     7c1:	89 c3                	mov    ebx,eax
     7c3:	eb 32                	jmp    7f7 <__follow_mount+0x3e>
     7c5:	89 d8                	mov    eax,ebx
     7c7:	e8 fc ff ff ff       	call   7c8 <__follow_mount+0xf>
     7cc:	85 c0                	test   eax,eax
     7ce:	89 c7                	mov    edi,eax
     7d0:	74 2f                	je     801 <__follow_mount+0x48>
     7d2:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     7d5:	e8 fc ff ff ff       	call   7d6 <__follow_mount+0x1d>
     7da:	85 f6                	test   esi,esi
     7dc:	74 07                	je     7e5 <__follow_mount+0x2c>
     7de:	8b 03                	mov    eax,DWORD PTR [ebx]
     7e0:	e8 bf ff ff ff       	call   7a4 <mntput>
     7e5:	89 3b                	mov    DWORD PTR [ebx],edi
     7e7:	8b 47 10             	mov    eax,DWORD PTR [edi+0x10]
     7ea:	be 01 00 00 00       	mov    esi,0x1
     7ef:	e8 69 f9 ff ff       	call   15d <dget>
     7f4:	89 43 04             	mov    DWORD PTR [ebx+0x4],eax
     7f7:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     7fa:	8b 00                	mov    eax,DWORD PTR [eax]
     7fc:	f6 c4 04             	test   ah,0x4
     7ff:	75 c4                	jne    7c5 <__follow_mount+0xc>
     801:	89 f0                	mov    eax,esi
     803:	5b                   	pop    ebx
     804:	5e                   	pop    esi
     805:	5f                   	pop    edi
     806:	5d                   	pop    ebp
     807:	c3                   	ret    

00000808 <path_to_nameidata>:
     808:	f6 42 24 40          	test   BYTE PTR [edx+0x24],0x40
     80c:	55                   	push   ebp
     80d:	89 e5                	mov    ebp,esp
     80f:	56                   	push   esi
     810:	89 d6                	mov    esi,edx
     812:	53                   	push   ebx
     813:	89 c3                	mov    ebx,eax
     815:	75 13                	jne    82a <path_to_nameidata+0x22>
     817:	8b 42 04             	mov    eax,DWORD PTR [edx+0x4]
     81a:	e8 fc ff ff ff       	call   81b <path_to_nameidata+0x13>
     81f:	8b 06                	mov    eax,DWORD PTR [esi]
     821:	3b 03                	cmp    eax,DWORD PTR [ebx]
     823:	74 05                	je     82a <path_to_nameidata+0x22>
     825:	e8 7a ff ff ff       	call   7a4 <mntput>
     82a:	8b 03                	mov    eax,DWORD PTR [ebx]
     82c:	89 06                	mov    DWORD PTR [esi],eax
     82e:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     831:	5b                   	pop    ebx
     832:	89 46 04             	mov    DWORD PTR [esi+0x4],eax
     835:	5e                   	pop    esi
     836:	5d                   	pop    ebp
     837:	c3                   	ret    

00000838 <path_put_conditional>:
     838:	55                   	push   ebp
     839:	89 e5                	mov    ebp,esp
     83b:	56                   	push   esi
     83c:	89 d6                	mov    esi,edx
     83e:	53                   	push   ebx
     83f:	89 c3                	mov    ebx,eax
     841:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
     844:	e8 fc ff ff ff       	call   845 <path_put_conditional+0xd>
     849:	8b 03                	mov    eax,DWORD PTR [ebx]
     84b:	3b 06                	cmp    eax,DWORD PTR [esi]
     84d:	74 05                	je     854 <path_put_conditional+0x1c>
     84f:	e8 50 ff ff ff       	call   7a4 <mntput>
     854:	5b                   	pop    ebx
     855:	5e                   	pop    esi
     856:	5d                   	pop    ebp
     857:	c3                   	ret    

00000858 <follow_down>:
     858:	55                   	push   ebp
     859:	89 e5                	mov    ebp,esp
     85b:	56                   	push   esi
     85c:	53                   	push   ebx
     85d:	89 c3                	mov    ebx,eax
     85f:	e8 fc ff ff ff       	call   860 <follow_down+0x8>
     864:	89 c6                	mov    esi,eax
     866:	31 c0                	xor    eax,eax
     868:	85 f6                	test   esi,esi
     86a:	74 21                	je     88d <follow_down+0x35>
     86c:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     86f:	e8 fc ff ff ff       	call   870 <follow_down+0x18>
     874:	8b 03                	mov    eax,DWORD PTR [ebx]
     876:	e8 29 ff ff ff       	call   7a4 <mntput>
     87b:	89 33                	mov    DWORD PTR [ebx],esi
     87d:	8b 46 10             	mov    eax,DWORD PTR [esi+0x10]
     880:	e8 d8 f8 ff ff       	call   15d <dget>
     885:	89 43 04             	mov    DWORD PTR [ebx+0x4],eax
     888:	b8 01 00 00 00       	mov    eax,0x1
     88d:	5b                   	pop    ebx
     88e:	5e                   	pop    esi
     88f:	5d                   	pop    ebp
     890:	c3                   	ret    

00000891 <path_put>:
     891:	55                   	push   ebp
     892:	89 e5                	mov    ebp,esp
     894:	53                   	push   ebx
     895:	89 c3                	mov    ebx,eax
     897:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
     89a:	e8 fc ff ff ff       	call   89b <path_put+0xa>
     89f:	8b 03                	mov    eax,DWORD PTR [ebx]
     8a1:	e8 fe fe ff ff       	call   7a4 <mntput>
     8a6:	5b                   	pop    ebx
     8a7:	5d                   	pop    ebp
     8a8:	c3                   	ret    

000008a9 <unlock_rename>:
     8a9:	55                   	push   ebp
     8aa:	89 e5                	mov    ebp,esp
     8ac:	56                   	push   esi
     8ad:	89 d6                	mov    esi,edx
     8af:	53                   	push   ebx
     8b0:	89 c3                	mov    ebx,eax
     8b2:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     8b5:	83 c0 1c             	add    eax,0x1c
     8b8:	e8 fc ff ff ff       	call   8b9 <unlock_rename+0x10>
     8bd:	39 f3                	cmp    ebx,esi
     8bf:	74 1b                	je     8dc <unlock_rename+0x33>
     8c1:	8b 46 20             	mov    eax,DWORD PTR [esi+0x20]
     8c4:	83 c0 1c             	add    eax,0x1c
     8c7:	e8 fc ff ff ff       	call   8c8 <unlock_rename+0x1f>
     8cc:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     8cf:	8b 40 10             	mov    eax,DWORD PTR [eax+0x10]
     8d2:	05 88 01 00 00       	add    eax,0x188
     8d7:	e8 fc ff ff ff       	call   8d8 <unlock_rename+0x2f>
     8dc:	5b                   	pop    ebx
     8dd:	5e                   	pop    esi
     8de:	5d                   	pop    ebp
     8df:	c3                   	ret    

000008e0 <d_alloc_and_lookup>:
     8e0:	55                   	push   ebp
     8e1:	89 e5                	mov    ebp,esp
     8e3:	57                   	push   edi
     8e4:	56                   	push   esi
     8e5:	be fe ff ff ff       	mov    esi,0xfffffffe
     8ea:	53                   	push   ebx
     8eb:	83 ec 04             	sub    esp,0x4
     8ee:	8b 78 20             	mov    edi,DWORD PTR [eax+0x20]
     8f1:	f6 47 18 10          	test   BYTE PTR [edi+0x18],0x10
     8f5:	75 30                	jne    927 <d_alloc_and_lookup+0x47>
     8f7:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
     8fa:	e8 fc ff ff ff       	call   8fb <d_alloc_and_lookup+0x1b>
     8ff:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
     902:	85 c0                	test   eax,eax
     904:	89 c6                	mov    esi,eax
     906:	75 07                	jne    90f <d_alloc_and_lookup+0x2f>
     908:	be f4 ff ff ff       	mov    esi,0xfffffff4
     90d:	eb 18                	jmp    927 <d_alloc_and_lookup+0x47>
     90f:	8b 5f 0c             	mov    ebx,DWORD PTR [edi+0xc]
     912:	89 c2                	mov    edx,eax
     914:	89 f8                	mov    eax,edi
     916:	ff 13                	call   DWORD PTR [ebx]
     918:	85 c0                	test   eax,eax
     91a:	89 c3                	mov    ebx,eax
     91c:	74 09                	je     927 <d_alloc_and_lookup+0x47>
     91e:	89 f0                	mov    eax,esi
     920:	89 de                	mov    esi,ebx
     922:	e8 fc ff ff ff       	call   923 <d_alloc_and_lookup+0x43>
     927:	89 f0                	mov    eax,esi
     929:	5e                   	pop    esi
     92a:	5b                   	pop    ebx
     92b:	5e                   	pop    esi
     92c:	5f                   	pop    edi
     92d:	5d                   	pop    ebp
     92e:	c3                   	ret    

0000092f <do_revalidate>:
     92f:	55                   	push   ebp
     930:	89 e5                	mov    ebp,esp
     932:	56                   	push   esi
     933:	53                   	push   ebx
     934:	89 c3                	mov    ebx,eax
     936:	e8 58 fa ff ff       	call   393 <d_revalidate>
     93b:	83 f8 00             	cmp    eax,0x0
     93e:	89 c6                	mov    esi,eax
     940:	7f 21                	jg     963 <do_revalidate+0x34>
     942:	75 16                	jne    95a <do_revalidate+0x2b>
     944:	89 d8                	mov    eax,ebx
     946:	e8 fc ff ff ff       	call   947 <do_revalidate+0x18>
     94b:	85 c0                	test   eax,eax
     94d:	75 14                	jne    963 <do_revalidate+0x34>
     94f:	89 d8                	mov    eax,ebx
     951:	31 db                	xor    ebx,ebx
     953:	e8 fc ff ff ff       	call   954 <do_revalidate+0x25>
     958:	eb 09                	jmp    963 <do_revalidate+0x34>
     95a:	89 d8                	mov    eax,ebx
     95c:	89 f3                	mov    ebx,esi
     95e:	e8 fc ff ff ff       	call   95f <do_revalidate+0x30>
     963:	89 d8                	mov    eax,ebx
     965:	5b                   	pop    ebx
     966:	5e                   	pop    esi
     967:	5d                   	pop    ebp
     968:	c3                   	ret    

00000969 <do_lookup>:
     969:	55                   	push   ebp
     96a:	89 e5                	mov    ebp,esp
     96c:	57                   	push   edi
     96d:	56                   	push   esi
     96e:	53                   	push   ebx
     96f:	89 c3                	mov    ebx,eax
     971:	83 ec 14             	sub    esp,0x14
     974:	8b 7b 04             	mov    edi,DWORD PTR [ebx+0x4]
     977:	89 55 e8             	mov    DWORD PTR [ebp-0x18],edx
     97a:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
     97d:	8b 00                	mov    eax,DWORD PTR [eax]
     97f:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
     982:	8b 07                	mov    eax,DWORD PTR [edi]
     984:	f6 c4 10             	test   ah,0x10
     987:	74 16                	je     99f <do_lookup+0x36>
     989:	8b 77 54             	mov    esi,DWORD PTR [edi+0x54]
     98c:	89 f8                	mov    eax,edi
     98e:	8b 53 20             	mov    edx,DWORD PTR [ebx+0x20]
     991:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
     994:	ff 56 08             	call   DWORD PTR [esi+0x8]
     997:	85 c0                	test   eax,eax
     999:	0f 88 32 01 00 00    	js     ad1 <do_lookup+0x168>
     99f:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     9a3:	74 6e                	je     a13 <do_lookup+0xaa>
     9a5:	ff 75 08             	push   DWORD PTR [ebp+0x8]
     9a8:	89 f8                	mov    eax,edi
     9aa:	8b 55 e8             	mov    edx,DWORD PTR [ebp-0x18]
     9ad:	8d 4d f0             	lea    ecx,[ebp-0x10]
     9b0:	e8 fc ff ff ff       	call   9b1 <do_lookup+0x48>
     9b5:	89 c6                	mov    esi,eax
     9b7:	85 f6                	test   esi,esi
     9b9:	58                   	pop    eax
     9ba:	0f 84 ef 00 00 00    	je     aaf <do_lookup+0x146>
     9c0:	8b 47 04             	mov    eax,DWORD PTR [edi+0x4]
     9c3:	3b 43 28             	cmp    eax,DWORD PTR [ebx+0x28]
     9c6:	0f 85 00 01 00 00    	jne    acc <do_lookup+0x163>
     9cc:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     9cf:	89 43 28             	mov    DWORD PTR [ebx+0x28],eax
     9d2:	8b 06                	mov    eax,DWORD PTR [esi]
     9d4:	66 a9 00 c0          	test   ax,0xc000
     9d8:	74 1f                	je     9f9 <do_lookup+0x90>
     9da:	f6 c4 40             	test   ah,0x40
     9dd:	0f 84 b7 00 00 00    	je     a9a <do_lookup+0x131>
     9e3:	89 f2                	mov    edx,esi
     9e5:	89 d8                	mov    eax,ebx
     9e7:	e8 d7 f8 ff ff       	call   2c3 <nameidata_dentry_drop_rcu>
     9ec:	85 c0                	test   eax,eax
     9ee:	0f 84 a6 00 00 00    	je     a9a <do_lookup+0x131>
     9f4:	e9 d3 00 00 00       	jmp    acc <do_lookup+0x163>
     9f9:	8b 45 e0             	mov    eax,DWORD PTR [ebp-0x20]
     9fc:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     9ff:	89 02                	mov    DWORD PTR [edx],eax
     a01:	89 d8                	mov    eax,ebx
     a03:	89 72 04             	mov    DWORD PTR [edx+0x4],esi
     a06:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
     a09:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     a0c:	e8 81 fc ff ff       	call   692 <__follow_mount_rcu>
     a11:	eb 37                	jmp    a4a <do_lookup+0xe1>
     a13:	8b 55 e8             	mov    edx,DWORD PTR [ebp-0x18]
     a16:	89 f8                	mov    eax,edi
     a18:	e8 fc ff ff ff       	call   a19 <do_lookup+0xb0>
     a1d:	85 c0                	test   eax,eax
     a1f:	89 c6                	mov    esi,eax
     a21:	74 2e                	je     a51 <do_lookup+0xe8>
     a23:	8b 06                	mov    eax,DWORD PTR [esi]
     a25:	f6 c4 40             	test   ah,0x40
     a28:	75 70                	jne    a9a <do_lookup+0x131>
     a2a:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     a2d:	8b 45 e0             	mov    eax,DWORD PTR [ebp-0x20]
     a30:	89 72 04             	mov    DWORD PTR [edx+0x4],esi
     a33:	89 02                	mov    DWORD PTR [edx],eax
     a35:	89 d0                	mov    eax,edx
     a37:	e8 7d fd ff ff       	call   7b9 <__follow_mount>
     a3c:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     a3f:	8b 42 04             	mov    eax,DWORD PTR [edx+0x4]
     a42:	8b 55 08             	mov    edx,DWORD PTR [ebp+0x8]
     a45:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     a48:	89 02                	mov    DWORD PTR [edx],eax
     a4a:	31 c0                	xor    eax,eax
     a4c:	e9 80 00 00 00       	jmp    ad1 <do_lookup+0x168>
     a51:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     a54:	3b 47 20             	cmp    eax,DWORD PTR [edi+0x20]
     a57:	74 04                	je     a5d <do_lookup+0xf4>
     a59:	0f 0b                	ud2    
     a5b:	eb fe                	jmp    a5b <do_lookup+0xf2>
     a5d:	83 c0 1c             	add    eax,0x1c
     a60:	89 45 e4             	mov    DWORD PTR [ebp-0x1c],eax
     a63:	e8 fc ff ff ff       	call   a64 <do_lookup+0xfb>
     a68:	8b 55 e8             	mov    edx,DWORD PTR [ebp-0x18]
     a6b:	89 f8                	mov    eax,edi
     a6d:	e8 fc ff ff ff       	call   a6e <do_lookup+0x105>
     a72:	85 c0                	test   eax,eax
     a74:	89 c6                	mov    esi,eax
     a76:	75 18                	jne    a90 <do_lookup+0x127>
     a78:	8b 55 e8             	mov    edx,DWORD PTR [ebp-0x18]
     a7b:	89 d9                	mov    ecx,ebx
     a7d:	89 f8                	mov    eax,edi
     a7f:	e8 5c fe ff ff       	call   8e0 <d_alloc_and_lookup>
     a84:	89 c6                	mov    esi,eax
     a86:	8b 45 e4             	mov    eax,DWORD PTR [ebp-0x1c]
     a89:	e8 fc ff ff ff       	call   a8a <do_lookup+0x121>
     a8e:	eb 2c                	jmp    abc <do_lookup+0x153>
     a90:	8b 45 e4             	mov    eax,DWORD PTR [ebp-0x1c]
     a93:	e8 fc ff ff ff       	call   a94 <do_lookup+0x12b>
     a98:	eb 89                	jmp    a23 <do_lookup+0xba>
     a9a:	89 f0                	mov    eax,esi
     a9c:	89 da                	mov    edx,ebx
     a9e:	e8 8c fe ff ff       	call   92f <do_revalidate>
     aa3:	85 c0                	test   eax,eax
     aa5:	89 c6                	mov    esi,eax
     aa7:	75 13                	jne    abc <do_lookup+0x153>
     aa9:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
     aad:	74 a2                	je     a51 <do_lookup+0xe8>
     aaf:	89 d8                	mov    eax,ebx
     ab1:	e8 6b f7 ff ff       	call   221 <nameidata_drop_rcu>
     ab6:	85 c0                	test   eax,eax
     ab8:	74 97                	je     a51 <do_lookup+0xe8>
     aba:	eb 10                	jmp    acc <do_lookup+0x163>
     abc:	81 fe 00 f0 ff ff    	cmp    esi,0xfffff000
     ac2:	89 f0                	mov    eax,esi
     ac4:	0f 86 60 ff ff ff    	jbe    a2a <do_lookup+0xc1>
     aca:	eb 05                	jmp    ad1 <do_lookup+0x168>
     acc:	b8 f6 ff ff ff       	mov    eax,0xfffffff6
     ad1:	8d 65 f4             	lea    esp,[ebp-0xc]
     ad4:	5b                   	pop    ebx
     ad5:	5e                   	pop    esi
     ad6:	5f                   	pop    edi
     ad7:	5d                   	pop    ebp
     ad8:	c3                   	ret    

00000ad9 <__lookup_hash>:
     ad9:	55                   	push   ebp
     ada:	89 e5                	mov    ebp,esp
     adc:	57                   	push   edi
     add:	89 c7                	mov    edi,eax
     adf:	56                   	push   esi
     ae0:	89 d6                	mov    esi,edx
     ae2:	53                   	push   ebx
     ae3:	83 ec 08             	sub    esp,0x8
     ae6:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
     ae9:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
     aec:	31 d2                	xor    edx,edx
     aee:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
     af1:	e8 74 fa ff ff       	call   56a <exec_permission>
     af6:	85 c0                	test   eax,eax
     af8:	75 44                	jne    b3e <__lookup_hash+0x65>
     afa:	8b 06                	mov    eax,DWORD PTR [esi]
     afc:	f6 c4 10             	test   ah,0x10
     aff:	74 11                	je     b12 <__lookup_hash+0x39>
     b01:	8b 5e 54             	mov    ebx,DWORD PTR [esi+0x54]
     b04:	89 f9                	mov    ecx,edi
     b06:	89 f0                	mov    eax,esi
     b08:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
     b0b:	ff 53 08             	call   DWORD PTR [ebx+0x8]
     b0e:	85 c0                	test   eax,eax
     b10:	78 2c                	js     b3e <__lookup_hash+0x65>
     b12:	89 fa                	mov    edx,edi
     b14:	89 f0                	mov    eax,esi
     b16:	e8 fc ff ff ff       	call   b17 <__lookup_hash+0x3e>
     b1b:	85 c0                	test   eax,eax
     b1d:	74 13                	je     b32 <__lookup_hash+0x59>
     b1f:	66 f7 00 00 c0       	test   WORD PTR [eax],0xc000
     b24:	74 18                	je     b3e <__lookup_hash+0x65>
     b26:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     b29:	e8 01 fe ff ff       	call   92f <do_revalidate>
     b2e:	85 c0                	test   eax,eax
     b30:	75 0c                	jne    b3e <__lookup_hash+0x65>
     b32:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
     b35:	89 fa                	mov    edx,edi
     b37:	89 f0                	mov    eax,esi
     b39:	e8 a2 fd ff ff       	call   8e0 <d_alloc_and_lookup>
     b3e:	5a                   	pop    edx
     b3f:	59                   	pop    ecx
     b40:	5b                   	pop    ebx
     b41:	5e                   	pop    esi
     b42:	5f                   	pop    edi
     b43:	5d                   	pop    ebp
     b44:	c3                   	ret    

00000b45 <lookup_create>:
     b45:	55                   	push   ebp
     b46:	89 e5                	mov    ebp,esp
     b48:	56                   	push   esi
     b49:	89 d6                	mov    esi,edx
     b4b:	53                   	push   ebx
     b4c:	89 c3                	mov    ebx,eax
     b4e:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
     b51:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     b54:	83 c0 1c             	add    eax,0x1c
     b57:	e8 fc ff ff ff       	call   b58 <lookup_create+0x13>
     b5c:	b8 ef ff ff ff       	mov    eax,0xffffffef
     b61:	83 7b 2c 00          	cmp    DWORD PTR [ebx+0x2c],0x0
     b65:	75 53                	jne    bba <lookup_create+0x75>
     b67:	8b 43 24             	mov    eax,DWORD PTR [ebx+0x24]
     b6a:	89 d9                	mov    ecx,ebx
     b6c:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
     b6f:	c7 43 58 80 00 00 00 	mov    DWORD PTR [ebx+0x58],0x80
     b76:	83 e0 ef             	and    eax,0xffffffef
     b79:	80 cc 06             	or     ah,0x6
     b7c:	89 43 24             	mov    DWORD PTR [ebx+0x24],eax
     b7f:	8d 43 08             	lea    eax,[ebx+0x8]
     b82:	e8 52 ff ff ff       	call   ad9 <__lookup_hash>
     b87:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
     b8c:	77 2c                	ja     bba <lookup_create+0x75>
     b8e:	83 78 20 00          	cmp    DWORD PTR [eax+0x20],0x0
     b92:	75 1c                	jne    bb0 <lookup_create+0x6b>
     b94:	85 f6                	test   esi,esi
     b96:	75 22                	jne    bba <lookup_create+0x75>
     b98:	8b 4b 10             	mov    ecx,DWORD PTR [ebx+0x10]
     b9b:	8b 53 0c             	mov    edx,DWORD PTR [ebx+0xc]
     b9e:	80 3c 11 00          	cmp    BYTE PTR [ecx+edx*1],0x0
     ba2:	74 16                	je     bba <lookup_create+0x75>
     ba4:	e8 fc ff ff ff       	call   ba5 <lookup_create+0x60>
     ba9:	b8 fe ff ff ff       	mov    eax,0xfffffffe
     bae:	eb 0a                	jmp    bba <lookup_create+0x75>
     bb0:	e8 fc ff ff ff       	call   bb1 <lookup_create+0x6c>
     bb5:	b8 ef ff ff ff       	mov    eax,0xffffffef
     bba:	5b                   	pop    ebx
     bbb:	5e                   	pop    esi
     bbc:	5d                   	pop    ebp
     bbd:	c3                   	ret    

00000bbe <force_reval_path>:
     bbe:	55                   	push   ebp
     bbf:	89 e5                	mov    ebp,esp
     bc1:	53                   	push   ebx
     bc2:	8b 58 04             	mov    ebx,DWORD PTR [eax+0x4]
     bc5:	66 f7 03 00 c0       	test   WORD PTR [ebx],0xc000
     bca:	74 1e                	je     bea <force_reval_path+0x2c>
     bcc:	8b 43 58             	mov    eax,DWORD PTR [ebx+0x58]
     bcf:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
     bd2:	f6 40 05 40          	test   BYTE PTR [eax+0x5],0x40
     bd6:	74 12                	je     bea <force_reval_path+0x2c>
     bd8:	eb 15                	jmp    bef <force_reval_path+0x31>
     bda:	75 10                	jne    bec <force_reval_path+0x2e>
     bdc:	89 d8                	mov    eax,ebx
     bde:	e8 fc ff ff ff       	call   bdf <force_reval_path+0x21>
     be3:	b8 8c ff ff ff       	mov    eax,0xffffff8c
     be8:	eb 02                	jmp    bec <force_reval_path+0x2e>
     bea:	31 c0                	xor    eax,eax
     bec:	5b                   	pop    ebx
     bed:	5d                   	pop    ebp
     bee:	c3                   	ret    
     bef:	89 d8                	mov    eax,ebx
     bf1:	e8 9d f7 ff ff       	call   393 <d_revalidate>
     bf6:	83 f8 00             	cmp    eax,0x0
     bf9:	7f ef                	jg     bea <force_reval_path+0x2c>
     bfb:	eb dd                	jmp    bda <force_reval_path+0x1c>

00000bfd <vfs_readlink>:
     bfd:	55                   	push   ebp
     bfe:	89 e5                	mov    ebp,esp
     c00:	57                   	push   edi
     c01:	89 d7                	mov    edi,edx
     c03:	56                   	push   esi
     c04:	53                   	push   ebx
     c05:	83 ec 04             	sub    esp,0x4
     c08:	8b 75 08             	mov    esi,DWORD PTR [ebp+0x8]
     c0b:	81 fe 00 f0 ff ff    	cmp    esi,0xfffff000
     c11:	89 f3                	mov    ebx,esi
     c13:	77 29                	ja     c3e <vfs_readlink+0x41>
     c15:	89 f0                	mov    eax,esi
     c17:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
     c1a:	e8 fc ff ff ff       	call   c1b <vfs_readlink+0x1e>
     c1f:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
     c22:	89 f2                	mov    edx,esi
     c24:	89 cb                	mov    ebx,ecx
     c26:	39 c8                	cmp    eax,ecx
     c28:	0f 46 d8             	cmovbe ebx,eax
     c2b:	89 f8                	mov    eax,edi
     c2d:	89 d9                	mov    ecx,ebx
     c2f:	e8 fc ff ff ff       	call   c30 <vfs_readlink+0x33>
     c34:	85 c0                	test   eax,eax
     c36:	b8 f2 ff ff ff       	mov    eax,0xfffffff2
     c3b:	0f 45 d8             	cmovne ebx,eax
     c3e:	89 d8                	mov    eax,ebx
     c40:	5b                   	pop    ebx
     c41:	5b                   	pop    ebx
     c42:	5e                   	pop    esi
     c43:	5f                   	pop    edi
     c44:	5d                   	pop    ebp
     c45:	c3                   	ret    

00000c46 <page_readlink>:
     c46:	55                   	push   ebp
     c47:	89 e5                	mov    ebp,esp
     c49:	56                   	push   esi
     c4a:	89 d6                	mov    esi,edx
     c4c:	53                   	push   ebx
     c4d:	89 c3                	mov    ebx,eax
     c4f:	83 ec 08             	sub    esp,0x8
     c52:	8d 55 f4             	lea    edx,[ebp-0xc]
     c55:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
     c58:	c7 45 f4 00 00 00 00 	mov    DWORD PTR [ebp-0xc],0x0
     c5f:	e8 7e f4 ff ff       	call   e2 <page_getlink>
     c64:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
     c67:	89 f2                	mov    edx,esi
     c69:	50                   	push   eax
     c6a:	89 d8                	mov    eax,ebx
     c6c:	e8 fc ff ff ff       	call   c6d <page_readlink+0x27>
     c71:	5e                   	pop    esi
     c72:	89 c3                	mov    ebx,eax
     c74:	8b 45 f4             	mov    eax,DWORD PTR [ebp-0xc]
     c77:	85 c0                	test   eax,eax
     c79:	74 0d                	je     c88 <page_readlink+0x42>
     c7b:	e8 fc ff ff ff       	call   c7c <page_readlink+0x36>
     c80:	8b 45 f4             	mov    eax,DWORD PTR [ebp-0xc]
     c83:	e8 fc ff ff ff       	call   c84 <page_readlink+0x3e>
     c88:	8d 65 f8             	lea    esp,[ebp-0x8]
     c8b:	89 d8                	mov    eax,ebx
     c8d:	5b                   	pop    ebx
     c8e:	5e                   	pop    esi
     c8f:	5d                   	pop    ebp
     c90:	c3                   	ret    

00000c91 <generic_readlink>:
     c91:	55                   	push   ebp
     c92:	89 e5                	mov    ebp,esp
     c94:	57                   	push   edi
     c95:	89 d7                	mov    edi,edx
     c97:	56                   	push   esi
     c98:	53                   	push   ebx
     c99:	89 c3                	mov    ebx,eax
     c9b:	83 ec 6c             	sub    esp,0x6c
     c9e:	c7 45 c0 00 00 00 00 	mov    DWORD PTR [ebp-0x40],0x0
     ca5:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     ca8:	8d 55 90             	lea    edx,[ebp-0x70]
     cab:	8b 70 0c             	mov    esi,DWORD PTR [eax+0xc]
     cae:	89 d8                	mov    eax,ebx
     cb0:	89 4d 88             	mov    DWORD PTR [ebp-0x78],ecx
     cb3:	ff 56 04             	call   DWORD PTR [esi+0x4]
     cb6:	8b 4d 88             	mov    ecx,DWORD PTR [ebp-0x78]
     cb9:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
     cbe:	89 c6                	mov    esi,eax
     cc0:	89 45 8c             	mov    DWORD PTR [ebp-0x74],eax
     cc3:	77 2a                	ja     cef <generic_readlink+0x5e>
     cc5:	8b 45 c0             	mov    eax,DWORD PTR [ebp-0x40]
     cc8:	89 fa                	mov    edx,edi
     cca:	ff 74 85 c4          	push   DWORD PTR [ebp+eax*4-0x3c]
     cce:	89 d8                	mov    eax,ebx
     cd0:	e8 fc ff ff ff       	call   cd1 <generic_readlink+0x40>
     cd5:	89 c6                	mov    esi,eax
     cd7:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     cda:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
     cdd:	8b 78 1c             	mov    edi,DWORD PTR [eax+0x1c]
     ce0:	58                   	pop    eax
     ce1:	85 ff                	test   edi,edi
     ce3:	74 0a                	je     cef <generic_readlink+0x5e>
     ce5:	8b 4d 8c             	mov    ecx,DWORD PTR [ebp-0x74]
     ce8:	8d 55 90             	lea    edx,[ebp-0x70]
     ceb:	89 d8                	mov    eax,ebx
     ced:	ff d7                	call   edi
     cef:	8d 65 f4             	lea    esp,[ebp-0xc]
     cf2:	89 f0                	mov    eax,esi
     cf4:	5b                   	pop    ebx
     cf5:	5e                   	pop    esi
     cf6:	5f                   	pop    edi
     cf7:	5d                   	pop    ebp
     cf8:	c3                   	ret    

00000cf9 <follow_up>:
     cf9:	55                   	push   ebp
     cfa:	89 e5                	mov    ebp,esp
     cfc:	57                   	push   edi
     cfd:	56                   	push   esi
     cfe:	53                   	push   ebx
     cff:	89 c3                	mov    ebx,eax
     d01:	e8 fc ff ff ff       	call   d02 <follow_up+0x9>
     d06:	8b 03                	mov    eax,DWORD PTR [ebx]
     d08:	8b 70 08             	mov    esi,DWORD PTR [eax+0x8]
     d0b:	39 c6                	cmp    esi,eax
     d0d:	75 09                	jne    d18 <follow_up+0x1f>
     d0f:	e8 fc ff ff ff       	call   d10 <follow_up+0x17>
     d14:	31 c0                	xor    eax,eax
     d16:	eb 32                	jmp    d4a <follow_up+0x51>
     d18:	85 f6                	test   esi,esi
     d1a:	74 04                	je     d20 <follow_up+0x27>
     d1c:	f0 ff 46 70          	lock inc DWORD PTR [esi+0x70]
     d20:	8b 03                	mov    eax,DWORD PTR [ebx]
     d22:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
     d25:	e8 33 f4 ff ff       	call   15d <dget>
     d2a:	89 c7                	mov    edi,eax
     d2c:	e8 fc ff ff ff       	call   d2d <follow_up+0x34>
     d31:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     d34:	e8 fc ff ff ff       	call   d35 <follow_up+0x3c>
     d39:	8b 03                	mov    eax,DWORD PTR [ebx]
     d3b:	89 7b 04             	mov    DWORD PTR [ebx+0x4],edi
     d3e:	e8 61 fa ff ff       	call   7a4 <mntput>
     d43:	b8 01 00 00 00       	mov    eax,0x1
     d48:	89 33                	mov    DWORD PTR [ebx],esi
     d4a:	5b                   	pop    ebx
     d4b:	5e                   	pop    esi
     d4c:	5f                   	pop    edi
     d4d:	5d                   	pop    ebp
     d4e:	c3                   	ret    

00000d4f <follow_dotdot>:
     d4f:	55                   	push   ebp
     d50:	89 e5                	mov    ebp,esp
     d52:	56                   	push   esi
     d53:	53                   	push   ebx
     d54:	89 c3                	mov    ebx,eax
     d56:	83 78 14 00          	cmp    DWORD PTR [eax+0x14],0x0
     d5a:	75 14                	jne    d70 <follow_dotdot+0x21>
     d5c:	64 a1 00 00 00 00    	mov    eax,fs:0x0
     d62:	8b 80 90 02 00 00    	mov    eax,DWORD PTR [eax+0x290]
     d68:	8d 53 14             	lea    edx,[ebx+0x14]
     d6b:	e8 21 f4 ff ff       	call   191 <get_fs_root>
     d70:	8b 73 04             	mov    esi,DWORD PTR [ebx+0x4]
     d73:	3b 73 18             	cmp    esi,DWORD PTR [ebx+0x18]
     d76:	75 07                	jne    d7f <follow_dotdot+0x30>
     d78:	8b 03                	mov    eax,DWORD PTR [ebx]
     d7a:	3b 43 14             	cmp    eax,DWORD PTR [ebx+0x14]
     d7d:	74 50                	je     dcf <follow_dotdot+0x80>
     d7f:	8b 03                	mov    eax,DWORD PTR [ebx]
     d81:	3b 70 10             	cmp    esi,DWORD PTR [eax+0x10]
     d84:	74 13                	je     d99 <follow_dotdot+0x4a>
     d86:	89 f0                	mov    eax,esi
     d88:	e8 fc ff ff ff       	call   d89 <follow_dotdot+0x3a>
     d8d:	89 43 04             	mov    DWORD PTR [ebx+0x4],eax
     d90:	89 f0                	mov    eax,esi
     d92:	e8 fc ff ff ff       	call   d93 <follow_dotdot+0x44>
     d97:	eb 36                	jmp    dcf <follow_dotdot+0x80>
     d99:	89 d8                	mov    eax,ebx
     d9b:	e8 fc ff ff ff       	call   d9c <follow_dotdot+0x4d>
     da0:	85 c0                	test   eax,eax
     da2:	75 cc                	jne    d70 <follow_dotdot+0x21>
     da4:	eb 29                	jmp    dcf <follow_dotdot+0x80>
     da6:	89 d8                	mov    eax,ebx
     da8:	e8 fc ff ff ff       	call   da9 <follow_dotdot+0x5a>
     dad:	85 c0                	test   eax,eax
     daf:	89 c6                	mov    esi,eax
     db1:	74 26                	je     dd9 <follow_dotdot+0x8a>
     db3:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     db6:	e8 fc ff ff ff       	call   db7 <follow_dotdot+0x68>
     dbb:	8b 03                	mov    eax,DWORD PTR [ebx]
     dbd:	e8 e2 f9 ff ff       	call   7a4 <mntput>
     dc2:	89 33                	mov    DWORD PTR [ebx],esi
     dc4:	8b 46 10             	mov    eax,DWORD PTR [esi+0x10]
     dc7:	e8 91 f3 ff ff       	call   15d <dget>
     dcc:	89 43 04             	mov    DWORD PTR [ebx+0x4],eax
     dcf:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     dd2:	8b 00                	mov    eax,DWORD PTR [eax]
     dd4:	f6 c4 04             	test   ah,0x4
     dd7:	75 cd                	jne    da6 <follow_dotdot+0x57>
     dd9:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
     ddc:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     ddf:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
     de2:	5b                   	pop    ebx
     de3:	5e                   	pop    esi
     de4:	5d                   	pop    ebp
     de5:	c3                   	ret    

00000de6 <path_finish_rcu>:
     de6:	55                   	push   ebp
     de7:	89 e5                	mov    ebp,esp
     de9:	53                   	push   ebx
     dea:	89 c3                	mov    ebx,eax
     dec:	8b 40 24             	mov    eax,DWORD PTR [eax+0x24]
     def:	a8 40                	test   al,0x40
     df1:	74 12                	je     e05 <path_finish_rcu+0x1f>
     df3:	83 e0 bf             	and    eax,0xffffffbf
     df6:	89 43 24             	mov    DWORD PTR [ebx+0x24],eax
     df9:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
     e00:	e8 fc ff ff ff       	call   e01 <path_finish_rcu+0x1b>
     e05:	8b 43 1c             	mov    eax,DWORD PTR [ebx+0x1c]
     e08:	85 c0                	test   eax,eax
     e0a:	74 05                	je     e11 <path_finish_rcu+0x2b>
     e0c:	e8 fc ff ff ff       	call   e0d <path_finish_rcu+0x27>
     e11:	5b                   	pop    ebx
     e12:	5d                   	pop    ebp
     e13:	c3                   	ret    

00000e14 <audit_inode>:
     e14:	55                   	push   ebp
     e15:	64 8b 0d 00 00 00 00 	mov    ecx,DWORD PTR fs:0x0
     e1c:	8b 89 e0 02 00 00    	mov    ecx,DWORD PTR [ecx+0x2e0]
     e22:	89 e5                	mov    ebp,esp
     e24:	85 c9                	test   ecx,ecx
     e26:	74 0a                	je     e32 <audit_inode+0x1e>
     e28:	83 39 00             	cmp    DWORD PTR [ecx],0x0
     e2b:	75 05                	jne    e32 <audit_inode+0x1e>
     e2d:	e8 fc ff ff ff       	call   e2e <audit_inode+0x1a>
     e32:	5d                   	pop    ebp
     e33:	c3                   	ret    

00000e34 <audit_inode_child>:
     e34:	55                   	push   ebp
     e35:	64 8b 0d 00 00 00 00 	mov    ecx,DWORD PTR fs:0x0
     e3c:	8b 89 e0 02 00 00    	mov    ecx,DWORD PTR [ecx+0x2e0]
     e42:	89 e5                	mov    ebp,esp
     e44:	85 c9                	test   ecx,ecx
     e46:	74 0a                	je     e52 <audit_inode_child+0x1e>
     e48:	83 39 00             	cmp    DWORD PTR [ecx],0x0
     e4b:	75 05                	jne    e52 <audit_inode_child+0x1e>
     e4d:	e8 fc ff ff ff       	call   e4e <audit_inode_child+0x1a>
     e52:	5d                   	pop    ebp
     e53:	c3                   	ret    

00000e54 <vfs_rename_other>:
     e54:	55                   	push   ebp
     e55:	89 e5                	mov    ebp,esp
     e57:	57                   	push   edi
     e58:	56                   	push   esi
     e59:	53                   	push   ebx
     e5a:	83 ec 0c             	sub    esp,0xc
     e5d:	8b 75 08             	mov    esi,DWORD PTR [ebp+0x8]
     e60:	89 4d e8             	mov    DWORD PTR [ebp-0x18],ecx
     e63:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
     e66:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
     e69:	56                   	push   esi
     e6a:	e8 fc ff ff ff       	call   e6b <vfs_rename_other+0x17>
     e6f:	59                   	pop    ecx
     e70:	85 c0                	test   eax,eax
     e72:	89 c3                	mov    ebx,eax
     e74:	0f 85 84 00 00 00    	jne    efe <vfs_rename_other+0xaa>
     e7a:	89 f0                	mov    eax,esi
     e7c:	e8 dc f2 ff ff       	call   15d <dget>
     e81:	8b 7e 20             	mov    edi,DWORD PTR [esi+0x20]
     e84:	85 ff                	test   edi,edi
     e86:	74 08                	je     e90 <vfs_rename_other+0x3c>
     e88:	8d 47 1c             	lea    eax,[edi+0x1c]
     e8b:	e8 fc ff ff ff       	call   e8c <vfs_rename_other+0x38>
     e90:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
     e93:	8b 02                	mov    eax,DWORD PTR [edx]
     e95:	f6 c4 04             	test   ah,0x4
     e98:	75 4c                	jne    ee6 <vfs_rename_other+0x92>
     e9a:	8b 06                	mov    eax,DWORD PTR [esi]
     e9c:	f6 c4 04             	test   ah,0x4
     e9f:	75 45                	jne    ee6 <vfs_rename_other+0x92>
     ea1:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
     ea4:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
     ea7:	8b 58 0c             	mov    ebx,DWORD PTR [eax+0xc]
     eaa:	56                   	push   esi
     eab:	ff 53 3c             	call   DWORD PTR [ebx+0x3c]
     eae:	5a                   	pop    edx
     eaf:	85 c0                	test   eax,eax
     eb1:	89 c3                	mov    ebx,eax
     eb3:	75 36                	jne    eeb <vfs_rename_other+0x97>
     eb5:	85 ff                	test   edi,edi
     eb7:	74 11                	je     eca <vfs_rename_other+0x76>
     eb9:	8d 46 50             	lea    eax,[esi+0x50]
     ebc:	e8 fc ff ff ff       	call   ebd <vfs_rename_other+0x69>
     ec1:	81 0e 00 01 00 00    	or     DWORD PTR [esi],0x100
     ec7:	fe 46 50             	inc    BYTE PTR [esi+0x50]
     eca:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
     ecd:	8b 42 10             	mov    eax,DWORD PTR [edx+0x10]
     ed0:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
     ed3:	66 83 78 04 00       	cmp    WORD PTR [eax+0x4],0x0
     ed8:	78 11                	js     eeb <vfs_rename_other+0x97>
     eda:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
     edd:	89 f2                	mov    edx,esi
     edf:	e8 fc ff ff ff       	call   ee0 <vfs_rename_other+0x8c>
     ee4:	eb 05                	jmp    eeb <vfs_rename_other+0x97>
     ee6:	bb f0 ff ff ff       	mov    ebx,0xfffffff0
     eeb:	85 ff                	test   edi,edi
     eed:	74 08                	je     ef7 <vfs_rename_other+0xa3>
     eef:	8d 47 1c             	lea    eax,[edi+0x1c]
     ef2:	e8 fc ff ff ff       	call   ef3 <vfs_rename_other+0x9f>
     ef7:	89 f0                	mov    eax,esi
     ef9:	e8 fc ff ff ff       	call   efa <vfs_rename_other+0xa6>
     efe:	8d 65 f4             	lea    esp,[ebp-0xc]
     f01:	89 d8                	mov    eax,ebx
     f03:	5b                   	pop    ebx
     f04:	5e                   	pop    esi
     f05:	5f                   	pop    edi
     f06:	5d                   	pop    ebp
     f07:	c3                   	ret    

00000f08 <fsnotify_create>:
     f08:	55                   	push   ebp
     f09:	89 e5                	mov    ebp,esp
     f0b:	56                   	push   esi
     f0c:	89 d6                	mov    esi,edx
     f0e:	53                   	push   ebx
     f0f:	89 c2                	mov    edx,eax
     f11:	89 c3                	mov    ebx,eax
     f13:	89 f0                	mov    eax,esi
     f15:	e8 1a ff ff ff       	call   e34 <audit_inode_child>
     f1a:	8b 4e 20             	mov    ecx,DWORD PTR [esi+0x20]
     f1d:	89 d8                	mov    eax,ebx
     f1f:	ba 00 01 00 00       	mov    edx,0x100
     f24:	6a 00                	push   0x0
     f26:	ff 76 1c             	push   DWORD PTR [esi+0x1c]
     f29:	6a 02                	push   0x2
     f2b:	e8 fc ff ff ff       	call   f2c <fsnotify_create+0x24>
     f30:	83 c4 0c             	add    esp,0xc
     f33:	8d 65 f8             	lea    esp,[ebp-0x8]
     f36:	5b                   	pop    ebx
     f37:	5e                   	pop    esi
     f38:	5d                   	pop    ebp
     f39:	c3                   	ret    

00000f3a <dentry_unhash>:
     f3a:	55                   	push   ebp
     f3b:	89 e5                	mov    ebp,esp
     f3d:	53                   	push   ebx
     f3e:	89 c3                	mov    ebx,eax
     f40:	e8 18 f2 ff ff       	call   15d <dget>
     f45:	89 d8                	mov    eax,ebx
     f47:	e8 fc ff ff ff       	call   f48 <dentry_unhash+0xe>
     f4c:	8d 43 50             	lea    eax,[ebx+0x50]
     f4f:	e8 fc ff ff ff       	call   f50 <dentry_unhash+0x16>
     f54:	83 7b 4c 02          	cmp    DWORD PTR [ebx+0x4c],0x2
     f58:	75 07                	jne    f61 <dentry_unhash+0x27>
     f5a:	89 d8                	mov    eax,ebx
     f5c:	e8 fc ff ff ff       	call   f5d <dentry_unhash+0x23>
     f61:	fe 43 50             	inc    BYTE PTR [ebx+0x50]
     f64:	5b                   	pop    ebx
     f65:	5d                   	pop    ebp
     f66:	c3                   	ret    

00000f67 <lock_rename>:
     f67:	55                   	push   ebp
     f68:	39 d0                	cmp    eax,edx
     f6a:	89 e5                	mov    ebp,esp
     f6c:	57                   	push   edi
     f6d:	56                   	push   esi
     f6e:	89 c6                	mov    esi,eax
     f70:	53                   	push   ebx
     f71:	89 d3                	mov    ebx,edx
     f73:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
     f76:	75 0c                	jne    f84 <lock_rename+0x1d>
     f78:	83 c0 1c             	add    eax,0x1c
     f7b:	31 ff                	xor    edi,edi
     f7d:	e8 fc ff ff ff       	call   f7e <lock_rename+0x17>
     f82:	eb 4d                	jmp    fd1 <lock_rename+0x6a>
     f84:	8b 40 10             	mov    eax,DWORD PTR [eax+0x10]
     f87:	05 88 01 00 00       	add    eax,0x188
     f8c:	e8 fc ff ff ff       	call   f8d <lock_rename+0x26>
     f91:	89 f2                	mov    edx,esi
     f93:	89 d8                	mov    eax,ebx
     f95:	e8 fc ff ff ff       	call   f96 <lock_rename+0x2f>
     f9a:	85 c0                	test   eax,eax
     f9c:	89 c7                	mov    edi,eax
     f9e:	74 10                	je     fb0 <lock_rename+0x49>
     fa0:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     fa3:	83 c0 1c             	add    eax,0x1c
     fa6:	e8 fc ff ff ff       	call   fa7 <lock_rename+0x40>
     fab:	8b 46 20             	mov    eax,DWORD PTR [esi+0x20]
     fae:	eb 19                	jmp    fc9 <lock_rename+0x62>
     fb0:	89 da                	mov    edx,ebx
     fb2:	89 f0                	mov    eax,esi
     fb4:	e8 fc ff ff ff       	call   fb5 <lock_rename+0x4e>
     fb9:	89 c7                	mov    edi,eax
     fbb:	8b 46 20             	mov    eax,DWORD PTR [esi+0x20]
     fbe:	83 c0 1c             	add    eax,0x1c
     fc1:	e8 fc ff ff ff       	call   fc2 <lock_rename+0x5b>
     fc6:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
     fc9:	83 c0 1c             	add    eax,0x1c
     fcc:	e8 fc ff ff ff       	call   fcd <lock_rename+0x66>
     fd1:	89 f8                	mov    eax,edi
     fd3:	5b                   	pop    ebx
     fd4:	5e                   	pop    esi
     fd5:	5f                   	pop    edi
     fd6:	5d                   	pop    ebp
     fd7:	c3                   	ret    

00000fd8 <lookup_one_len>:
     fd8:	55                   	push   ebp
     fd9:	89 e5                	mov    ebp,esp
     fdb:	57                   	push   edi
     fdc:	89 cf                	mov    edi,ecx
     fde:	56                   	push   esi
     fdf:	89 c6                	mov    esi,eax
     fe1:	53                   	push   ebx
     fe2:	89 d3                	mov    ebx,edx
     fe4:	83 ec 0c             	sub    esp,0xc
     fe7:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
     fea:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
     fed:	48                   	dec    eax
     fee:	75 1f                	jne    100f <lookup_one_len+0x37>
     ff0:	80 3d 00 00 00 00 01 	cmp    BYTE PTR ds:0x0,0x1
     ff7:	74 16                	je     100f <lookup_one_len+0x37>
     ff9:	ba b7 06 00 00       	mov    edx,0x6b7
     ffe:	b8 00 00 00 00       	mov    eax,0x0
    1003:	e8 fc ff ff ff       	call   1004 <lookup_one_len+0x2c>
    1008:	c6 05 00 00 00 00 01 	mov    BYTE PTR ds:0x0,0x1
    100f:	31 d2                	xor    edx,edx
    1011:	85 ff                	test   edi,edi
    1013:	89 75 f0             	mov    DWORD PTR [ebp-0x10],esi
    1016:	89 7d ec             	mov    DWORD PTR [ebp-0x14],edi
    1019:	75 21                	jne    103c <lookup_one_len+0x64>
    101b:	eb 34                	jmp    1051 <lookup_one_len+0x79>
    101d:	0f b6 06             	movzx  eax,BYTE PTR [esi]
    1020:	4f                   	dec    edi
    1021:	85 c0                	test   eax,eax
    1023:	74 2c                	je     1051 <lookup_one_len+0x79>
    1025:	83 f8 2f             	cmp    eax,0x2f
    1028:	74 27                	je     1051 <lookup_one_len+0x79>
    102a:	89 c1                	mov    ecx,eax
    102c:	46                   	inc    esi
    102d:	c1 e9 04             	shr    ecx,0x4
    1030:	c1 e0 04             	shl    eax,0x4
    1033:	8d 04 01             	lea    eax,[ecx+eax*1]
    1036:	8d 14 10             	lea    edx,[eax+edx*1]
    1039:	6b d2 0b             	imul   edx,edx,0xb
    103c:	85 ff                	test   edi,edi
    103e:	75 dd                	jne    101d <lookup_one_len+0x45>
    1040:	89 55 e8             	mov    DWORD PTR [ebp-0x18],edx
    1043:	8d 45 e8             	lea    eax,[ebp-0x18]
    1046:	31 c9                	xor    ecx,ecx
    1048:	89 da                	mov    edx,ebx
    104a:	e8 8a fa ff ff       	call   ad9 <__lookup_hash>
    104f:	eb 05                	jmp    1056 <lookup_one_len+0x7e>
    1051:	b8 f3 ff ff ff       	mov    eax,0xfffffff3
    1056:	83 c4 0c             	add    esp,0xc
    1059:	5b                   	pop    ebx
    105a:	5e                   	pop    esi
    105b:	5f                   	pop    edi
    105c:	5d                   	pop    ebp
    105d:	c3                   	ret    

0000105e <release_open_intent>:
    105e:	55                   	push   ebp
    105f:	8b 40 60             	mov    eax,DWORD PTR [eax+0x60]
    1062:	89 e5                	mov    ebp,esp
    1064:	83 78 0c 00          	cmp    DWORD PTR [eax+0xc],0x0
    1068:	75 07                	jne    1071 <release_open_intent+0x13>
    106a:	e8 fc ff ff ff       	call   106b <release_open_intent+0xd>
    106f:	eb 05                	jmp    1076 <release_open_intent+0x18>
    1071:	e8 fc ff ff ff       	call   1072 <release_open_intent+0x14>
    1076:	5d                   	pop    ebp
    1077:	c3                   	ret    

00001078 <inode_permission>:
    1078:	55                   	push   ebp
    1079:	f6 c2 02             	test   dl,0x2
    107c:	89 e5                	mov    ebp,esp
    107e:	57                   	push   edi
    107f:	56                   	push   esi
    1080:	89 d6                	mov    esi,edx
    1082:	53                   	push   ebx
    1083:	89 c3                	mov    ebx,eax
    1085:	74 30                	je     10b7 <inode_permission+0x3f>
    1087:	8b 53 10             	mov    edx,DWORD PTR [ebx+0x10]
    108a:	8b 00                	mov    eax,DWORD PTR [eax]
    108c:	f6 42 30 01          	test   BYTE PTR [edx+0x30],0x1
    1090:	74 1a                	je     10ac <inode_permission+0x34>
    1092:	25 00 f0 00 00       	and    eax,0xf000
    1097:	3d 00 40 00 00       	cmp    eax,0x4000
    109c:	74 7a                	je     1118 <inode_permission+0xa0>
    109e:	3d 00 80 00 00       	cmp    eax,0x8000
    10a3:	74 73                	je     1118 <inode_permission+0xa0>
    10a5:	3d 00 a0 00 00       	cmp    eax,0xa000
    10aa:	74 6c                	je     1118 <inode_permission+0xa0>
    10ac:	f6 43 18 08          	test   BYTE PTR [ebx+0x18],0x8
    10b0:	b8 f3 ff ff ff       	mov    eax,0xfffffff3
    10b5:	75 66                	jne    111d <inode_permission+0xa5>
    10b7:	8b 43 0c             	mov    eax,DWORD PTR [ebx+0xc]
    10ba:	8b 48 08             	mov    ecx,DWORD PTR [eax+0x8]
    10bd:	85 c9                	test   ecx,ecx
    10bf:	74 08                	je     10c9 <inode_permission+0x51>
    10c1:	89 f2                	mov    edx,esi
    10c3:	89 d8                	mov    eax,ebx
    10c5:	ff d1                	call   ecx
    10c7:	eb 33                	jmp    10fc <inode_permission+0x84>
    10c9:	8b 78 0c             	mov    edi,DWORD PTR [eax+0xc]
    10cc:	85 ff                	test   edi,edi
    10ce:	74 0a                	je     10da <inode_permission+0x62>
    10d0:	31 c9                	xor    ecx,ecx
    10d2:	89 f2                	mov    edx,esi
    10d4:	89 d8                	mov    eax,ebx
    10d6:	ff d7                	call   edi
    10d8:	eb 22                	jmp    10fc <inode_permission+0x84>
    10da:	8b 50 14             	mov    edx,DWORD PTR [eax+0x14]
    10dd:	85 d2                	test   edx,edx
    10df:	74 0f                	je     10f0 <inode_permission+0x78>
    10e1:	52                   	push   edx
    10e2:	31 c9                	xor    ecx,ecx
    10e4:	89 f2                	mov    edx,esi
    10e6:	89 d8                	mov    eax,ebx
    10e8:	e8 fc ff ff ff       	call   10e9 <inode_permission+0x71>
    10ed:	5f                   	pop    edi
    10ee:	eb 0c                	jmp    10fc <inode_permission+0x84>
    10f0:	8b 48 10             	mov    ecx,DWORD PTR [eax+0x10]
    10f3:	89 f2                	mov    edx,esi
    10f5:	89 d8                	mov    eax,ebx
    10f7:	e8 fc ff ff ff       	call   10f8 <inode_permission+0x80>
    10fc:	85 c0                	test   eax,eax
    10fe:	75 1d                	jne    111d <inode_permission+0xa5>
    1100:	89 f2                	mov    edx,esi
    1102:	89 d8                	mov    eax,ebx
    1104:	e8 fc ff ff ff       	call   1105 <inode_permission+0x8d>
    1109:	85 c0                	test   eax,eax
    110b:	75 10                	jne    111d <inode_permission+0xa5>
    110d:	89 f2                	mov    edx,esi
    110f:	89 d8                	mov    eax,ebx
    1111:	e8 fc ff ff ff       	call   1112 <inode_permission+0x9a>
    1116:	eb 05                	jmp    111d <inode_permission+0xa5>
    1118:	b8 e2 ff ff ff       	mov    eax,0xffffffe2
    111d:	8d 65 f4             	lea    esp,[ebp-0xc]
    1120:	5b                   	pop    ebx
    1121:	5e                   	pop    esi
    1122:	5f                   	pop    edi
    1123:	5d                   	pop    ebp
    1124:	c3                   	ret    

00001125 <may_create>:
    1125:	55                   	push   ebp
    1126:	b9 ef ff ff ff       	mov    ecx,0xffffffef
    112b:	83 7a 20 00          	cmp    DWORD PTR [edx+0x20],0x0
    112f:	89 e5                	mov    ebp,esp
    1131:	75 14                	jne    1147 <may_create+0x22>
    1133:	f6 40 18 10          	test   BYTE PTR [eax+0x18],0x10
    1137:	b1 fe                	mov    cl,0xfe
    1139:	75 0c                	jne    1147 <may_create+0x22>
    113b:	ba 03 00 00 00       	mov    edx,0x3
    1140:	e8 fc ff ff ff       	call   1141 <may_create+0x1c>
    1145:	89 c1                	mov    ecx,eax
    1147:	89 c8                	mov    eax,ecx
    1149:	5d                   	pop    ebp
    114a:	c3                   	ret    

0000114b <vfs_link>:
    114b:	55                   	push   ebp
    114c:	89 e5                	mov    ebp,esp
    114e:	57                   	push   edi
    114f:	56                   	push   esi
    1150:	89 d6                	mov    esi,edx
    1152:	53                   	push   ebx
    1153:	bb fe ff ff ff       	mov    ebx,0xfffffffe
    1158:	83 ec 0c             	sub    esp,0xc
    115b:	89 45 ec             	mov    DWORD PTR [ebp-0x14],eax
    115e:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    1161:	8b 78 20             	mov    edi,DWORD PTR [eax+0x20]
    1164:	85 ff                	test   edi,edi
    1166:	0f 84 c2 00 00 00    	je     122e <vfs_link+0xe3>
    116c:	89 ca                	mov    edx,ecx
    116e:	89 f0                	mov    eax,esi
    1170:	e8 b0 ff ff ff       	call   1125 <may_create>
    1175:	85 c0                	test   eax,eax
    1177:	89 c3                	mov    ebx,eax
    1179:	0f 85 af 00 00 00    	jne    122e <vfs_link+0xe3>
    117f:	8b 46 10             	mov    eax,DWORD PTR [esi+0x10]
    1182:	bb ee ff ff ff       	mov    ebx,0xffffffee
    1187:	3b 47 10             	cmp    eax,DWORD PTR [edi+0x10]
    118a:	0f 85 9e 00 00 00    	jne    122e <vfs_link+0xe3>
    1190:	f6 47 18 0c          	test   BYTE PTR [edi+0x18],0xc
    1194:	0f 85 91 00 00 00    	jne    122b <vfs_link+0xe0>
    119a:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    119d:	83 78 24 00          	cmp    DWORD PTR [eax+0x24],0x0
    11a1:	0f 84 84 00 00 00    	je     122b <vfs_link+0xe0>
    11a7:	0f b7 07             	movzx  eax,WORD PTR [edi]
    11aa:	25 00 f0 00 00       	and    eax,0xf000
    11af:	3d 00 40 00 00       	cmp    eax,0x4000
    11b4:	74 75                	je     122b <vfs_link+0xe0>
    11b6:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    11b9:	89 f2                	mov    edx,esi
    11bb:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    11be:	e8 fc ff ff ff       	call   11bf <vfs_link+0x74>
    11c3:	85 c0                	test   eax,eax
    11c5:	89 c3                	mov    ebx,eax
    11c7:	75 65                	jne    122e <vfs_link+0xe3>
    11c9:	8d 47 1c             	lea    eax,[edi+0x1c]
    11cc:	89 45 e8             	mov    DWORD PTR [ebp-0x18],eax
    11cf:	e8 fc ff ff ff       	call   11d0 <vfs_link+0x85>
    11d4:	8b 5e 0c             	mov    ebx,DWORD PTR [esi+0xc]
    11d7:	89 f2                	mov    edx,esi
    11d9:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    11dc:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    11df:	ff 53 24             	call   DWORD PTR [ebx+0x24]
    11e2:	89 c3                	mov    ebx,eax
    11e4:	8b 45 e8             	mov    eax,DWORD PTR [ebp-0x18]
    11e7:	e8 fc ff ff ff       	call   11e8 <vfs_link+0x9d>
    11ec:	85 db                	test   ebx,ebx
    11ee:	75 3e                	jne    122e <vfs_link+0xe3>
    11f0:	6a 00                	push   0x0
    11f2:	89 f9                	mov    ecx,edi
    11f4:	6a 00                	push   0x0
    11f6:	ba 04 00 00 00       	mov    edx,0x4
    11fb:	6a 02                	push   0x2
    11fd:	89 f8                	mov    eax,edi
    11ff:	e8 fc ff ff ff       	call   1200 <vfs_link+0xb5>
    1204:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    1207:	89 f2                	mov    edx,esi
    1209:	e8 26 fc ff ff       	call   e34 <audit_inode_child>
    120e:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    1211:	89 f9                	mov    ecx,edi
    1213:	ba 00 01 00 00       	mov    edx,0x100
    1218:	6a 00                	push   0x0
    121a:	ff 70 1c             	push   DWORD PTR [eax+0x1c]
    121d:	89 f0                	mov    eax,esi
    121f:	6a 02                	push   0x2
    1221:	e8 fc ff ff ff       	call   1222 <vfs_link+0xd7>
    1226:	83 c4 18             	add    esp,0x18
    1229:	eb 03                	jmp    122e <vfs_link+0xe3>
    122b:	83 cb ff             	or     ebx,0xffffffff
    122e:	8d 65 f4             	lea    esp,[ebp-0xc]
    1231:	89 d8                	mov    eax,ebx
    1233:	5b                   	pop    ebx
    1234:	5e                   	pop    esi
    1235:	5f                   	pop    edi
    1236:	5d                   	pop    ebp
    1237:	c3                   	ret    

00001238 <vfs_symlink>:
    1238:	55                   	push   ebp
    1239:	89 e5                	mov    ebp,esp
    123b:	57                   	push   edi
    123c:	89 d7                	mov    edi,edx
    123e:	56                   	push   esi
    123f:	89 c6                	mov    esi,eax
    1241:	53                   	push   ebx
    1242:	83 ec 04             	sub    esp,0x4
    1245:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    1248:	e8 d8 fe ff ff       	call   1125 <may_create>
    124d:	85 c0                	test   eax,eax
    124f:	89 c3                	mov    ebx,eax
    1251:	75 3a                	jne    128d <vfs_symlink+0x55>
    1253:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    1256:	83 cb ff             	or     ebx,0xffffffff
    1259:	83 78 2c 00          	cmp    DWORD PTR [eax+0x2c],0x0
    125d:	74 2e                	je     128d <vfs_symlink+0x55>
    125f:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    1262:	89 fa                	mov    edx,edi
    1264:	89 f0                	mov    eax,esi
    1266:	e8 fc ff ff ff       	call   1267 <vfs_symlink+0x2f>
    126b:	85 c0                	test   eax,eax
    126d:	89 c3                	mov    ebx,eax
    126f:	75 1c                	jne    128d <vfs_symlink+0x55>
    1271:	8b 5e 0c             	mov    ebx,DWORD PTR [esi+0xc]
    1274:	89 fa                	mov    edx,edi
    1276:	89 f0                	mov    eax,esi
    1278:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    127b:	ff 53 2c             	call   DWORD PTR [ebx+0x2c]
    127e:	85 c0                	test   eax,eax
    1280:	89 c3                	mov    ebx,eax
    1282:	75 09                	jne    128d <vfs_symlink+0x55>
    1284:	89 fa                	mov    edx,edi
    1286:	89 f0                	mov    eax,esi
    1288:	e8 7b fc ff ff       	call   f08 <fsnotify_create>
    128d:	5a                   	pop    edx
    128e:	89 d8                	mov    eax,ebx
    1290:	5b                   	pop    ebx
    1291:	5e                   	pop    esi
    1292:	5f                   	pop    edi
    1293:	5d                   	pop    ebp
    1294:	c3                   	ret    

00001295 <vfs_mkdir>:
    1295:	55                   	push   ebp
    1296:	89 e5                	mov    ebp,esp
    1298:	57                   	push   edi
    1299:	89 d7                	mov    edi,edx
    129b:	56                   	push   esi
    129c:	89 c6                	mov    esi,eax
    129e:	53                   	push   ebx
    129f:	83 ec 08             	sub    esp,0x8
    12a2:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
    12a5:	e8 7b fe ff ff       	call   1125 <may_create>
    12aa:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
    12ad:	85 c0                	test   eax,eax
    12af:	89 c3                	mov    ebx,eax
    12b1:	75 5f                	jne    1312 <vfs_mkdir+0x7d>
    12b3:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    12b6:	83 cb ff             	or     ebx,0xffffffff
    12b9:	83 78 30 00          	cmp    DWORD PTR [eax+0x30],0x0
    12bd:	74 53                	je     1312 <vfs_mkdir+0x7d>
    12bf:	81 e1 ff 03 00 00    	and    ecx,0x3ff
    12c5:	89 fa                	mov    edx,edi
    12c7:	89 f0                	mov    eax,esi
    12c9:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    12cc:	e8 fc ff ff ff       	call   12cd <vfs_mkdir+0x38>
    12d1:	85 c0                	test   eax,eax
    12d3:	89 c3                	mov    ebx,eax
    12d5:	75 3b                	jne    1312 <vfs_mkdir+0x7d>
    12d7:	8b 5e 0c             	mov    ebx,DWORD PTR [esi+0xc]
    12da:	89 fa                	mov    edx,edi
    12dc:	89 f0                	mov    eax,esi
    12de:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    12e1:	ff 53 30             	call   DWORD PTR [ebx+0x30]
    12e4:	85 c0                	test   eax,eax
    12e6:	89 c3                	mov    ebx,eax
    12e8:	75 28                	jne    1312 <vfs_mkdir+0x7d>
    12ea:	8b 4f 20             	mov    ecx,DWORD PTR [edi+0x20]
    12ed:	89 f2                	mov    edx,esi
    12ef:	89 f8                	mov    eax,edi
    12f1:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
    12f4:	e8 3b fb ff ff       	call   e34 <audit_inode_child>
    12f9:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
    12fc:	ba 00 01 00 40       	mov    edx,0x40000100
    1301:	89 f0                	mov    eax,esi
    1303:	6a 00                	push   0x0
    1305:	ff 77 1c             	push   DWORD PTR [edi+0x1c]
    1308:	6a 02                	push   0x2
    130a:	e8 fc ff ff ff       	call   130b <vfs_mkdir+0x76>
    130f:	83 c4 0c             	add    esp,0xc
    1312:	8d 65 f4             	lea    esp,[ebp-0xc]
    1315:	89 d8                	mov    eax,ebx
    1317:	5b                   	pop    ebx
    1318:	5e                   	pop    esi
    1319:	5f                   	pop    edi
    131a:	5d                   	pop    ebp
    131b:	c3                   	ret    

0000131c <vfs_mknod>:
    131c:	55                   	push   ebp
    131d:	89 e5                	mov    ebp,esp
    131f:	57                   	push   edi
    1320:	89 cf                	mov    edi,ecx
    1322:	56                   	push   esi
    1323:	89 c6                	mov    esi,eax
    1325:	53                   	push   ebx
    1326:	83 ec 04             	sub    esp,0x4
    1329:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
    132c:	e8 f4 fd ff ff       	call   1125 <may_create>
    1331:	85 c0                	test   eax,eax
    1333:	89 c3                	mov    ebx,eax
    1335:	75 78                	jne    13af <vfs_mknod+0x93>
    1337:	89 f8                	mov    eax,edi
    1339:	25 00 f0 00 00       	and    eax,0xf000
    133e:	3d 00 60 00 00       	cmp    eax,0x6000
    1343:	74 07                	je     134c <vfs_mknod+0x30>
    1345:	3d 00 20 00 00       	cmp    eax,0x2000
    134a:	75 0e                	jne    135a <vfs_mknod+0x3e>
    134c:	b8 1b 00 00 00       	mov    eax,0x1b
    1351:	e8 fc ff ff ff       	call   1352 <vfs_mknod+0x36>
    1356:	85 c0                	test   eax,eax
    1358:	74 52                	je     13ac <vfs_mknod+0x90>
    135a:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    135d:	83 78 38 00          	cmp    DWORD PTR [eax+0x38],0x0
    1361:	74 49                	je     13ac <vfs_mknod+0x90>
    1363:	8b 55 08             	mov    edx,DWORD PTR [ebp+0x8]
    1366:	89 f8                	mov    eax,edi
    1368:	e8 fc ff ff ff       	call   1369 <vfs_mknod+0x4d>
    136d:	85 c0                	test   eax,eax
    136f:	89 c3                	mov    ebx,eax
    1371:	75 3c                	jne    13af <vfs_mknod+0x93>
    1373:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    1376:	89 f9                	mov    ecx,edi
    1378:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    137b:	89 f0                	mov    eax,esi
    137d:	e8 fc ff ff ff       	call   137e <vfs_mknod+0x62>
    1382:	89 c3                	mov    ebx,eax
    1384:	85 db                	test   ebx,ebx
    1386:	58                   	pop    eax
    1387:	75 26                	jne    13af <vfs_mknod+0x93>
    1389:	8b 5e 0c             	mov    ebx,DWORD PTR [esi+0xc]
    138c:	89 f9                	mov    ecx,edi
    138e:	89 f0                	mov    eax,esi
    1390:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    1393:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1396:	ff 53 38             	call   DWORD PTR [ebx+0x38]
    1399:	59                   	pop    ecx
    139a:	85 c0                	test   eax,eax
    139c:	89 c3                	mov    ebx,eax
    139e:	75 0f                	jne    13af <vfs_mknod+0x93>
    13a0:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    13a3:	89 f0                	mov    eax,esi
    13a5:	e8 5e fb ff ff       	call   f08 <fsnotify_create>
    13aa:	eb 03                	jmp    13af <vfs_mknod+0x93>
    13ac:	83 cb ff             	or     ebx,0xffffffff
    13af:	8d 65 f4             	lea    esp,[ebp-0xc]
    13b2:	89 d8                	mov    eax,ebx
    13b4:	5b                   	pop    ebx
    13b5:	5e                   	pop    esi
    13b6:	5f                   	pop    edi
    13b7:	5d                   	pop    ebp
    13b8:	c3                   	ret    

000013b9 <vfs_create>:
    13b9:	55                   	push   ebp
    13ba:	89 e5                	mov    ebp,esp
    13bc:	57                   	push   edi
    13bd:	89 cf                	mov    edi,ecx
    13bf:	56                   	push   esi
    13c0:	89 c6                	mov    esi,eax
    13c2:	53                   	push   ebx
    13c3:	83 ec 04             	sub    esp,0x4
    13c6:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
    13c9:	e8 57 fd ff ff       	call   1125 <may_create>
    13ce:	85 c0                	test   eax,eax
    13d0:	89 c3                	mov    ebx,eax
    13d2:	75 4d                	jne    1421 <vfs_create+0x68>
    13d4:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    13d7:	bb f3 ff ff ff       	mov    ebx,0xfffffff3
    13dc:	83 78 20 00          	cmp    DWORD PTR [eax+0x20],0x0
    13e0:	74 3f                	je     1421 <vfs_create+0x68>
    13e2:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    13e5:	81 e7 ff 0f 00 00    	and    edi,0xfff
    13eb:	89 f0                	mov    eax,esi
    13ed:	81 cf 00 80 00 00    	or     edi,0x8000
    13f3:	89 f9                	mov    ecx,edi
    13f5:	e8 fc ff ff ff       	call   13f6 <vfs_create+0x3d>
    13fa:	85 c0                	test   eax,eax
    13fc:	89 c3                	mov    ebx,eax
    13fe:	75 21                	jne    1421 <vfs_create+0x68>
    1400:	8b 5e 0c             	mov    ebx,DWORD PTR [esi+0xc]
    1403:	89 f9                	mov    ecx,edi
    1405:	89 f0                	mov    eax,esi
    1407:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    140a:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    140d:	ff 53 20             	call   DWORD PTR [ebx+0x20]
    1410:	5a                   	pop    edx
    1411:	85 c0                	test   eax,eax
    1413:	89 c3                	mov    ebx,eax
    1415:	75 0a                	jne    1421 <vfs_create+0x68>
    1417:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    141a:	89 f0                	mov    eax,esi
    141c:	e8 e7 fa ff ff       	call   f08 <fsnotify_create>
    1421:	8d 65 f4             	lea    esp,[ebp-0xc]
    1424:	89 d8                	mov    eax,ebx
    1426:	5b                   	pop    ebx
    1427:	5e                   	pop    esi
    1428:	5f                   	pop    edi
    1429:	5d                   	pop    ebp
    142a:	c3                   	ret    

0000142b <may_delete>:
    142b:	55                   	push   ebp
    142c:	89 e5                	mov    ebp,esp
    142e:	57                   	push   edi
    142f:	89 cf                	mov    edi,ecx
    1431:	56                   	push   esi
    1432:	53                   	push   ebx
    1433:	89 d3                	mov    ebx,edx
    1435:	83 ec 04             	sub    esp,0x4
    1438:	83 7a 20 00          	cmp    DWORD PTR [edx+0x20],0x0
    143c:	0f 84 ba 00 00 00    	je     14fc <may_delete+0xd1>
    1442:	8b 52 10             	mov    edx,DWORD PTR [edx+0x10]
    1445:	8b 72 20             	mov    esi,DWORD PTR [edx+0x20]
    1448:	39 c6                	cmp    esi,eax
    144a:	74 04                	je     1450 <may_delete+0x25>
    144c:	0f 0b                	ud2    
    144e:	eb fe                	jmp    144e <may_delete+0x23>
    1450:	89 f2                	mov    edx,esi
    1452:	89 d8                	mov    eax,ebx
    1454:	e8 db f9 ff ff       	call   e34 <audit_inode_child>
    1459:	ba 03 00 00 00       	mov    edx,0x3
    145e:	89 f0                	mov    eax,esi
    1460:	e8 fc ff ff ff       	call   1461 <may_delete+0x36>
    1465:	85 c0                	test   eax,eax
    1467:	89 c2                	mov    edx,eax
    1469:	0f 85 9e 00 00 00    	jne    150d <may_delete+0xe2>
    146f:	f6 46 18 04          	test   BYTE PTR [esi+0x18],0x4
    1473:	0f 85 8a 00 00 00    	jne    1503 <may_delete+0xd8>
    1479:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    147f:	8b 80 ec 01 00 00    	mov    eax,DWORD PTR [eax+0x1ec]
    1485:	f6 46 01 02          	test   BYTE PTR [esi+0x1],0x2
    1489:	8b 4b 20             	mov    ecx,DWORD PTR [ebx+0x20]
    148c:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    148f:	74 1e                	je     14af <may_delete+0x84>
    1491:	39 41 04             	cmp    DWORD PTR [ecx+0x4],eax
    1494:	74 19                	je     14af <may_delete+0x84>
    1496:	39 46 04             	cmp    DWORD PTR [esi+0x4],eax
    1499:	74 14                	je     14af <may_delete+0x84>
    149b:	b8 03 00 00 00       	mov    eax,0x3
    14a0:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
    14a3:	e8 fc ff ff ff       	call   14a4 <may_delete+0x79>
    14a8:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    14ab:	85 c0                	test   eax,eax
    14ad:	74 54                	je     1503 <may_delete+0xd8>
    14af:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    14b2:	f7 40 18 0c 01 00 00 	test   DWORD PTR [eax+0x18],0x10c
    14b9:	75 48                	jne    1503 <may_delete+0xd8>
    14bb:	85 ff                	test   edi,edi
    14bd:	0f b7 00             	movzx  eax,WORD PTR [eax]
    14c0:	74 1a                	je     14dc <may_delete+0xb1>
    14c2:	25 00 f0 00 00       	and    eax,0xf000
    14c7:	3d 00 40 00 00       	cmp    eax,0x4000
    14cc:	74 07                	je     14d5 <may_delete+0xaa>
    14ce:	ba ec ff ff ff       	mov    edx,0xffffffec
    14d3:	eb 38                	jmp    150d <may_delete+0xe2>
    14d5:	3b 5b 10             	cmp    ebx,DWORD PTR [ebx+0x10]
    14d8:	74 2e                	je     1508 <may_delete+0xdd>
    14da:	eb 13                	jmp    14ef <may_delete+0xc4>
    14dc:	25 00 f0 00 00       	and    eax,0xf000
    14e1:	3d 00 40 00 00       	cmp    eax,0x4000
    14e6:	75 07                	jne    14ef <may_delete+0xc4>
    14e8:	ba eb ff ff ff       	mov    edx,0xffffffeb
    14ed:	eb 1e                	jmp    150d <may_delete+0xe2>
    14ef:	f6 46 18 10          	test   BYTE PTR [esi+0x18],0x10
    14f3:	75 07                	jne    14fc <may_delete+0xd1>
    14f5:	f6 03 02             	test   BYTE PTR [ebx],0x2
    14f8:	74 13                	je     150d <may_delete+0xe2>
    14fa:	eb 0c                	jmp    1508 <may_delete+0xdd>
    14fc:	ba fe ff ff ff       	mov    edx,0xfffffffe
    1501:	eb 0a                	jmp    150d <may_delete+0xe2>
    1503:	83 ca ff             	or     edx,0xffffffff
    1506:	eb 05                	jmp    150d <may_delete+0xe2>
    1508:	ba f0 ff ff ff       	mov    edx,0xfffffff0
    150d:	59                   	pop    ecx
    150e:	89 d0                	mov    eax,edx
    1510:	5b                   	pop    ebx
    1511:	5e                   	pop    esi
    1512:	5f                   	pop    edi
    1513:	5d                   	pop    ebp
    1514:	c3                   	ret    

00001515 <vfs_unlink>:
    1515:	55                   	push   ebp
    1516:	31 c9                	xor    ecx,ecx
    1518:	89 e5                	mov    ebp,esp
    151a:	57                   	push   edi
    151b:	89 c7                	mov    edi,eax
    151d:	56                   	push   esi
    151e:	53                   	push   ebx
    151f:	89 d3                	mov    ebx,edx
    1521:	e8 05 ff ff ff       	call   142b <may_delete>
    1526:	85 c0                	test   eax,eax
    1528:	89 c6                	mov    esi,eax
    152a:	0f 85 85 00 00 00    	jne    15b5 <vfs_unlink+0xa0>
    1530:	8b 47 0c             	mov    eax,DWORD PTR [edi+0xc]
    1533:	83 ce ff             	or     esi,0xffffffff
    1536:	83 78 28 00          	cmp    DWORD PTR [eax+0x28],0x0
    153a:	74 79                	je     15b5 <vfs_unlink+0xa0>
    153c:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    153f:	66 be f0 ff          	mov    si,0xfff0
    1543:	83 c0 1c             	add    eax,0x1c
    1546:	e8 fc ff ff ff       	call   1547 <vfs_unlink+0x32>
    154b:	8b 03                	mov    eax,DWORD PTR [ebx]
    154d:	f6 c4 04             	test   ah,0x4
    1550:	75 30                	jne    1582 <vfs_unlink+0x6d>
    1552:	89 da                	mov    edx,ebx
    1554:	89 f8                	mov    eax,edi
    1556:	e8 fc ff ff ff       	call   1557 <vfs_unlink+0x42>
    155b:	85 c0                	test   eax,eax
    155d:	89 c6                	mov    esi,eax
    155f:	75 21                	jne    1582 <vfs_unlink+0x6d>
    1561:	8b 4f 0c             	mov    ecx,DWORD PTR [edi+0xc]
    1564:	89 da                	mov    edx,ebx
    1566:	89 f8                	mov    eax,edi
    1568:	ff 51 28             	call   DWORD PTR [ecx+0x28]
    156b:	85 c0                	test   eax,eax
    156d:	89 c6                	mov    esi,eax
    156f:	75 11                	jne    1582 <vfs_unlink+0x6d>
    1571:	8d 43 50             	lea    eax,[ebx+0x50]
    1574:	e8 fc ff ff ff       	call   1575 <vfs_unlink+0x60>
    1579:	81 0b 00 01 00 00    	or     DWORD PTR [ebx],0x100
    157f:	fe 43 50             	inc    BYTE PTR [ebx+0x50]
    1582:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    1585:	83 c0 1c             	add    eax,0x1c
    1588:	e8 fc ff ff ff       	call   1589 <vfs_unlink+0x74>
    158d:	85 f6                	test   esi,esi
    158f:	75 24                	jne    15b5 <vfs_unlink+0xa0>
    1591:	f6 03 02             	test   BYTE PTR [ebx],0x2
    1594:	75 1f                	jne    15b5 <vfs_unlink+0xa0>
    1596:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    1599:	ba 04 00 00 00       	mov    edx,0x4
    159e:	6a 00                	push   0x0
    15a0:	6a 00                	push   0x0
    15a2:	6a 02                	push   0x2
    15a4:	89 c1                	mov    ecx,eax
    15a6:	e8 fc ff ff ff       	call   15a7 <vfs_unlink+0x92>
    15ab:	89 d8                	mov    eax,ebx
    15ad:	e8 fc ff ff ff       	call   15ae <vfs_unlink+0x99>
    15b2:	83 c4 0c             	add    esp,0xc
    15b5:	8d 65 f4             	lea    esp,[ebp-0xc]
    15b8:	89 f0                	mov    eax,esi
    15ba:	5b                   	pop    ebx
    15bb:	5e                   	pop    esi
    15bc:	5f                   	pop    edi
    15bd:	5d                   	pop    ebp
    15be:	c3                   	ret    

000015bf <vfs_rmdir>:
    15bf:	55                   	push   ebp
    15c0:	b9 01 00 00 00       	mov    ecx,0x1
    15c5:	89 e5                	mov    ebp,esp
    15c7:	57                   	push   edi
    15c8:	56                   	push   esi
    15c9:	89 c6                	mov    esi,eax
    15cb:	53                   	push   ebx
    15cc:	89 d3                	mov    ebx,edx
    15ce:	e8 58 fe ff ff       	call   142b <may_delete>
    15d3:	85 c0                	test   eax,eax
    15d5:	89 c7                	mov    edi,eax
    15d7:	75 7d                	jne    1656 <vfs_rmdir+0x97>
    15d9:	8b 46 0c             	mov    eax,DWORD PTR [esi+0xc]
    15dc:	83 cf ff             	or     edi,0xffffffff
    15df:	83 78 34 00          	cmp    DWORD PTR [eax+0x34],0x0
    15e3:	74 71                	je     1656 <vfs_rmdir+0x97>
    15e5:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    15e8:	66 bf f0 ff          	mov    di,0xfff0
    15ec:	83 c0 1c             	add    eax,0x1c
    15ef:	e8 fc ff ff ff       	call   15f0 <vfs_rmdir+0x31>
    15f4:	89 d8                	mov    eax,ebx
    15f6:	e8 fc ff ff ff       	call   15f7 <vfs_rmdir+0x38>
    15fb:	8b 03                	mov    eax,DWORD PTR [ebx]
    15fd:	f6 c4 04             	test   ah,0x4
    1600:	75 37                	jne    1639 <vfs_rmdir+0x7a>
    1602:	89 da                	mov    edx,ebx
    1604:	89 f0                	mov    eax,esi
    1606:	e8 fc ff ff ff       	call   1607 <vfs_rmdir+0x48>
    160b:	85 c0                	test   eax,eax
    160d:	89 c7                	mov    edi,eax
    160f:	75 28                	jne    1639 <vfs_rmdir+0x7a>
    1611:	8b 4e 0c             	mov    ecx,DWORD PTR [esi+0xc]
    1614:	89 da                	mov    edx,ebx
    1616:	89 f0                	mov    eax,esi
    1618:	ff 51 34             	call   DWORD PTR [ecx+0x34]
    161b:	85 c0                	test   eax,eax
    161d:	89 c7                	mov    edi,eax
    161f:	75 18                	jne    1639 <vfs_rmdir+0x7a>
    1621:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    1624:	83 48 18 10          	or     DWORD PTR [eax+0x18],0x10
    1628:	8d 43 50             	lea    eax,[ebx+0x50]
    162b:	e8 fc ff ff ff       	call   162c <vfs_rmdir+0x6d>
    1630:	81 0b 00 01 00 00    	or     DWORD PTR [ebx],0x100
    1636:	fe 43 50             	inc    BYTE PTR [ebx+0x50]
    1639:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    163c:	83 c0 1c             	add    eax,0x1c
    163f:	e8 fc ff ff ff       	call   1640 <vfs_rmdir+0x81>
    1644:	85 ff                	test   edi,edi
    1646:	75 07                	jne    164f <vfs_rmdir+0x90>
    1648:	89 d8                	mov    eax,ebx
    164a:	e8 fc ff ff ff       	call   164b <vfs_rmdir+0x8c>
    164f:	89 d8                	mov    eax,ebx
    1651:	e8 fc ff ff ff       	call   1652 <vfs_rmdir+0x93>
    1656:	89 f8                	mov    eax,edi
    1658:	5b                   	pop    ebx
    1659:	5e                   	pop    esi
    165a:	5f                   	pop    edi
    165b:	5d                   	pop    ebp
    165c:	c3                   	ret    

0000165d <vfs_rename_dir>:
    165d:	55                   	push   ebp
    165e:	89 e5                	mov    ebp,esp
    1660:	57                   	push   edi
    1661:	56                   	push   esi
    1662:	53                   	push   ebx
    1663:	83 ec 0c             	sub    esp,0xc
    1666:	39 c1                	cmp    ecx,eax
    1668:	8b 75 08             	mov    esi,DWORD PTR [ebp+0x8]
    166b:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    166e:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
    1671:	89 4d e8             	mov    DWORD PTR [ebp-0x18],ecx
    1674:	74 17                	je     168d <vfs_rename_dir+0x30>
    1676:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1679:	ba 02 00 00 00       	mov    edx,0x2
    167e:	e8 fc ff ff ff       	call   167f <vfs_rename_dir+0x22>
    1683:	85 c0                	test   eax,eax
    1685:	89 c3                	mov    ebx,eax
    1687:	0f 85 b5 00 00 00    	jne    1742 <vfs_rename_dir+0xe5>
    168d:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    1690:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
    1693:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    1696:	56                   	push   esi
    1697:	e8 fc ff ff ff       	call   1698 <vfs_rename_dir+0x3b>
    169c:	5a                   	pop    edx
    169d:	85 c0                	test   eax,eax
    169f:	89 c3                	mov    ebx,eax
    16a1:	0f 85 9b 00 00 00    	jne    1742 <vfs_rename_dir+0xe5>
    16a7:	8b 7e 20             	mov    edi,DWORD PTR [esi+0x20]
    16aa:	85 ff                	test   edi,edi
    16ac:	74 08                	je     16b6 <vfs_rename_dir+0x59>
    16ae:	8d 47 1c             	lea    eax,[edi+0x1c]
    16b1:	e8 fc ff ff ff       	call   16b2 <vfs_rename_dir+0x55>
    16b6:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    16b9:	8b 02                	mov    eax,DWORD PTR [edx]
    16bb:	f6 c4 04             	test   ah,0x4
    16be:	75 27                	jne    16e7 <vfs_rename_dir+0x8a>
    16c0:	8b 06                	mov    eax,DWORD PTR [esi]
    16c2:	f6 c4 04             	test   ah,0x4
    16c5:	75 20                	jne    16e7 <vfs_rename_dir+0x8a>
    16c7:	85 ff                	test   edi,edi
    16c9:	74 07                	je     16d2 <vfs_rename_dir+0x75>
    16cb:	89 f0                	mov    eax,esi
    16cd:	e8 fc ff ff ff       	call   16ce <vfs_rename_dir+0x71>
    16d2:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    16d5:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
    16d8:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    16db:	8b 58 0c             	mov    ebx,DWORD PTR [eax+0xc]
    16de:	56                   	push   esi
    16df:	ff 53 3c             	call   DWORD PTR [ebx+0x3c]
    16e2:	89 c3                	mov    ebx,eax
    16e4:	58                   	pop    eax
    16e5:	eb 05                	jmp    16ec <vfs_rename_dir+0x8f>
    16e7:	bb f0 ff ff ff       	mov    ebx,0xfffffff0
    16ec:	85 ff                	test   edi,edi
    16ee:	74 34                	je     1724 <vfs_rename_dir+0xc7>
    16f0:	85 db                	test   ebx,ebx
    16f2:	75 15                	jne    1709 <vfs_rename_dir+0xac>
    16f4:	83 4f 18 10          	or     DWORD PTR [edi+0x18],0x10
    16f8:	8d 46 50             	lea    eax,[esi+0x50]
    16fb:	e8 fc ff ff ff       	call   16fc <vfs_rename_dir+0x9f>
    1700:	81 0e 00 01 00 00    	or     DWORD PTR [esi],0x100
    1706:	fe 46 50             	inc    BYTE PTR [esi+0x50]
    1709:	8d 47 1c             	lea    eax,[edi+0x1c]
    170c:	e8 fc ff ff ff       	call   170d <vfs_rename_dir+0xb0>
    1711:	f6 06 10             	test   BYTE PTR [esi],0x10
    1714:	74 07                	je     171d <vfs_rename_dir+0xc0>
    1716:	89 f0                	mov    eax,esi
    1718:	e8 fc ff ff ff       	call   1719 <vfs_rename_dir+0xbc>
    171d:	89 f0                	mov    eax,esi
    171f:	e8 fc ff ff ff       	call   1720 <vfs_rename_dir+0xc3>
    1724:	85 db                	test   ebx,ebx
    1726:	75 1a                	jne    1742 <vfs_rename_dir+0xe5>
    1728:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    172b:	8b 42 10             	mov    eax,DWORD PTR [edx+0x10]
    172e:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    1731:	66 83 78 04 00       	cmp    WORD PTR [eax+0x4],0x0
    1736:	78 0a                	js     1742 <vfs_rename_dir+0xe5>
    1738:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    173b:	89 f2                	mov    edx,esi
    173d:	e8 fc ff ff ff       	call   173e <vfs_rename_dir+0xe1>
    1742:	8d 65 f4             	lea    esp,[ebp-0xc]
    1745:	89 d8                	mov    eax,ebx
    1747:	5b                   	pop    ebx
    1748:	5e                   	pop    esi
    1749:	5f                   	pop    edi
    174a:	5d                   	pop    ebp
    174b:	c3                   	ret    

0000174c <vfs_rename>:
    174c:	55                   	push   ebp
    174d:	89 e5                	mov    ebp,esp
    174f:	57                   	push   edi
    1750:	56                   	push   esi
    1751:	31 f6                	xor    esi,esi
    1753:	53                   	push   ebx
    1754:	89 d3                	mov    ebx,edx
    1756:	83 ec 20             	sub    esp,0x20
    1759:	8b 7d 08             	mov    edi,DWORD PTR [ebp+0x8]
    175c:	89 45 ec             	mov    DWORD PTR [ebp-0x14],eax
    175f:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    1762:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1765:	3b 47 20             	cmp    eax,DWORD PTR [edi+0x20]
    1768:	8b 10                	mov    edx,DWORD PTR [eax]
    176a:	0f 84 60 01 00 00    	je     18d0 <vfs_rename+0x184>
    1770:	81 e2 00 f0 00 00    	and    edx,0xf000
    1776:	31 c0                	xor    eax,eax
    1778:	81 fa 00 40 00 00    	cmp    edx,0x4000
    177e:	89 da                	mov    edx,ebx
    1780:	0f 94 c0             	sete   al
    1783:	89 45 e8             	mov    DWORD PTR [ebp-0x18],eax
    1786:	89 c1                	mov    ecx,eax
    1788:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    178b:	e8 9b fc ff ff       	call   142b <may_delete>
    1790:	85 c0                	test   eax,eax
    1792:	89 c6                	mov    esi,eax
    1794:	0f 85 36 01 00 00    	jne    18d0 <vfs_rename+0x184>
    179a:	83 7f 20 00          	cmp    DWORD PTR [edi+0x20],0x0
    179e:	75 0c                	jne    17ac <vfs_rename+0x60>
    17a0:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    17a3:	89 fa                	mov    edx,edi
    17a5:	e8 7b f9 ff ff       	call   1125 <may_create>
    17aa:	eb 0d                	jmp    17b9 <vfs_rename+0x6d>
    17ac:	8b 4d e8             	mov    ecx,DWORD PTR [ebp-0x18]
    17af:	89 fa                	mov    edx,edi
    17b1:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    17b4:	e8 72 fc ff ff       	call   142b <may_delete>
    17b9:	85 c0                	test   eax,eax
    17bb:	89 c6                	mov    esi,eax
    17bd:	0f 85 0d 01 00 00    	jne    18d0 <vfs_rename+0x184>
    17c3:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    17c6:	83 ce ff             	or     esi,0xffffffff
    17c9:	8b 42 0c             	mov    eax,DWORD PTR [edx+0xc]
    17cc:	83 78 3c 00          	cmp    DWORD PTR [eax+0x3c],0x0
    17d0:	0f 84 fa 00 00 00    	je     18d0 <vfs_rename+0x184>
    17d6:	8b 43 1c             	mov    eax,DWORD PTR [ebx+0x1c]
    17d9:	ba d0 00 00 00       	mov    edx,0xd0
    17de:	e8 fc ff ff ff       	call   17df <vfs_rename+0x93>
    17e3:	83 7d e8 00          	cmp    DWORD PTR [ebp-0x18],0x0
    17e7:	89 45 d8             	mov    DWORD PTR [ebp-0x28],eax
    17ea:	74 10                	je     17fc <vfs_rename+0xb0>
    17ec:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    17ef:	89 da                	mov    edx,ebx
    17f1:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    17f4:	57                   	push   edi
    17f5:	e8 63 fe ff ff       	call   165d <vfs_rename_dir>
    17fa:	eb 0e                	jmp    180a <vfs_rename+0xbe>
    17fc:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    17ff:	89 da                	mov    edx,ebx
    1801:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    1804:	57                   	push   edi
    1805:	e8 4a f6 ff ff       	call   e54 <vfs_rename_other>
    180a:	85 c0                	test   eax,eax
    180c:	89 c6                	mov    esi,eax
    180e:	59                   	pop    ecx
    180f:	0f 85 b3 00 00 00    	jne    18c8 <vfs_rename+0x17c>
    1815:	8b 7f 20             	mov    edi,DWORD PTR [edi+0x20]
    1818:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    181b:	89 7d e4             	mov    DWORD PTR [ebp-0x1c],edi
    181e:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
    1821:	e8 fc ff ff ff       	call   1822 <vfs_rename+0xd6>
    1826:	8b 53 1c             	mov    edx,DWORD PTR [ebx+0x1c]
    1829:	c7 45 dc 80 00 00 08 	mov    DWORD PTR [ebp-0x24],0x8000080
    1830:	89 55 d4             	mov    DWORD PTR [ebp-0x2c],edx
    1833:	ba 40 00 00 18       	mov    edx,0x18000040
    1838:	89 c7                	mov    edi,eax
    183a:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    183d:	39 45 ec             	cmp    DWORD PTR [ebp-0x14],eax
    1840:	b8 40 00 00 08       	mov    eax,0x8000040
    1845:	0f 45 d0             	cmovne edx,eax
    1848:	83 7d e8 00          	cmp    DWORD PTR [ebp-0x18],0x0
    184c:	74 0d                	je     185b <vfs_rename+0x10f>
    184e:	81 ca 00 00 00 40    	or     edx,0x40000000
    1854:	c7 45 dc 80 00 00 48 	mov    DWORD PTR [ebp-0x24],0x48000080
    185b:	57                   	push   edi
    185c:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
    185f:	ff 75 d8             	push   DWORD PTR [ebp-0x28]
    1862:	89 c8                	mov    eax,ecx
    1864:	6a 02                	push   0x2
    1866:	e8 fc ff ff ff       	call   1867 <vfs_rename+0x11b>
    186b:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    186e:	8b 55 dc             	mov    edx,DWORD PTR [ebp-0x24]
    1871:	89 c8                	mov    eax,ecx
    1873:	57                   	push   edi
    1874:	ff 75 d4             	push   DWORD PTR [ebp-0x2c]
    1877:	6a 02                	push   0x2
    1879:	e8 fc ff ff ff       	call   187a <vfs_rename+0x12e>
    187e:	83 c4 18             	add    esp,0x18
    1881:	83 7d e4 00          	cmp    DWORD PTR [ebp-0x1c],0x0
    1885:	74 18                	je     189f <vfs_rename+0x153>
    1887:	8b 4d e4             	mov    ecx,DWORD PTR [ebp-0x1c]
    188a:	ba 04 00 00 00       	mov    edx,0x4
    188f:	6a 00                	push   0x0
    1891:	6a 00                	push   0x0
    1893:	6a 02                	push   0x2
    1895:	89 c8                	mov    eax,ecx
    1897:	e8 fc ff ff ff       	call   1898 <vfs_rename+0x14c>
    189c:	83 c4 0c             	add    esp,0xc
    189f:	83 7d e0 00          	cmp    DWORD PTR [ebp-0x20],0x0
    18a3:	74 19                	je     18be <vfs_rename+0x172>
    18a5:	8b 4b 20             	mov    ecx,DWORD PTR [ebx+0x20]
    18a8:	ba 00 08 00 00       	mov    edx,0x800
    18ad:	8b 45 e0             	mov    eax,DWORD PTR [ebp-0x20]
    18b0:	6a 00                	push   0x0
    18b2:	6a 00                	push   0x0
    18b4:	6a 02                	push   0x2
    18b6:	e8 fc ff ff ff       	call   18b7 <vfs_rename+0x16b>
    18bb:	83 c4 0c             	add    esp,0xc
    18be:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    18c1:	89 d8                	mov    eax,ebx
    18c3:	e8 6c f5 ff ff       	call   e34 <audit_inode_child>
    18c8:	8b 45 d8             	mov    eax,DWORD PTR [ebp-0x28]
    18cb:	e8 fc ff ff ff       	call   18cc <vfs_rename+0x180>
    18d0:	8d 65 f4             	lea    esp,[ebp-0xc]
    18d3:	89 f0                	mov    eax,esi
    18d5:	5b                   	pop    ebx
    18d6:	5e                   	pop    esi
    18d7:	5f                   	pop    edi
    18d8:	5d                   	pop    ebp
    18d9:	c3                   	ret    

000018da <may_open>:
    18da:	55                   	push   ebp
    18db:	89 e5                	mov    ebp,esp
    18dd:	57                   	push   edi
    18de:	bf fe ff ff ff       	mov    edi,0xfffffffe
    18e3:	56                   	push   esi
    18e4:	89 c6                	mov    esi,eax
    18e6:	53                   	push   ebx
    18e7:	83 ec 04             	sub    esp,0x4
    18ea:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
    18ed:	8b 58 20             	mov    ebx,DWORD PTR [eax+0x20]
    18f0:	85 db                	test   ebx,ebx
    18f2:	0f 84 cf 00 00 00    	je     19c7 <may_open+0xed>
    18f8:	0f b7 03             	movzx  eax,WORD PTR [ebx]
    18fb:	25 00 f0 00 00       	and    eax,0xf000
    1900:	3d 00 40 00 00       	cmp    eax,0x4000
    1905:	74 30                	je     1937 <may_open+0x5d>
    1907:	7f 0e                	jg     1917 <may_open+0x3d>
    1909:	3d 00 10 00 00       	cmp    eax,0x1000
    190e:	74 43                	je     1953 <may_open+0x79>
    1910:	3d 00 20 00 00       	cmp    eax,0x2000
    1915:	eb 1c                	jmp    1933 <may_open+0x59>
    1917:	3d 00 a0 00 00       	cmp    eax,0xa000
    191c:	bf d8 ff ff ff       	mov    edi,0xffffffd8
    1921:	0f 84 a0 00 00 00    	je     19c7 <may_open+0xed>
    1927:	3d 00 c0 00 00       	cmp    eax,0xc000
    192c:	74 25                	je     1953 <may_open+0x79>
    192e:	3d 00 60 00 00       	cmp    eax,0x6000
    1933:	75 21                	jne    1956 <may_open+0x7c>
    1935:	eb 0f                	jmp    1946 <may_open+0x6c>
    1937:	f6 c2 02             	test   dl,0x2
    193a:	bf eb ff ff ff       	mov    edi,0xffffffeb
    193f:	74 15                	je     1956 <may_open+0x7c>
    1941:	e9 81 00 00 00       	jmp    19c7 <may_open+0xed>
    1946:	8b 06                	mov    eax,DWORD PTR [esi]
    1948:	bf f3 ff ff ff       	mov    edi,0xfffffff3
    194d:	f6 40 28 02          	test   BYTE PTR [eax+0x28],0x2
    1951:	75 74                	jne    19c7 <may_open+0xed>
    1953:	80 e5 fd             	and    ch,0xfd
    1956:	89 d8                	mov    eax,ebx
    1958:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    195b:	e8 fc ff ff ff       	call   195c <may_open+0x82>
    1960:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    1963:	85 c0                	test   eax,eax
    1965:	89 c7                	mov    edi,eax
    1967:	75 5e                	jne    19c7 <may_open+0xed>
    1969:	f6 43 18 04          	test   BYTE PTR [ebx+0x18],0x4
    196d:	74 0f                	je     197e <may_open+0xa4>
    196f:	f6 c1 03             	test   cl,0x3
    1972:	74 05                	je     1979 <may_open+0x9f>
    1974:	f6 c5 04             	test   ch,0x4
    1977:	74 4b                	je     19c4 <may_open+0xea>
    1979:	f6 c5 02             	test   ch,0x2
    197c:	75 46                	jne    19c4 <may_open+0xea>
    197e:	f7 c1 00 00 04 00    	test   ecx,0x40000
    1984:	74 28                	je     19ae <may_open+0xd4>
    1986:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    198c:	8b 80 ec 01 00 00    	mov    eax,DWORD PTR [eax+0x1ec]
    1992:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    1995:	3b 43 04             	cmp    eax,DWORD PTR [ebx+0x4]
    1998:	74 14                	je     19ae <may_open+0xd4>
    199a:	b8 03 00 00 00       	mov    eax,0x3
    199f:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    19a2:	e8 fc ff ff ff       	call   19a3 <may_open+0xc9>
    19a7:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    19aa:	85 c0                	test   eax,eax
    19ac:	74 16                	je     19c4 <may_open+0xea>
    19ae:	83 bb c0 00 00 00 00 	cmp    DWORD PTR [ebx+0xc0],0x0
    19b5:	74 10                	je     19c7 <may_open+0xed>
    19b7:	89 ca                	mov    edx,ecx
    19b9:	89 d8                	mov    eax,ebx
    19bb:	e8 fc ff ff ff       	call   19bc <may_open+0xe2>
    19c0:	89 c7                	mov    edi,eax
    19c2:	eb 03                	jmp    19c7 <may_open+0xed>
    19c4:	83 cf ff             	or     edi,0xffffffff
    19c7:	5b                   	pop    ebx
    19c8:	89 f8                	mov    eax,edi
    19ca:	5b                   	pop    ebx
    19cb:	5e                   	pop    esi
    19cc:	5f                   	pop    edi
    19cd:	5d                   	pop    ebp
    19ce:	c3                   	ret    

000019cf <finish_open>:
    19cf:	55                   	push   ebp
    19d0:	89 e5                	mov    ebp,esp
    19d2:	57                   	push   edi
    19d3:	56                   	push   esi
    19d4:	53                   	push   ebx
    19d5:	89 c3                	mov    ebx,eax
    19d7:	83 ec 08             	sub    esp,0x8
    19da:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    19dd:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
    19e0:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    19e3:	0f b7 00             	movzx  eax,WORD PTR [eax]
    19e6:	25 00 f0 00 00       	and    eax,0xf000
    19eb:	3d 00 60 00 00       	cmp    eax,0x6000
    19f0:	74 38                	je     1a2a <finish_open+0x5b>
    19f2:	3d 00 20 00 00       	cmp    eax,0x2000
    19f7:	74 31                	je     1a2a <finish_open+0x5b>
    19f9:	3d 00 10 00 00       	cmp    eax,0x1000
    19fe:	74 2a                	je     1a2a <finish_open+0x5b>
    1a00:	3d 00 c0 00 00       	cmp    eax,0xc000
    1a05:	74 23                	je     1a2a <finish_open+0x5b>
    1a07:	89 d6                	mov    esi,edx
    1a09:	81 e6 00 02 00 00    	and    esi,0x200
    1a0f:	74 1b                	je     1a2c <finish_open+0x5d>
    1a11:	8b 03                	mov    eax,DWORD PTR [ebx]
    1a13:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
    1a16:	e8 fc ff ff ff       	call   1a17 <finish_open+0x48>
    1a1b:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    1a1e:	85 c0                	test   eax,eax
    1a20:	89 c7                	mov    edi,eax
    1a22:	0f 85 cb 00 00 00    	jne    1af3 <finish_open+0x124>
    1a28:	eb 02                	jmp    1a2c <finish_open+0x5d>
    1a2a:	31 f6                	xor    esi,esi
    1a2c:	89 d1                	mov    ecx,edx
    1a2e:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1a31:	89 d8                	mov    eax,ebx
    1a33:	e8 fc ff ff ff       	call   1a34 <finish_open+0x65>
    1a38:	85 c0                	test   eax,eax
    1a3a:	89 c7                	mov    edi,eax
    1a3c:	74 14                	je     1a52 <finish_open+0x83>
    1a3e:	85 f6                	test   esi,esi
    1a40:	0f 84 ad 00 00 00    	je     1af3 <finish_open+0x124>
    1a46:	8b 03                	mov    eax,DWORD PTR [ebx]
    1a48:	e8 fc ff ff ff       	call   1a49 <finish_open+0x7a>
    1a4d:	e9 a1 00 00 00       	jmp    1af3 <finish_open+0x124>
    1a52:	89 d8                	mov    eax,ebx
    1a54:	e8 fc ff ff ff       	call   1a55 <finish_open+0x86>
    1a59:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    1a5e:	89 c7                	mov    edi,eax
    1a60:	0f 87 80 00 00 00    	ja     1ae6 <finish_open+0x117>
    1a66:	85 f6                	test   esi,esi
    1a68:	0f 84 95 00 00 00    	je     1b03 <finish_open+0x134>
    1a6e:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1a71:	8b 70 20             	mov    esi,DWORD PTR [eax+0x20]
    1a74:	89 f0                	mov    eax,esi
    1a76:	e8 fc ff ff ff       	call   1a77 <finish_open+0xa8>
    1a7b:	85 c0                	test   eax,eax
    1a7d:	89 c2                	mov    edx,eax
    1a7f:	75 54                	jne    1ad5 <finish_open+0x106>
    1a81:	8b 46 10             	mov    eax,DWORD PTR [esi+0x10]
    1a84:	f6 40 30 40          	test   BYTE PTR [eax+0x30],0x40
    1a88:	74 1c                	je     1aa6 <finish_open+0xd7>
    1a8a:	0f b7 06             	movzx  eax,WORD PTR [esi]
    1a8d:	25 08 04 00 00       	and    eax,0x408
    1a92:	3d 00 04 00 00       	cmp    eax,0x400
    1a97:	75 0d                	jne    1aa6 <finish_open+0xd7>
    1a99:	89 f0                	mov    eax,esi
    1a9b:	e8 fc ff ff ff       	call   1a9c <finish_open+0xcd>
    1aa0:	85 c0                	test   eax,eax
    1aa2:	89 c2                	mov    edx,eax
    1aa4:	75 24                	jne    1aca <finish_open+0xfb>
    1aa6:	89 d8                	mov    eax,ebx
    1aa8:	e8 fc ff ff ff       	call   1aa9 <finish_open+0xda>
    1aad:	85 c0                	test   eax,eax
    1aaf:	89 c2                	mov    edx,eax
    1ab1:	75 17                	jne    1aca <finish_open+0xfb>
    1ab3:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1ab6:	31 d2                	xor    edx,edx
    1ab8:	31 c9                	xor    ecx,ecx
    1aba:	6a 00                	push   0x0
    1abc:	68 60 80 00 00       	push   0x8060
    1ac1:	e8 fc ff ff ff       	call   1ac2 <finish_open+0xf3>
    1ac6:	89 c2                	mov    edx,eax
    1ac8:	58                   	pop    eax
    1ac9:	59                   	pop    ecx
    1aca:	f0 ff 8e 3c 01 00 00 	lock dec DWORD PTR [esi+0x13c]
    1ad1:	85 d2                	test   edx,edx
    1ad3:	74 15                	je     1aea <finish_open+0x11b>
    1ad5:	89 f8                	mov    eax,edi
    1ad7:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
    1ada:	e8 fc ff ff ff       	call   1adb <finish_open+0x10c>
    1adf:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    1ae2:	89 d7                	mov    edi,edx
    1ae4:	eb 04                	jmp    1aea <finish_open+0x11b>
    1ae6:	85 f6                	test   esi,esi
    1ae8:	74 19                	je     1b03 <finish_open+0x134>
    1aea:	8b 03                	mov    eax,DWORD PTR [ebx]
    1aec:	e8 fc ff ff ff       	call   1aed <finish_open+0x11e>
    1af1:	eb 10                	jmp    1b03 <finish_open+0x134>
    1af3:	81 7b 60 00 f0 ff ff 	cmp    DWORD PTR [ebx+0x60],0xfffff000
    1afa:	77 07                	ja     1b03 <finish_open+0x134>
    1afc:	89 d8                	mov    eax,ebx
    1afe:	e8 fc ff ff ff       	call   1aff <finish_open+0x130>
    1b03:	89 d8                	mov    eax,ebx
    1b05:	e8 fc ff ff ff       	call   1b06 <finish_open+0x137>
    1b0a:	8d 65 f4             	lea    esp,[ebp-0xc]
    1b0d:	89 f8                	mov    eax,edi
    1b0f:	5b                   	pop    ebx
    1b10:	5e                   	pop    esi
    1b11:	5f                   	pop    edi
    1b12:	5d                   	pop    ebp
    1b13:	c3                   	ret    

00001b14 <__open_namei_create>:
    1b14:	55                   	push   ebp
    1b15:	89 e5                	mov    ebp,esp
    1b17:	57                   	push   edi
    1b18:	56                   	push   esi
    1b19:	89 c6                	mov    esi,eax
    1b1b:	53                   	push   ebx
    1b1c:	89 d3                	mov    ebx,edx
    1b1e:	83 ec 08             	sub    esp,0x8
    1b21:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    1b24:	8b 78 04             	mov    edi,DWORD PTR [eax+0x4]
    1b27:	8b 47 20             	mov    eax,DWORD PTR [edi+0x20]
    1b2a:	8b 40 10             	mov    eax,DWORD PTR [eax+0x10]
    1b2d:	f6 40 32 01          	test   BYTE PTR [eax+0x32],0x1
    1b31:	75 0a                	jne    1b3d <__open_namei_create+0x29>
    1b33:	e8 fc ff ff ff       	call   1b34 <__open_namei_create+0x20>
    1b38:	f7 d0                	not    eax
    1b3a:	21 45 08             	and    DWORD PTR [ebp+0x8],eax
    1b3d:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    1b40:	89 f0                	mov    eax,esi
    1b42:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
    1b45:	6a 00                	push   0x0
    1b47:	e8 fc ff ff ff       	call   1b48 <__open_namei_create+0x34>
    1b4c:	59                   	pop    ecx
    1b4d:	85 c0                	test   eax,eax
    1b4f:	89 c2                	mov    edx,eax
    1b51:	75 12                	jne    1b65 <__open_namei_create+0x51>
    1b53:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    1b56:	8b 47 20             	mov    eax,DWORD PTR [edi+0x20]
    1b59:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
    1b5c:	56                   	push   esi
    1b5d:	e8 fc ff ff ff       	call   1b5e <__open_namei_create+0x4a>
    1b62:	89 c2                	mov    edx,eax
    1b64:	58                   	pop    eax
    1b65:	8b 47 20             	mov    eax,DWORD PTR [edi+0x20]
    1b68:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
    1b6b:	83 c0 1c             	add    eax,0x1c
    1b6e:	e8 fc ff ff ff       	call   1b6f <__open_namei_create+0x5b>
    1b73:	8b 46 04             	mov    eax,DWORD PTR [esi+0x4]
    1b76:	e8 fc ff ff ff       	call   1b77 <__open_namei_create+0x63>
    1b7b:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    1b7e:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1b81:	85 d2                	test   edx,edx
    1b83:	89 46 04             	mov    DWORD PTR [esi+0x4],eax
    1b86:	75 0f                	jne    1b97 <__open_namei_create+0x83>
    1b88:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    1b8b:	89 f0                	mov    eax,esi
    1b8d:	80 e5 fd             	and    ch,0xfd
    1b90:	e8 fc ff ff ff       	call   1b91 <__open_namei_create+0x7d>
    1b95:	89 c2                	mov    edx,eax
    1b97:	8d 65 f4             	lea    esp,[ebp-0xc]
    1b9a:	89 d0                	mov    eax,edx
    1b9c:	5b                   	pop    ebx
    1b9d:	5e                   	pop    esi
    1b9e:	5f                   	pop    edi
    1b9f:	5d                   	pop    ebp
    1ba0:	c3                   	ret    

00001ba1 <do_last>:
    1ba1:	55                   	push   ebp
    1ba2:	89 e5                	mov    ebp,esp
    1ba4:	57                   	push   edi
    1ba5:	89 d7                	mov    edi,edx
    1ba7:	56                   	push   esi
    1ba8:	53                   	push   ebx
    1ba9:	89 c3                	mov    ebx,eax
    1bab:	83 ec 08             	sub    esp,0x8
    1bae:	89 4d ec             	mov    DWORD PTR [ebp-0x14],ecx
    1bb1:	8b 40 04             	mov    eax,DWORD PTR [eax+0x4]
    1bb4:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    1bb7:	8b 43 2c             	mov    eax,DWORD PTR [ebx+0x2c]
    1bba:	83 f8 02             	cmp    eax,0x2
    1bbd:	74 23                	je     1be2 <do_last+0x41>
    1bbf:	7f 08                	jg     1bc9 <do_last+0x28>
    1bc1:	48                   	dec    eax
    1bc2:	75 51                	jne    1c15 <do_last+0x74>
    1bc4:	e9 98 01 00 00       	jmp    1d61 <do_last+0x1c0>
    1bc9:	83 f8 03             	cmp    eax,0x3
    1bcc:	74 07                	je     1bd5 <do_last+0x34>
    1bce:	83 f8 04             	cmp    eax,0x4
    1bd1:	75 42                	jne    1c15 <do_last+0x74>
    1bd3:	eb 30                	jmp    1c05 <do_last+0x64>
    1bd5:	89 d8                	mov    eax,ebx
    1bd7:	e8 73 f1 ff ff       	call   d4f <follow_dotdot>
    1bdc:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    1bdf:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
    1be2:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    1be5:	66 f7 00 00 c0       	test   WORD PTR [eax],0xc000
    1bea:	0f 84 71 01 00 00    	je     1d61 <do_last+0x1c0>
    1bf0:	8b 40 58             	mov    eax,DWORD PTR [eax+0x58]
    1bf3:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    1bf6:	f6 40 05 40          	test   BYTE PTR [eax+0x5],0x40
    1bfa:	0f 84 61 01 00 00    	je     1d61 <do_last+0x1c0>
    1c00:	e9 82 01 00 00       	jmp    1d87 <do_last+0x1e6>
    1c05:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1c08:	8b 45 10             	mov    eax,DWORD PTR [ebp+0x10]
    1c0b:	e8 04 f2 ff ff       	call   e14 <audit_inode>
    1c10:	e9 22 01 00 00       	jmp    1d37 <do_last+0x196>
    1c15:	8b 53 10             	mov    edx,DWORD PTR [ebx+0x10]
    1c18:	8b 43 0c             	mov    eax,DWORD PTR [ebx+0xc]
    1c1b:	80 3c 02 00          	cmp    BYTE PTR [edx+eax*1],0x0
    1c1f:	0f 85 3c 01 00 00    	jne    1d61 <do_last+0x1c0>
    1c25:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1c28:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1c2b:	83 c0 1c             	add    eax,0x1c
    1c2e:	e8 fc ff ff ff       	call   1c2f <do_last+0x8e>
    1c33:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    1c36:	8d 43 08             	lea    eax,[ebx+0x8]
    1c39:	89 d9                	mov    ecx,ebx
    1c3b:	e8 99 ee ff ff       	call   ad9 <__lookup_hash>
    1c40:	89 47 04             	mov    DWORD PTR [edi+0x4],eax
    1c43:	8b 13                	mov    edx,DWORD PTR [ebx]
    1c45:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    1c4a:	89 17                	mov    DWORD PTR [edi],edx
    1c4c:	76 15                	jbe    1c63 <do_last+0xc2>
    1c4e:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1c51:	89 c6                	mov    esi,eax
    1c53:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1c56:	83 c0 1c             	add    eax,0x1c
    1c59:	e8 fc ff ff ff       	call   1c5a <do_last+0xb9>
    1c5e:	e9 03 01 00 00       	jmp    1d66 <do_last+0x1c5>
    1c63:	8b 73 60             	mov    esi,DWORD PTR [ebx+0x60]
    1c66:	81 fe 00 f0 ff ff    	cmp    esi,0xfffff000
    1c6c:	0f 87 d6 00 00 00    	ja     1d48 <do_last+0x1a7>
    1c72:	83 78 20 00          	cmp    DWORD PTR [eax+0x20],0x0
    1c76:	75 48                	jne    1cc0 <do_last+0x11f>
    1c78:	8b 03                	mov    eax,DWORD PTR [ebx]
    1c7a:	e8 fc ff ff ff       	call   1c7b <do_last+0xda>
    1c7f:	85 c0                	test   eax,eax
    1c81:	89 c6                	mov    esi,eax
    1c83:	0f 85 bf 00 00 00    	jne    1d48 <do_last+0x1a7>
    1c89:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    1c8c:	89 fa                	mov    edx,edi
    1c8e:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
    1c91:	89 d8                	mov    eax,ebx
    1c93:	e8 7c fe ff ff       	call   1b14 <__open_namei_create>
    1c98:	5f                   	pop    edi
    1c99:	85 c0                	test   eax,eax
    1c9b:	89 c6                	mov    esi,eax
    1c9d:	74 0c                	je     1cab <do_last+0x10a>
    1c9f:	8b 03                	mov    eax,DWORD PTR [ebx]
    1ca1:	e8 fc ff ff ff       	call   1ca2 <do_last+0x101>
    1ca6:	e9 bb 00 00 00       	jmp    1d66 <do_last+0x1c5>
    1cab:	89 d8                	mov    eax,ebx
    1cad:	e8 fc ff ff ff       	call   1cae <do_last+0x10d>
    1cb2:	89 c6                	mov    esi,eax
    1cb4:	8b 03                	mov    eax,DWORD PTR [ebx]
    1cb6:	e8 fc ff ff ff       	call   1cb7 <do_last+0x116>
    1cbb:	e9 b6 00 00 00       	jmp    1d76 <do_last+0x1d5>
    1cc0:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1cc3:	be ef ff ff ff       	mov    esi,0xffffffef
    1cc8:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1ccb:	83 c0 1c             	add    eax,0x1c
    1cce:	e8 fc ff ff ff       	call   1ccf <do_last+0x12e>
    1cd3:	8b 57 04             	mov    edx,DWORD PTR [edi+0x4]
    1cd6:	8b 45 10             	mov    eax,DWORD PTR [ebp+0x10]
    1cd9:	e8 36 f1 ff ff       	call   e14 <audit_inode>
    1cde:	80 7d ec 00          	cmp    BYTE PTR [ebp-0x14],0x0
    1ce2:	78 72                	js     1d56 <do_last+0x1b5>
    1ce4:	89 f8                	mov    eax,edi
    1ce6:	e8 ce ea ff ff       	call   7b9 <__follow_mount>
    1ceb:	85 c0                	test   eax,eax
    1ced:	74 0d                	je     1cfc <do_last+0x15b>
    1cef:	f7 45 ec 00 00 02 00 	test   DWORD PTR [ebp-0x14],0x20000
    1cf6:	66 be d8 ff          	mov    si,0xffd8
    1cfa:	75 5a                	jne    1d56 <do_last+0x1b5>
    1cfc:	8b 47 04             	mov    eax,DWORD PTR [edi+0x4]
    1cff:	be fe ff ff ff       	mov    esi,0xfffffffe
    1d04:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1d07:	85 c0                	test   eax,eax
    1d09:	74 4b                	je     1d56 <do_last+0x1b5>
    1d0b:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    1d0e:	31 f6                	xor    esi,esi
    1d10:	83 78 04 00          	cmp    DWORD PTR [eax+0x4],0x0
    1d14:	75 67                	jne    1d7d <do_last+0x1dc>
    1d16:	89 f8                	mov    eax,edi
    1d18:	89 da                	mov    edx,ebx
    1d1a:	e8 e9 ea ff ff       	call   808 <path_to_nameidata>
    1d1f:	8b 47 04             	mov    eax,DWORD PTR [edi+0x4]
    1d22:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1d25:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    1d28:	0f b7 00             	movzx  eax,WORD PTR [eax]
    1d2b:	25 00 f0 00 00       	and    eax,0xf000
    1d30:	3d 00 40 00 00       	cmp    eax,0x4000
    1d35:	74 2a                	je     1d61 <do_last+0x1c0>
    1d37:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
    1d3a:	89 d8                	mov    eax,ebx
    1d3c:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    1d3f:	e8 8b fc ff ff       	call   19cf <finish_open>
    1d44:	89 c6                	mov    esi,eax
    1d46:	eb 35                	jmp    1d7d <do_last+0x1dc>
    1d48:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    1d4b:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    1d4e:	83 c0 1c             	add    eax,0x1c
    1d51:	e8 fc ff ff ff       	call   1d52 <do_last+0x1b1>
    1d56:	89 da                	mov    edx,ebx
    1d58:	89 f8                	mov    eax,edi
    1d5a:	e8 d9 ea ff ff       	call   838 <path_put_conditional>
    1d5f:	eb 05                	jmp    1d66 <do_last+0x1c5>
    1d61:	be eb ff ff ff       	mov    esi,0xffffffeb
    1d66:	81 7b 60 00 f0 ff ff 	cmp    DWORD PTR [ebx+0x60],0xfffff000
    1d6d:	77 07                	ja     1d76 <do_last+0x1d5>
    1d6f:	89 d8                	mov    eax,ebx
    1d71:	e8 fc ff ff ff       	call   1d72 <do_last+0x1d1>
    1d76:	89 d8                	mov    eax,ebx
    1d78:	e8 fc ff ff ff       	call   1d79 <do_last+0x1d8>
    1d7d:	8d 65 f4             	lea    esp,[ebp-0xc]
    1d80:	89 f0                	mov    eax,esi
    1d82:	5b                   	pop    ebx
    1d83:	5e                   	pop    esi
    1d84:	5f                   	pop    edi
    1d85:	5d                   	pop    ebp
    1d86:	c3                   	ret    
    1d87:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1d8a:	89 da                	mov    edx,ebx
    1d8c:	e8 02 e6 ff ff       	call   393 <d_revalidate>
    1d91:	89 c6                	mov    esi,eax
    1d93:	85 c0                	test   eax,eax
    1d95:	b8 8c ff ff ff       	mov    eax,0xffffff8c
    1d9a:	0f 44 f0             	cmove  esi,eax
    1d9d:	eb c7                	jmp    1d66 <do_last+0x1c5>

00001d9f <file_permission>:
    1d9f:	55                   	push   ebp
    1da0:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    1da3:	89 e5                	mov    ebp,esp
    1da5:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1da8:	e8 fc ff ff ff       	call   1da9 <file_permission+0xa>
    1dad:	5d                   	pop    ebp
    1dae:	c3                   	ret    

00001daf <path_init_rcu>:
    1daf:	55                   	push   ebp
    1db0:	83 c9 40             	or     ecx,0x40
    1db3:	89 e5                	mov    ebp,esp
    1db5:	57                   	push   edi
    1db6:	56                   	push   esi
    1db7:	53                   	push   ebx
    1db8:	83 ec 04             	sub    esp,0x4
    1dbb:	8b 5d 08             	mov    ebx,DWORD PTR [ebp+0x8]
    1dbe:	c7 43 2c 01 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x1
    1dc5:	89 4b 24             	mov    DWORD PTR [ebx+0x24],ecx
    1dc8:	c7 43 30 00 00 00 00 	mov    DWORD PTR [ebx+0x30],0x0
    1dcf:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    1dd6:	c7 43 1c 00 00 00 00 	mov    DWORD PTR [ebx+0x1c],0x0
    1ddd:	80 3a 2f             	cmp    BYTE PTR [edx],0x2f
    1de0:	75 4a                	jne    1e2c <path_init_rcu+0x7d>
    1de2:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    1de8:	8b b0 90 02 00 00    	mov    esi,DWORD PTR [eax+0x290]
    1dee:	e8 fc ff ff ff       	call   1def <path_init_rcu+0x40>
    1df3:	8b 46 08             	mov    eax,DWORD PTR [esi+0x8]
    1df6:	a8 01                	test   al,0x1
    1df8:	74 04                	je     1dfe <path_init_rcu+0x4f>
    1dfa:	f3 90                	pause  
    1dfc:	eb f5                	jmp    1df3 <path_init_rcu+0x44>
    1dfe:	8b 4e 18             	mov    ecx,DWORD PTR [esi+0x18]
    1e01:	8b 56 14             	mov    edx,DWORD PTR [esi+0x14]
    1e04:	89 4b 18             	mov    DWORD PTR [ebx+0x18],ecx
    1e07:	89 4b 04             	mov    DWORD PTR [ebx+0x4],ecx
    1e0a:	8b 4b 04             	mov    ecx,DWORD PTR [ebx+0x4]
    1e0d:	89 53 14             	mov    DWORD PTR [ebx+0x14],edx
    1e10:	89 13                	mov    DWORD PTR [ebx],edx
    1e12:	8b 51 04             	mov    edx,DWORD PTR [ecx+0x4]
    1e15:	f6 c2 01             	test   dl,0x1
    1e18:	74 04                	je     1e1e <path_init_rcu+0x6f>
    1e1a:	f3 90                	pause  
    1e1c:	eb f4                	jmp    1e12 <path_init_rcu+0x63>
    1e1e:	89 53 28             	mov    DWORD PTR [ebx+0x28],edx
    1e21:	39 46 08             	cmp    DWORD PTR [esi+0x8],eax
    1e24:	0f 84 ae 00 00 00    	je     1ed8 <path_init_rcu+0x129>
    1e2a:	eb c7                	jmp    1df3 <path_init_rcu+0x44>
    1e2c:	83 f8 9c             	cmp    eax,0xffffff9c
    1e2f:	75 40                	jne    1e71 <path_init_rcu+0xc2>
    1e31:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    1e37:	8b b0 90 02 00 00    	mov    esi,DWORD PTR [eax+0x290]
    1e3d:	e8 fc ff ff ff       	call   1e3e <path_init_rcu+0x8f>
    1e42:	8b 46 08             	mov    eax,DWORD PTR [esi+0x8]
    1e45:	a8 01                	test   al,0x1
    1e47:	74 04                	je     1e4d <path_init_rcu+0x9e>
    1e49:	f3 90                	pause  
    1e4b:	eb f5                	jmp    1e42 <path_init_rcu+0x93>
    1e4d:	8b 4e 20             	mov    ecx,DWORD PTR [esi+0x20]
    1e50:	8b 56 1c             	mov    edx,DWORD PTR [esi+0x1c]
    1e53:	89 4b 04             	mov    DWORD PTR [ebx+0x4],ecx
    1e56:	8b 4b 04             	mov    ecx,DWORD PTR [ebx+0x4]
    1e59:	89 13                	mov    DWORD PTR [ebx],edx
    1e5b:	8b 51 04             	mov    edx,DWORD PTR [ecx+0x4]
    1e5e:	f6 c2 01             	test   dl,0x1
    1e61:	74 04                	je     1e67 <path_init_rcu+0xb8>
    1e63:	f3 90                	pause  
    1e65:	eb f4                	jmp    1e5b <path_init_rcu+0xac>
    1e67:	89 53 28             	mov    DWORD PTR [ebx+0x28],edx
    1e6a:	39 46 08             	cmp    DWORD PTR [esi+0x8],eax
    1e6d:	74 69                	je     1ed8 <path_init_rcu+0x129>
    1e6f:	eb d1                	jmp    1e42 <path_init_rcu+0x93>
    1e71:	8d 55 f0             	lea    edx,[ebp-0x10]
    1e74:	bf f7 ff ff ff       	mov    edi,0xfffffff7
    1e79:	e8 fc ff ff ff       	call   1e7a <path_init_rcu+0xcb>
    1e7e:	85 c0                	test   eax,eax
    1e80:	89 c6                	mov    esi,eax
    1e82:	74 6e                	je     1ef2 <path_init_rcu+0x143>
    1e84:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    1e87:	66 bf ec ff          	mov    di,0xffec
    1e8b:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1e8e:	0f b7 10             	movzx  edx,WORD PTR [eax]
    1e91:	81 e2 00 f0 00 00    	and    edx,0xf000
    1e97:	81 fa 00 40 00 00    	cmp    edx,0x4000
    1e9d:	75 46                	jne    1ee5 <path_init_rcu+0x136>
    1e9f:	66 ba 01 00          	mov    dx,0x1
    1ea3:	e8 fc ff ff ff       	call   1ea4 <path_init_rcu+0xf5>
    1ea8:	85 c0                	test   eax,eax
    1eaa:	89 c7                	mov    edi,eax
    1eac:	75 37                	jne    1ee5 <path_init_rcu+0x136>
    1eae:	8b 46 08             	mov    eax,DWORD PTR [esi+0x8]
    1eb1:	8b 56 0c             	mov    edx,DWORD PTR [esi+0xc]
    1eb4:	89 03                	mov    DWORD PTR [ebx],eax
    1eb6:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    1eb9:	83 7d f0 00          	cmp    DWORD PTR [ebp-0x10],0x0
    1ebd:	74 03                	je     1ec2 <path_init_rcu+0x113>
    1ebf:	89 73 1c             	mov    DWORD PTR [ebx+0x1c],esi
    1ec2:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    1ec5:	8b 42 04             	mov    eax,DWORD PTR [edx+0x4]
    1ec8:	a8 01                	test   al,0x1
    1eca:	74 04                	je     1ed0 <path_init_rcu+0x121>
    1ecc:	f3 90                	pause  
    1ece:	eb f5                	jmp    1ec5 <path_init_rcu+0x116>
    1ed0:	89 43 28             	mov    DWORD PTR [ebx+0x28],eax
    1ed3:	e8 fc ff ff ff       	call   1ed4 <path_init_rcu+0x125>
    1ed8:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1edb:	31 ff                	xor    edi,edi
    1edd:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1ee0:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    1ee3:	eb 0d                	jmp    1ef2 <path_init_rcu+0x143>
    1ee5:	83 7d f0 00          	cmp    DWORD PTR [ebp-0x10],0x0
    1ee9:	74 07                	je     1ef2 <path_init_rcu+0x143>
    1eeb:	89 f0                	mov    eax,esi
    1eed:	e8 fc ff ff ff       	call   1eee <path_init_rcu+0x13f>
    1ef2:	5a                   	pop    edx
    1ef3:	89 f8                	mov    eax,edi
    1ef5:	5b                   	pop    ebx
    1ef6:	5e                   	pop    esi
    1ef7:	5f                   	pop    edi
    1ef8:	5d                   	pop    ebp
    1ef9:	c3                   	ret    

00001efa <path_init>:
    1efa:	55                   	push   ebp
    1efb:	89 e5                	mov    ebp,esp
    1efd:	57                   	push   edi
    1efe:	56                   	push   esi
    1eff:	53                   	push   ebx
    1f00:	83 ec 04             	sub    esp,0x4
    1f03:	8b 5d 08             	mov    ebx,DWORD PTR [ebp+0x8]
    1f06:	c7 43 2c 01 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x1
    1f0d:	89 4b 24             	mov    DWORD PTR [ebx+0x24],ecx
    1f10:	c7 43 30 00 00 00 00 	mov    DWORD PTR [ebx+0x30],0x0
    1f17:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    1f1e:	80 3a 2f             	cmp    BYTE PTR [edx],0x2f
    1f21:	75 2d                	jne    1f50 <path_init+0x56>
    1f23:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    1f29:	8b 80 90 02 00 00    	mov    eax,DWORD PTR [eax+0x290]
    1f2f:	8d 73 14             	lea    esi,[ebx+0x14]
    1f32:	89 f2                	mov    edx,esi
    1f34:	e8 58 e2 ff ff       	call   191 <get_fs_root>
    1f39:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
    1f3c:	8b 53 18             	mov    edx,DWORD PTR [ebx+0x18]
    1f3f:	89 03                	mov    DWORD PTR [ebx],eax
    1f41:	89 f0                	mov    eax,esi
    1f43:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    1f46:	e8 fc ff ff ff       	call   1f47 <path_init+0x4d>
    1f4b:	e9 8d 00 00 00       	jmp    1fdd <path_init+0xe3>
    1f50:	83 f8 9c             	cmp    eax,0xffffff9c
    1f53:	75 2b                	jne    1f80 <path_init+0x86>
    1f55:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    1f5b:	8b b0 90 02 00 00    	mov    esi,DWORD PTR [eax+0x290]
    1f61:	8d 46 04             	lea    eax,[esi+0x4]
    1f64:	e8 fc ff ff ff       	call   1f65 <path_init+0x6b>
    1f69:	8b 46 1c             	mov    eax,DWORD PTR [esi+0x1c]
    1f6c:	8b 56 20             	mov    edx,DWORD PTR [esi+0x20]
    1f6f:	89 03                	mov    DWORD PTR [ebx],eax
    1f71:	89 d8                	mov    eax,ebx
    1f73:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    1f76:	e8 fc ff ff ff       	call   1f77 <path_init+0x7d>
    1f7b:	fe 46 04             	inc    BYTE PTR [esi+0x4]
    1f7e:	eb 5d                	jmp    1fdd <path_init+0xe3>
    1f80:	8d 55 f0             	lea    edx,[ebp-0x10]
    1f83:	bf f7 ff ff ff       	mov    edi,0xfffffff7
    1f88:	e8 fc ff ff ff       	call   1f89 <path_init+0x8f>
    1f8d:	85 c0                	test   eax,eax
    1f8f:	89 c6                	mov    esi,eax
    1f91:	74 64                	je     1ff7 <path_init+0xfd>
    1f93:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    1f96:	66 bf ec ff          	mov    di,0xffec
    1f9a:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1f9d:	0f b7 10             	movzx  edx,WORD PTR [eax]
    1fa0:	81 e2 00 f0 00 00    	and    edx,0xf000
    1fa6:	81 fa 00 40 00 00    	cmp    edx,0x4000
    1fac:	75 3c                	jne    1fea <path_init+0xf0>
    1fae:	66 ba 01 00          	mov    dx,0x1
    1fb2:	e8 fc ff ff ff       	call   1fb3 <path_init+0xb9>
    1fb7:	85 c0                	test   eax,eax
    1fb9:	89 c7                	mov    edi,eax
    1fbb:	75 2d                	jne    1fea <path_init+0xf0>
    1fbd:	8b 46 08             	mov    eax,DWORD PTR [esi+0x8]
    1fc0:	8b 56 0c             	mov    edx,DWORD PTR [esi+0xc]
    1fc3:	89 03                	mov    DWORD PTR [ebx],eax
    1fc5:	8d 46 08             	lea    eax,[esi+0x8]
    1fc8:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    1fcb:	e8 fc ff ff ff       	call   1fcc <path_init+0xd2>
    1fd0:	83 7d f0 00          	cmp    DWORD PTR [ebp-0x10],0x0
    1fd4:	74 07                	je     1fdd <path_init+0xe3>
    1fd6:	89 f0                	mov    eax,esi
    1fd8:	e8 fc ff ff ff       	call   1fd9 <path_init+0xdf>
    1fdd:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    1fe0:	31 ff                	xor    edi,edi
    1fe2:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    1fe5:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    1fe8:	eb 0d                	jmp    1ff7 <path_init+0xfd>
    1fea:	83 7d f0 00          	cmp    DWORD PTR [ebp-0x10],0x0
    1fee:	74 07                	je     1ff7 <path_init+0xfd>
    1ff0:	89 f0                	mov    eax,esi
    1ff2:	e8 fc ff ff ff       	call   1ff3 <path_init+0xf9>
    1ff7:	59                   	pop    ecx
    1ff8:	89 f8                	mov    eax,edi
    1ffa:	5b                   	pop    ebx
    1ffb:	5e                   	pop    esi
    1ffc:	5f                   	pop    edi
    1ffd:	5d                   	pop    ebp
    1ffe:	c3                   	ret    

00001fff <putname>:
    1fff:	55                   	push   ebp
    2000:	64 8b 15 00 00 00 00 	mov    edx,DWORD PTR fs:0x0
    2007:	8b 92 e0 02 00 00    	mov    edx,DWORD PTR [edx+0x2e0]
    200d:	89 e5                	mov    ebp,esp
    200f:	85 d2                	test   edx,edx
    2011:	74 05                	je     2018 <putname+0x19>
    2013:	83 3a 00             	cmp    DWORD PTR [edx],0x0
    2016:	74 0e                	je     2026 <putname+0x27>
    2018:	89 c2                	mov    edx,eax
    201a:	a1 00 00 00 00       	mov    eax,ds:0x0
    201f:	e8 fc ff ff ff       	call   2020 <putname+0x21>
    2024:	eb 05                	jmp    202b <putname+0x2c>
    2026:	e8 fc ff ff ff       	call   2027 <putname+0x28>
    202b:	5d                   	pop    ebp
    202c:	c3                   	ret    

0000202d <getname>:
    202d:	55                   	push   ebp
    202e:	ba d0 00 00 00       	mov    edx,0xd0
    2033:	89 e5                	mov    ebp,esp
    2035:	57                   	push   edi
    2036:	56                   	push   esi
    2037:	53                   	push   ebx
    2038:	83 ec 08             	sub    esp,0x8
    203b:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    203e:	a1 00 00 00 00       	mov    eax,ds:0x0
    2043:	e8 fc ff ff ff       	call   2044 <getname+0x17>
    2048:	ba f4 ff ff ff       	mov    edx,0xfffffff4
    204d:	85 c0                	test   eax,eax
    204f:	89 c7                	mov    edi,eax
    2051:	74 66                	je     20b9 <getname+0x8c>
    2053:	89 e0                	mov    eax,esp
    2055:	25 00 e0 ff ff       	and    eax,0xffffe000
    205a:	83 78 18 ff          	cmp    DWORD PTR [eax+0x18],0xffffffff
    205e:	74 1e                	je     207e <getname+0x51>
    2060:	81 7d f0 ff ff ff bf 	cmp    DWORD PTR [ebp-0x10],0xbfffffff
    2067:	be f2 ff ff ff       	mov    esi,0xfffffff2
    206c:	77 3d                	ja     20ab <getname+0x7e>
    206e:	bb 00 00 00 c0       	mov    ebx,0xc0000000
    2073:	2b 5d f0             	sub    ebx,DWORD PTR [ebp-0x10]
    2076:	81 fb ff 0f 00 00    	cmp    ebx,0xfff
    207c:	76 05                	jbe    2083 <getname+0x56>
    207e:	bb 00 10 00 00       	mov    ebx,0x1000
    2083:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    2086:	89 d9                	mov    ecx,ebx
    2088:	89 f8                	mov    eax,edi
    208a:	e8 fc ff ff ff       	call   208b <getname+0x5e>
    208f:	83 f8 00             	cmp    eax,0x0
    2092:	89 c6                	mov    esi,eax
    2094:	7e 0d                	jle    20a3 <getname+0x76>
    2096:	39 d8                	cmp    eax,ebx
    2098:	89 fa                	mov    edx,edi
    209a:	72 1d                	jb     20b9 <getname+0x8c>
    209c:	be dc ff ff ff       	mov    esi,0xffffffdc
    20a1:	eb 08                	jmp    20ab <getname+0x7e>
    20a3:	b8 fe ff ff ff       	mov    eax,0xfffffffe
    20a8:	0f 44 f0             	cmove  esi,eax
    20ab:	a1 00 00 00 00       	mov    eax,ds:0x0
    20b0:	89 fa                	mov    edx,edi
    20b2:	e8 fc ff ff ff       	call   20b3 <getname+0x86>
    20b7:	89 f2                	mov    edx,esi
    20b9:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    20bf:	8b 80 e0 02 00 00    	mov    eax,DWORD PTR [eax+0x2e0]
    20c5:	85 c0                	test   eax,eax
    20c7:	74 05                	je     20ce <getname+0xa1>
    20c9:	83 38 00             	cmp    DWORD PTR [eax],0x0
    20cc:	74 09                	je     20d7 <getname+0xaa>
    20ce:	5b                   	pop    ebx
    20cf:	89 d0                	mov    eax,edx
    20d1:	5e                   	pop    esi
    20d2:	5b                   	pop    ebx
    20d3:	5e                   	pop    esi
    20d4:	5f                   	pop    edi
    20d5:	5d                   	pop    ebp
    20d6:	c3                   	ret    
    20d7:	89 d0                	mov    eax,edx
    20d9:	89 55 ec             	mov    DWORD PTR [ebp-0x14],edx
    20dc:	e8 fc ff ff ff       	call   20dd <getname+0xb0>
    20e1:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    20e4:	eb e8                	jmp    20ce <getname+0xa1>

000020e6 <do_follow_link>:
    20e6:	55                   	push   ebp
    20e7:	89 e5                	mov    ebp,esp
    20e9:	57                   	push   edi
    20ea:	56                   	push   esi
    20eb:	89 c6                	mov    esi,eax
    20ed:	53                   	push   ebx
    20ee:	89 d3                	mov    ebx,edx
    20f0:	83 ec 08             	sub    esp,0x8
    20f3:	64 8b 3d 00 00 00 00 	mov    edi,DWORD PTR fs:0x0
    20fa:	83 bf 04 02 00 00 07 	cmp    DWORD PTR [edi+0x204],0x7
    2101:	0f 8f 53 01 00 00    	jg     225a <do_follow_link+0x174>
    2107:	83 bf 08 02 00 00 27 	cmp    DWORD PTR [edi+0x208],0x27
    210e:	0f 8f 46 01 00 00    	jg     225a <do_follow_link+0x174>
    2114:	83 7a 30 07          	cmp    DWORD PTR [edx+0x30],0x7
    2118:	76 04                	jbe    211e <do_follow_link+0x38>
    211a:	0f 0b                	ud2    
    211c:	eb fe                	jmp    211c <do_follow_link+0x36>
    211e:	e8 fc ff ff ff       	call   211f <do_follow_link+0x39>
    2123:	8b 46 04             	mov    eax,DWORD PTR [esi+0x4]
    2126:	89 da                	mov    edx,ebx
    2128:	e8 fc ff ff ff       	call   2129 <do_follow_link+0x43>
    212d:	85 c0                	test   eax,eax
    212f:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    2132:	0f 85 29 01 00 00    	jne    2261 <do_follow_link+0x17b>
    2138:	ff 87 04 02 00 00    	inc    DWORD PTR [edi+0x204]
    213e:	ff 87 08 02 00 00    	inc    DWORD PTR [edi+0x208]
    2144:	ff 43 30             	inc    DWORD PTR [ebx+0x30]
    2147:	8b 7e 04             	mov    edi,DWORD PTR [esi+0x4]
    214a:	8b 06                	mov    eax,DWORD PTR [esi]
    214c:	89 fa                	mov    edx,edi
    214e:	e8 fc ff ff ff       	call   214f <do_follow_link+0x69>
    2153:	8b 43 30             	mov    eax,DWORD PTR [ebx+0x30]
    2156:	c7 44 83 34 00 00 00 	mov    DWORD PTR [ebx+eax*4+0x34],0x0
    215d:	00 
    215e:	8b 06                	mov    eax,DWORD PTR [esi]
    2160:	3b 03                	cmp    eax,DWORD PTR [ebx]
    2162:	74 19                	je     217d <do_follow_link+0x97>
    2164:	89 f0                	mov    eax,esi
    2166:	89 da                	mov    edx,ebx
    2168:	e8 9b e6 ff ff       	call   808 <path_to_nameidata>
    216d:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    2170:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2173:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    2176:	89 f8                	mov    eax,edi
    2178:	e8 e0 df ff ff       	call   15d <dget>
    217d:	8b 06                	mov    eax,DWORD PTR [esi]
    217f:	85 c0                	test   eax,eax
    2181:	74 04                	je     2187 <do_follow_link+0xa1>
    2183:	f0 ff 40 70          	lock inc DWORD PTR [eax+0x70]
    2187:	c7 43 2c 04 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x4
    218e:	8b 47 20             	mov    eax,DWORD PTR [edi+0x20]
    2191:	89 da                	mov    edx,ebx
    2193:	8b 48 0c             	mov    ecx,DWORD PTR [eax+0xc]
    2196:	89 f8                	mov    eax,edi
    2198:	ff 51 04             	call   DWORD PTR [ecx+0x4]
    219b:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    21a0:	89 45 ec             	mov    DWORD PTR [ebp-0x14],eax
    21a3:	76 08                	jbe    21ad <do_follow_link+0xc7>
    21a5:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    21a8:	e9 95 00 00 00       	jmp    2242 <do_follow_link+0x15c>
    21ad:	8b 43 30             	mov    eax,DWORD PTR [ebx+0x30]
    21b0:	8b 7c 83 34          	mov    edi,DWORD PTR [ebx+eax*4+0x34]
    21b4:	85 ff                	test   edi,edi
    21b6:	74 64                	je     221c <do_follow_link+0x136>
    21b8:	81 ff 00 f0 ff ff    	cmp    edi,0xfffff000
    21be:	77 50                	ja     2210 <do_follow_link+0x12a>
    21c0:	80 3f 2f             	cmp    BYTE PTR [edi],0x2f
    21c3:	75 34                	jne    21f9 <do_follow_link+0x113>
    21c5:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
    21c9:	75 14                	jne    21df <do_follow_link+0xf9>
    21cb:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    21d1:	8b 80 90 02 00 00    	mov    eax,DWORD PTR [eax+0x290]
    21d7:	8d 53 14             	lea    edx,[ebx+0x14]
    21da:	e8 b2 df ff ff       	call   191 <get_fs_root>
    21df:	89 d8                	mov    eax,ebx
    21e1:	e8 fc ff ff ff       	call   21e2 <do_follow_link+0xfc>
    21e6:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
    21e9:	8b 53 18             	mov    edx,DWORD PTR [ebx+0x18]
    21ec:	89 03                	mov    DWORD PTR [ebx],eax
    21ee:	8d 43 14             	lea    eax,[ebx+0x14]
    21f1:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    21f4:	e8 fc ff ff ff       	call   21f5 <do_follow_link+0x10f>
    21f9:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    21fc:	89 da                	mov    edx,ebx
    21fe:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2201:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    2204:	89 f8                	mov    eax,edi
    2206:	e8 82 00 00 00       	call   228d <link_path_walk>
    220b:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    220e:	eb 6b                	jmp    227b <do_follow_link+0x195>
    2210:	89 d8                	mov    eax,ebx
    2212:	e8 fc ff ff ff       	call   2213 <do_follow_link+0x12d>
    2217:	89 7d f0             	mov    DWORD PTR [ebp-0x10],edi
    221a:	eb 5f                	jmp    227b <do_follow_link+0x195>
    221c:	83 7b 2c 04          	cmp    DWORD PTR [ebx+0x2c],0x4
    2220:	75 59                	jne    227b <do_follow_link+0x195>
    2222:	89 da                	mov    edx,ebx
    2224:	89 d8                	mov    eax,ebx
    2226:	e8 93 e9 ff ff       	call   bbe <force_reval_path>
    222b:	85 c0                	test   eax,eax
    222d:	89 45 f0             	mov    DWORD PTR [ebp-0x10],eax
    2230:	74 49                	je     227b <do_follow_link+0x195>
    2232:	89 d8                	mov    eax,ebx
    2234:	e8 fc ff ff ff       	call   2235 <do_follow_link+0x14f>
    2239:	eb 40                	jmp    227b <do_follow_link+0x195>
    223b:	8b 4d ec             	mov    ecx,DWORD PTR [ebp-0x14]
    223e:	89 da                	mov    edx,ebx
    2240:	ff d7                	call   edi
    2242:	89 f0                	mov    eax,esi
    2244:	e8 fc ff ff ff       	call   2245 <do_follow_link+0x15f>
    2249:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    224f:	ff 88 04 02 00 00    	dec    DWORD PTR [eax+0x204]
    2255:	ff 4b 30             	dec    DWORD PTR [ebx+0x30]
    2258:	eb 17                	jmp    2271 <do_follow_link+0x18b>
    225a:	c7 45 f0 d8 ff ff ff 	mov    DWORD PTR [ebp-0x10],0xffffffd8
    2261:	89 f0                	mov    eax,esi
    2263:	89 da                	mov    edx,ebx
    2265:	e8 ce e5 ff ff       	call   838 <path_put_conditional>
    226a:	89 d8                	mov    eax,ebx
    226c:	e8 fc ff ff ff       	call   226d <do_follow_link+0x187>
    2271:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2274:	5f                   	pop    edi
    2275:	5a                   	pop    edx
    2276:	5b                   	pop    ebx
    2277:	5e                   	pop    esi
    2278:	5f                   	pop    edi
    2279:	5d                   	pop    ebp
    227a:	c3                   	ret    
    227b:	8b 46 04             	mov    eax,DWORD PTR [esi+0x4]
    227e:	8b 50 20             	mov    edx,DWORD PTR [eax+0x20]
    2281:	8b 52 0c             	mov    edx,DWORD PTR [edx+0xc]
    2284:	8b 7a 1c             	mov    edi,DWORD PTR [edx+0x1c]
    2287:	85 ff                	test   edi,edi
    2289:	75 b0                	jne    223b <do_follow_link+0x155>
    228b:	eb b5                	jmp    2242 <do_follow_link+0x15c>

0000228d <link_path_walk>:
    228d:	55                   	push   ebp
    228e:	89 e5                	mov    ebp,esp
    2290:	57                   	push   edi
    2291:	56                   	push   esi
    2292:	89 c6                	mov    esi,eax
    2294:	53                   	push   ebx
    2295:	89 d3                	mov    ebx,edx
    2297:	83 ec 28             	sub    esp,0x28
    229a:	8b 7a 24             	mov    edi,DWORD PTR [edx+0x24]
    229d:	eb 01                	jmp    22a0 <link_path_walk+0x13>
    229f:	46                   	inc    esi
    22a0:	8a 06                	mov    al,BYTE PTR [esi]
    22a2:	3c 2f                	cmp    al,0x2f
    22a4:	74 f9                	je     229f <link_path_walk+0x12>
    22a6:	84 c0                	test   al,al
    22a8:	0f 84 d9 02 00 00    	je     2587 <link_path_walk+0x2fa>
    22ae:	83 7b 30 00          	cmp    DWORD PTR [ebx+0x30],0x0
    22b2:	74 06                	je     22ba <link_path_walk+0x2d>
    22b4:	83 e7 04             	and    edi,0x4
    22b7:	83 cf 01             	or     edi,0x1
    22ba:	8b 43 24             	mov    eax,DWORD PTR [ebx+0x24]
    22bd:	83 c8 04             	or     eax,0x4
    22c0:	a8 40                	test   al,0x40
    22c2:	89 43 24             	mov    DWORD PTR [ebx+0x24],eax
    22c5:	74 29                	je     22f0 <link_path_walk+0x63>
    22c7:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    22ca:	ba 01 00 00 00       	mov    edx,0x1
    22cf:	e8 96 e2 ff ff       	call   56a <exec_permission>
    22d4:	83 f8 f6             	cmp    eax,0xfffffff6
    22d7:	89 c2                	mov    edx,eax
    22d9:	75 21                	jne    22fc <link_path_walk+0x6f>
    22db:	89 d8                	mov    eax,ebx
    22dd:	89 55 d4             	mov    DWORD PTR [ebp-0x2c],edx
    22e0:	e8 3c df ff ff       	call   221 <nameidata_drop_rcu>
    22e5:	8b 55 d4             	mov    edx,DWORD PTR [ebp-0x2c]
    22e8:	85 c0                	test   eax,eax
    22ea:	0f 85 49 03 00 00    	jne    2639 <link_path_walk+0x3ac>
    22f0:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    22f3:	31 d2                	xor    edx,edx
    22f5:	e8 70 e2 ff ff       	call   56a <exec_permission>
    22fa:	89 c2                	mov    edx,eax
    22fc:	85 d2                	test   edx,edx
    22fe:	0f 85 1b 03 00 00    	jne    261f <link_path_walk+0x392>
    2304:	89 75 e4             	mov    DWORD PTR [ebp-0x1c],esi
    2307:	0f b6 06             	movzx  eax,BYTE PTR [esi]
    230a:	31 c9                	xor    ecx,ecx
    230c:	89 75 cc             	mov    DWORD PTR [ebp-0x34],esi
    230f:	89 45 d0             	mov    DWORD PTR [ebp-0x30],eax
    2312:	89 c2                	mov    edx,eax
    2314:	46                   	inc    esi
    2315:	c1 e2 04             	shl    edx,0x4
    2318:	c1 e8 04             	shr    eax,0x4
    231b:	01 d0                	add    eax,edx
    231d:	8d 0c 08             	lea    ecx,[eax+ecx*1]
    2320:	0f b6 06             	movzx  eax,BYTE PTR [esi]
    2323:	6b c9 0b             	imul   ecx,ecx,0xb
    2326:	83 f8 2f             	cmp    eax,0x2f
    2329:	74 04                	je     232f <link_path_walk+0xa2>
    232b:	85 c0                	test   eax,eax
    232d:	75 e3                	jne    2312 <link_path_walk+0x85>
    232f:	8b 55 cc             	mov    edx,DWORD PTR [ebp-0x34]
    2332:	89 45 d0             	mov    DWORD PTR [ebp-0x30],eax
    2335:	89 f0                	mov    eax,esi
    2337:	89 4d dc             	mov    DWORD PTR [ebp-0x24],ecx
    233a:	29 d0                	sub    eax,edx
    233c:	83 7d d0 00          	cmp    DWORD PTR [ebp-0x30],0x0
    2340:	89 45 d8             	mov    DWORD PTR [ebp-0x28],eax
    2343:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
    2346:	0f 84 f4 00 00 00    	je     2440 <link_path_walk+0x1b3>
    234c:	46                   	inc    esi
    234d:	8a 06                	mov    al,BYTE PTR [esi]
    234f:	3c 2f                	cmp    al,0x2f
    2351:	74 f9                	je     234c <link_path_walk+0xbf>
    2353:	84 c0                	test   al,al
    2355:	0f 84 e2 00 00 00    	je     243d <link_path_walk+0x1b0>
    235b:	80 3a 2e             	cmp    BYTE PTR [edx],0x2e
    235e:	75 3c                	jne    239c <link_path_walk+0x10f>
    2360:	83 7d d8 01          	cmp    DWORD PTR [ebp-0x28],0x1
    2364:	0f 84 50 ff ff ff    	je     22ba <link_path_walk+0x2d>
    236a:	83 7d d8 02          	cmp    DWORD PTR [ebp-0x28],0x2
    236e:	75 2c                	jne    239c <link_path_walk+0x10f>
    2370:	80 7a 01 2e          	cmp    BYTE PTR [edx+0x1],0x2e
    2374:	75 26                	jne    239c <link_path_walk+0x10f>
    2376:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
    237a:	74 14                	je     2390 <link_path_walk+0x103>
    237c:	89 d8                	mov    eax,ebx
    237e:	e8 5a e3 ff ff       	call   6dd <follow_dotdot_rcu>
    2383:	85 c0                	test   eax,eax
    2385:	0f 84 2f ff ff ff    	je     22ba <link_path_walk+0x2d>
    238b:	e9 a4 02 00 00       	jmp    2634 <link_path_walk+0x3a7>
    2390:	89 d8                	mov    eax,ebx
    2392:	e8 b8 e9 ff ff       	call   d4f <follow_dotdot>
    2397:	e9 1e ff ff ff       	jmp    22ba <link_path_walk+0x2d>
    239c:	8d 55 f0             	lea    edx,[ebp-0x10]
    239f:	89 d8                	mov    eax,ebx
    23a1:	52                   	push   edx
    23a2:	8d 4d e8             	lea    ecx,[ebp-0x18]
    23a5:	8d 55 dc             	lea    edx,[ebp-0x24]
    23a8:	e8 bc e5 ff ff       	call   969 <do_lookup>
    23ad:	89 c2                	mov    edx,eax
    23af:	85 d2                	test   edx,edx
    23b1:	58                   	pop    eax
    23b2:	0f 85 67 02 00 00    	jne    261f <link_path_walk+0x392>
    23b8:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    23bb:	85 c0                	test   eax,eax
    23bd:	0f 84 40 02 00 00    	je     2603 <link_path_walk+0x376>
    23c3:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    23c6:	83 78 04 00          	cmp    DWORD PTR [eax+0x4],0x0
    23ca:	74 4d                	je     2419 <link_path_walk+0x18c>
    23cc:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
    23d0:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    23d3:	74 0f                	je     23e4 <link_path_walk+0x157>
    23d5:	89 d8                	mov    eax,ebx
    23d7:	e8 e7 de ff ff       	call   2c3 <nameidata_dentry_drop_rcu>
    23dc:	85 c0                	test   eax,eax
    23de:	0f 85 50 02 00 00    	jne    2634 <link_path_walk+0x3a7>
    23e4:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    23e7:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    23ea:	3b 50 20             	cmp    edx,DWORD PTR [eax+0x20]
    23ed:	74 04                	je     23f3 <link_path_walk+0x166>
    23ef:	0f 0b                	ud2    
    23f1:	eb fe                	jmp    23f1 <link_path_walk+0x164>
    23f3:	89 da                	mov    edx,ebx
    23f5:	8d 45 e8             	lea    eax,[ebp-0x18]
    23f8:	e8 e9 fc ff ff       	call   20e6 <do_follow_link>
    23fd:	85 c0                	test   eax,eax
    23ff:	89 c2                	mov    edx,eax
    2401:	0f 85 32 02 00 00    	jne    2639 <link_path_walk+0x3ac>
    2407:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    240a:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    240d:	85 c0                	test   eax,eax
    240f:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    2412:	75 15                	jne    2429 <link_path_walk+0x19c>
    2414:	e9 fa 01 00 00       	jmp    2613 <link_path_walk+0x386>
    2419:	8d 45 e8             	lea    eax,[ebp-0x18]
    241c:	89 da                	mov    edx,ebx
    241e:	e8 e5 e3 ff ff       	call   808 <path_to_nameidata>
    2423:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2426:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    2429:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    242c:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    242f:	83 38 00             	cmp    DWORD PTR [eax],0x0
    2432:	0f 85 82 fe ff ff    	jne    22ba <link_path_walk+0x2d>
    2438:	e9 dd 01 00 00       	jmp    261a <link_path_walk+0x38d>
    243d:	83 cf 03             	or     edi,0x3
    2440:	89 fa                	mov    edx,edi
    2442:	8b 45 e4             	mov    eax,DWORD PTR [ebp-0x1c]
    2445:	83 ca fb             	or     edx,0xfffffffb
    2448:	23 53 24             	and    edx,DWORD PTR [ebx+0x24]
    244b:	f7 c7 10 00 00 00    	test   edi,0x10
    2451:	89 53 24             	mov    DWORD PTR [ebx+0x24],edx
    2454:	0f 85 f1 00 00 00    	jne    254b <link_path_walk+0x2be>
    245a:	80 38 2e             	cmp    BYTE PTR [eax],0x2e
    245d:	75 3c                	jne    249b <link_path_walk+0x20e>
    245f:	8b 4d e0             	mov    ecx,DWORD PTR [ebp-0x20]
    2462:	83 f9 01             	cmp    ecx,0x1
    2465:	0f 84 1c 01 00 00    	je     2587 <link_path_walk+0x2fa>
    246b:	83 f9 02             	cmp    ecx,0x2
    246e:	75 2b                	jne    249b <link_path_walk+0x20e>
    2470:	80 78 01 2e          	cmp    BYTE PTR [eax+0x1],0x2e
    2474:	75 25                	jne    249b <link_path_walk+0x20e>
    2476:	80 e2 40             	and    dl,0x40
    2479:	74 14                	je     248f <link_path_walk+0x202>
    247b:	89 d8                	mov    eax,ebx
    247d:	e8 5b e2 ff ff       	call   6dd <follow_dotdot_rcu>
    2482:	85 c0                	test   eax,eax
    2484:	0f 84 fd 00 00 00    	je     2587 <link_path_walk+0x2fa>
    248a:	e9 a5 01 00 00       	jmp    2634 <link_path_walk+0x3a7>
    248f:	89 d8                	mov    eax,ebx
    2491:	e8 b9 e8 ff ff       	call   d4f <follow_dotdot>
    2496:	e9 ec 00 00 00       	jmp    2587 <link_path_walk+0x2fa>
    249b:	8d 45 f0             	lea    eax,[ebp-0x10]
    249e:	8d 4d e8             	lea    ecx,[ebp-0x18]
    24a1:	8d 55 dc             	lea    edx,[ebp-0x24]
    24a4:	50                   	push   eax
    24a5:	89 d8                	mov    eax,ebx
    24a7:	e8 bd e4 ff ff       	call   969 <do_lookup>
    24ac:	59                   	pop    ecx
    24ad:	85 c0                	test   eax,eax
    24af:	89 c2                	mov    edx,eax
    24b1:	0f 85 68 01 00 00    	jne    261f <link_path_walk+0x392>
    24b7:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    24ba:	85 c0                	test   eax,eax
    24bc:	0f 84 81 01 00 00    	je     2643 <link_path_walk+0x3b6>
    24c2:	8b 50 0c             	mov    edx,DWORD PTR [eax+0xc]
    24c5:	83 7a 04 00          	cmp    DWORD PTR [edx+0x4],0x0
    24c9:	0f 84 74 01 00 00    	je     2643 <link_path_walk+0x3b6>
    24cf:	f7 c7 01 00 00 00    	test   edi,0x1
    24d5:	75 13                	jne    24ea <link_path_walk+0x25d>
    24d7:	0f b7 00             	movzx  eax,WORD PTR [eax]
    24da:	25 00 f0 00 00       	and    eax,0xf000
    24df:	3d 00 40 00 00       	cmp    eax,0x4000
    24e4:	0f 85 59 01 00 00    	jne    2643 <link_path_walk+0x3b6>
    24ea:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
    24ee:	8b 55 ec             	mov    edx,DWORD PTR [ebp-0x14]
    24f1:	74 0f                	je     2502 <link_path_walk+0x275>
    24f3:	89 d8                	mov    eax,ebx
    24f5:	e8 c9 dd ff ff       	call   2c3 <nameidata_dentry_drop_rcu>
    24fa:	85 c0                	test   eax,eax
    24fc:	0f 85 32 01 00 00    	jne    2634 <link_path_walk+0x3a7>
    2502:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    2505:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    2508:	3b 50 20             	cmp    edx,DWORD PTR [eax+0x20]
    250b:	74 04                	je     2511 <link_path_walk+0x284>
    250d:	0f 0b                	ud2    
    250f:	eb fe                	jmp    250f <link_path_walk+0x282>
    2511:	89 da                	mov    edx,ebx
    2513:	8d 45 e8             	lea    eax,[ebp-0x18]
    2516:	e8 cb fb ff ff       	call   20e6 <do_follow_link>
    251b:	85 c0                	test   eax,eax
    251d:	89 c2                	mov    edx,eax
    251f:	0f 85 14 01 00 00    	jne    2639 <link_path_walk+0x3ac>
    2525:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    2528:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    252b:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    252e:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    2531:	85 c0                	test   eax,eax
    2533:	0f 84 da 00 00 00    	je     2613 <link_path_walk+0x386>
    2539:	83 e7 02             	and    edi,0x2
    253c:	74 66                	je     25a4 <link_path_walk+0x317>
    253e:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    2541:	83 38 00             	cmp    DWORD PTR [eax],0x0
    2544:	75 5e                	jne    25a4 <link_path_walk+0x317>
    2546:	e9 cf 00 00 00       	jmp    261a <link_path_walk+0x38d>
    254b:	8d 7b 08             	lea    edi,[ebx+0x8]
    254e:	b9 03 00 00 00       	mov    ecx,0x3
    2553:	8d 75 dc             	lea    esi,[ebp-0x24]
    2556:	f3 a5                	rep movs DWORD PTR es:[edi],DWORD PTR ds:[esi]
    2558:	c7 43 2c 00 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x0
    255f:	80 38 2e             	cmp    BYTE PTR [eax],0x2e
    2562:	75 40                	jne    25a4 <link_path_walk+0x317>
    2564:	8b 55 e0             	mov    edx,DWORD PTR [ebp-0x20]
    2567:	83 fa 01             	cmp    edx,0x1
    256a:	75 09                	jne    2575 <link_path_walk+0x2e8>
    256c:	c7 43 2c 02 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x2
    2573:	eb 12                	jmp    2587 <link_path_walk+0x2fa>
    2575:	83 fa 02             	cmp    edx,0x2
    2578:	75 2a                	jne    25a4 <link_path_walk+0x317>
    257a:	80 78 01 2e          	cmp    BYTE PTR [eax+0x1],0x2e
    257e:	75 24                	jne    25a4 <link_path_walk+0x317>
    2580:	c7 43 2c 03 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x3
    2587:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    258a:	66 f7 00 00 c0       	test   WORD PTR [eax],0xc000
    258f:	74 13                	je     25a4 <link_path_walk+0x317>
    2591:	8b 50 58             	mov    edx,DWORD PTR [eax+0x58]
    2594:	8b 52 1c             	mov    edx,DWORD PTR [edx+0x1c]
    2597:	f6 42 05 40          	test   BYTE PTR [edx+0x5],0x40
    259b:	74 07                	je     25a4 <link_path_walk+0x317>
    259d:	e9 b3 00 00 00       	jmp    2655 <link_path_walk+0x3c8>
    25a2:	7c 7b                	jl     261f <link_path_walk+0x392>
    25a4:	8b 43 24             	mov    eax,DWORD PTR [ebx+0x24]
    25a7:	31 d2                	xor    edx,edx
    25a9:	a8 40                	test   al,0x40
    25ab:	0f 84 88 00 00 00    	je     2639 <link_path_walk+0x3ac>
    25b1:	8b 73 04             	mov    esi,DWORD PTR [ebx+0x4]
    25b4:	83 e0 bf             	and    eax,0xffffffbf
    25b7:	89 43 24             	mov    DWORD PTR [ebx+0x24],eax
    25ba:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    25c1:	8d 46 50             	lea    eax,[esi+0x50]
    25c4:	e8 fc ff ff ff       	call   25c5 <link_path_walk+0x338>
    25c9:	8b 53 28             	mov    edx,DWORD PTR [ebx+0x28]
    25cc:	89 f0                	mov    eax,esi
    25ce:	e8 fc ff ff ff       	call   25cf <link_path_walk+0x342>
    25d3:	85 c0                	test   eax,eax
    25d5:	74 22                	je     25f9 <link_path_walk+0x36c>
    25d7:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    25da:	3b 46 20             	cmp    eax,DWORD PTR [esi+0x20]
    25dd:	74 04                	je     25e3 <link_path_walk+0x356>
    25df:	0f 0b                	ud2    
    25e1:	eb fe                	jmp    25e1 <link_path_walk+0x354>
    25e3:	fe 46 50             	inc    BYTE PTR [esi+0x50]
    25e6:	8b 03                	mov    eax,DWORD PTR [ebx]
    25e8:	85 c0                	test   eax,eax
    25ea:	74 04                	je     25f0 <link_path_walk+0x363>
    25ec:	f0 ff 40 70          	lock inc DWORD PTR [eax+0x70]
    25f0:	e8 fc ff ff ff       	call   25f1 <link_path_walk+0x364>
    25f5:	31 d2                	xor    edx,edx
    25f7:	eb 40                	jmp    2639 <link_path_walk+0x3ac>
    25f9:	fe 46 50             	inc    BYTE PTR [esi+0x50]
    25fc:	e8 fc ff ff ff       	call   25fd <link_path_walk+0x370>
    2601:	eb 31                	jmp    2634 <link_path_walk+0x3a7>
    2603:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
    2607:	75 0a                	jne    2613 <link_path_walk+0x386>
    2609:	89 da                	mov    edx,ebx
    260b:	8d 45 e8             	lea    eax,[ebp-0x18]
    260e:	e8 25 e2 ff ff       	call   838 <path_put_conditional>
    2613:	ba fe ff ff ff       	mov    edx,0xfffffffe
    2618:	eb 05                	jmp    261f <link_path_walk+0x392>
    261a:	ba ec ff ff ff       	mov    edx,0xffffffec
    261f:	f6 43 24 40          	test   BYTE PTR [ebx+0x24],0x40
    2623:	75 14                	jne    2639 <link_path_walk+0x3ac>
    2625:	89 d8                	mov    eax,ebx
    2627:	89 55 d4             	mov    DWORD PTR [ebp-0x2c],edx
    262a:	e8 fc ff ff ff       	call   262b <link_path_walk+0x39e>
    262f:	8b 55 d4             	mov    edx,DWORD PTR [ebp-0x2c]
    2632:	eb 05                	jmp    2639 <link_path_walk+0x3ac>
    2634:	ba f6 ff ff ff       	mov    edx,0xfffffff6
    2639:	8d 65 f4             	lea    esp,[ebp-0xc]
    263c:	89 d0                	mov    eax,edx
    263e:	5b                   	pop    ebx
    263f:	5e                   	pop    esi
    2640:	5f                   	pop    edi
    2641:	5d                   	pop    ebp
    2642:	c3                   	ret    
    2643:	8d 45 e8             	lea    eax,[ebp-0x18]
    2646:	89 da                	mov    edx,ebx
    2648:	e8 bb e1 ff ff       	call   808 <path_to_nameidata>
    264d:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2650:	e9 d6 fe ff ff       	jmp    252b <link_path_walk+0x29e>
    2655:	89 da                	mov    edx,ebx
    2657:	e8 37 dd ff ff       	call   393 <d_revalidate>
    265c:	83 f8 00             	cmp    eax,0x0
    265f:	89 c2                	mov    edx,eax
    2661:	0f 85 3b ff ff ff    	jne    25a2 <link_path_walk+0x315>
    2667:	ba 8c ff ff ff       	mov    edx,0xffffff8c
    266c:	eb b1                	jmp    261f <link_path_walk+0x392>

0000266e <vfs_follow_link>:
    266e:	55                   	push   ebp
    266f:	81 fa 00 f0 ff ff    	cmp    edx,0xfffff000
    2675:	89 e5                	mov    ebp,esp
    2677:	56                   	push   esi
    2678:	89 d6                	mov    esi,edx
    267a:	53                   	push   ebx
    267b:	89 c3                	mov    ebx,eax
    267d:	77 4d                	ja     26cc <vfs_follow_link+0x5e>
    267f:	80 3a 2f             	cmp    BYTE PTR [edx],0x2f
    2682:	75 34                	jne    26b8 <vfs_follow_link+0x4a>
    2684:	83 78 14 00          	cmp    DWORD PTR [eax+0x14],0x0
    2688:	75 14                	jne    269e <vfs_follow_link+0x30>
    268a:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    2690:	8b 80 90 02 00 00    	mov    eax,DWORD PTR [eax+0x290]
    2696:	8d 53 14             	lea    edx,[ebx+0x14]
    2699:	e8 f3 da ff ff       	call   191 <get_fs_root>
    269e:	89 d8                	mov    eax,ebx
    26a0:	e8 fc ff ff ff       	call   26a1 <vfs_follow_link+0x33>
    26a5:	8b 43 14             	mov    eax,DWORD PTR [ebx+0x14]
    26a8:	8b 53 18             	mov    edx,DWORD PTR [ebx+0x18]
    26ab:	89 03                	mov    DWORD PTR [ebx],eax
    26ad:	8d 43 14             	lea    eax,[ebx+0x14]
    26b0:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    26b3:	e8 fc ff ff ff       	call   26b4 <vfs_follow_link+0x46>
    26b8:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    26bb:	89 da                	mov    edx,ebx
    26bd:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    26c0:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    26c3:	89 f0                	mov    eax,esi
    26c5:	e8 c3 fb ff ff       	call   228d <link_path_walk>
    26ca:	eb 07                	jmp    26d3 <vfs_follow_link+0x65>
    26cc:	e8 fc ff ff ff       	call   26cd <vfs_follow_link+0x5f>
    26d1:	89 f0                	mov    eax,esi
    26d3:	5b                   	pop    ebx
    26d4:	5e                   	pop    esi
    26d5:	5d                   	pop    ebp
    26d6:	c3                   	ret    

000026d7 <path_walk>:
    26d7:	55                   	push   ebp
    26d8:	89 e5                	mov    ebp,esp
    26da:	57                   	push   edi
    26db:	89 c7                	mov    edi,eax
    26dd:	56                   	push   esi
    26de:	53                   	push   ebx
    26df:	89 d3                	mov    ebx,edx
    26e1:	83 ec 0c             	sub    esp,0xc
    26e4:	8b 02                	mov    eax,DWORD PTR [edx]
    26e6:	8b 52 04             	mov    edx,DWORD PTR [edx+0x4]
    26e9:	64 8b 35 00 00 00 00 	mov    esi,DWORD PTR fs:0x0
    26f0:	89 45 ec             	mov    DWORD PTR [ebp-0x14],eax
    26f3:	8d 45 ec             	lea    eax,[ebp-0x14]
    26f6:	89 55 f0             	mov    DWORD PTR [ebp-0x10],edx
    26f9:	c7 86 08 02 00 00 00 	mov    DWORD PTR [esi+0x208],0x0
    2700:	00 00 00 
    2703:	e8 fc ff ff ff       	call   2704 <path_walk+0x2d>
    2708:	89 da                	mov    edx,ebx
    270a:	89 f8                	mov    eax,edi
    270c:	e8 7c fb ff ff       	call   228d <link_path_walk>
    2711:	83 f8 8c             	cmp    eax,0xffffff8c
    2714:	89 c2                	mov    edx,eax
    2716:	75 2b                	jne    2743 <path_walk+0x6c>
    2718:	c7 86 08 02 00 00 00 	mov    DWORD PTR [esi+0x208],0x0
    271f:	00 00 00 
    2722:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    2725:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    2728:	89 03                	mov    DWORD PTR [ebx],eax
    272a:	89 d8                	mov    eax,ebx
    272c:	89 53 04             	mov    DWORD PTR [ebx+0x4],edx
    272f:	e8 fc ff ff ff       	call   2730 <path_walk+0x59>
    2734:	89 da                	mov    edx,ebx
    2736:	89 f8                	mov    eax,edi
    2738:	83 4b 24 20          	or     DWORD PTR [ebx+0x24],0x20
    273c:	e8 4c fb ff ff       	call   228d <link_path_walk>
    2741:	89 c2                	mov    edx,eax
    2743:	8d 45 ec             	lea    eax,[ebp-0x14]
    2746:	89 55 e8             	mov    DWORD PTR [ebp-0x18],edx
    2749:	e8 fc ff ff ff       	call   274a <path_walk+0x73>
    274e:	8b 55 e8             	mov    edx,DWORD PTR [ebp-0x18]
    2751:	89 d0                	mov    eax,edx
    2753:	83 c4 0c             	add    esp,0xc
    2756:	5b                   	pop    ebx
    2757:	5e                   	pop    esi
    2758:	5f                   	pop    edi
    2759:	5d                   	pop    ebp
    275a:	c3                   	ret    

0000275b <vfs_path_lookup>:
    275b:	55                   	push   ebp
    275c:	89 e5                	mov    ebp,esp
    275e:	57                   	push   edi
    275f:	56                   	push   esi
    2760:	53                   	push   ebx
    2761:	83 ec 04             	sub    esp,0x4
    2764:	8b 5d 0c             	mov    ebx,DWORD PTR [ebp+0xc]
    2767:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    276a:	c7 43 2c 01 00 00 00 	mov    DWORD PTR [ebx+0x2c],0x1
    2771:	8b 4d 08             	mov    ecx,DWORD PTR [ebp+0x8]
    2774:	8d 7b 14             	lea    edi,[ebx+0x14]
    2777:	89 43 04             	mov    DWORD PTR [ebx+0x4],eax
    277a:	89 d8                	mov    eax,ebx
    277c:	89 13                	mov    DWORD PTR [ebx],edx
    277e:	c7 43 30 00 00 00 00 	mov    DWORD PTR [ebx+0x30],0x0
    2785:	89 4b 24             	mov    DWORD PTR [ebx+0x24],ecx
    2788:	e8 fc ff ff ff       	call   2789 <vfs_path_lookup+0x2e>
    278d:	8b 03                	mov    eax,DWORD PTR [ebx]
    278f:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    2792:	89 43 14             	mov    DWORD PTR [ebx+0x14],eax
    2795:	89 f8                	mov    eax,edi
    2797:	89 53 18             	mov    DWORD PTR [ebx+0x18],edx
    279a:	e8 fc ff ff ff       	call   279b <vfs_path_lookup+0x40>
    279f:	8b 43 04             	mov    eax,DWORD PTR [ebx+0x4]
    27a2:	89 da                	mov    edx,ebx
    27a4:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    27a7:	89 43 20             	mov    DWORD PTR [ebx+0x20],eax
    27aa:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    27ad:	e8 25 ff ff ff       	call   26d7 <path_walk>
    27b2:	85 c0                	test   eax,eax
    27b4:	89 c6                	mov    esi,eax
    27b6:	75 2a                	jne    27e2 <vfs_path_lookup+0x87>
    27b8:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    27be:	8b 80 e0 02 00 00    	mov    eax,DWORD PTR [eax+0x2e0]
    27c4:	85 c0                	test   eax,eax
    27c6:	74 1a                	je     27e2 <vfs_path_lookup+0x87>
    27c8:	83 38 00             	cmp    DWORD PTR [eax],0x0
    27cb:	75 15                	jne    27e2 <vfs_path_lookup+0x87>
    27cd:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    27d0:	85 d2                	test   edx,edx
    27d2:	74 0e                	je     27e2 <vfs_path_lookup+0x87>
    27d4:	83 7b 20 00          	cmp    DWORD PTR [ebx+0x20],0x0
    27d8:	74 08                	je     27e2 <vfs_path_lookup+0x87>
    27da:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    27dd:	e8 32 e6 ff ff       	call   e14 <audit_inode>
    27e2:	89 f8                	mov    eax,edi
    27e4:	e8 fc ff ff ff       	call   27e5 <vfs_path_lookup+0x8a>
    27e9:	89 f0                	mov    eax,esi
    27eb:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    27f2:	5a                   	pop    edx
    27f3:	5b                   	pop    ebx
    27f4:	5e                   	pop    esi
    27f5:	5f                   	pop    edi
    27f6:	5d                   	pop    ebp
    27f7:	c3                   	ret    

000027f8 <do_path_lookup>:
    27f8:	55                   	push   ebp
    27f9:	89 e5                	mov    ebp,esp
    27fb:	57                   	push   edi
    27fc:	89 d7                	mov    edi,edx
    27fe:	56                   	push   esi
    27ff:	53                   	push   ebx
    2800:	83 ec 08             	sub    esp,0x8
    2803:	8b 5d 08             	mov    ebx,DWORD PTR [ebp+0x8]
    2806:	89 45 ec             	mov    DWORD PTR [ebp-0x14],eax
    2809:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    280c:	53                   	push   ebx
    280d:	e8 9d f5 ff ff       	call   1daf <path_init_rcu>
    2812:	89 c6                	mov    esi,eax
    2814:	85 f6                	test   esi,esi
    2816:	58                   	pop    eax
    2817:	0f 85 a4 00 00 00    	jne    28c1 <do_path_lookup+0xc9>
    281d:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    2823:	89 da                	mov    edx,ebx
    2825:	c7 80 08 02 00 00 00 	mov    DWORD PTR [eax+0x208],0x0
    282c:	00 00 00 
    282f:	89 f8                	mov    eax,edi
    2831:	e8 57 fa ff ff       	call   228d <link_path_walk>
    2836:	89 c6                	mov    esi,eax
    2838:	89 d8                	mov    eax,ebx
    283a:	e8 a7 e5 ff ff       	call   de6 <path_finish_rcu>
    283f:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
    2843:	74 0f                	je     2854 <do_path_lookup+0x5c>
    2845:	8d 43 14             	lea    eax,[ebx+0x14]
    2848:	e8 fc ff ff ff       	call   2849 <do_path_lookup+0x51>
    284d:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    2854:	83 fe 8c             	cmp    esi,0xffffff8c
    2857:	74 07                	je     2860 <do_path_lookup+0x68>
    2859:	83 fe f6             	cmp    esi,0xfffffff6
    285c:	75 3b                	jne    2899 <do_path_lookup+0xa1>
    285e:	eb 04                	jmp    2864 <do_path_lookup+0x6c>
    2860:	83 4d f0 20          	or     DWORD PTR [ebp-0x10],0x20
    2864:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    2867:	89 fa                	mov    edx,edi
    2869:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    286c:	53                   	push   ebx
    286d:	e8 88 f6 ff ff       	call   1efa <path_init>
    2872:	59                   	pop    ecx
    2873:	85 c0                	test   eax,eax
    2875:	89 c6                	mov    esi,eax
    2877:	75 48                	jne    28c1 <do_path_lookup+0xc9>
    2879:	89 da                	mov    edx,ebx
    287b:	89 f8                	mov    eax,edi
    287d:	e8 55 fe ff ff       	call   26d7 <path_walk>
    2882:	83 7b 14 00          	cmp    DWORD PTR [ebx+0x14],0x0
    2886:	89 c6                	mov    esi,eax
    2888:	74 0f                	je     2899 <do_path_lookup+0xa1>
    288a:	8d 43 14             	lea    eax,[ebx+0x14]
    288d:	e8 fc ff ff ff       	call   288e <do_path_lookup+0x96>
    2892:	c7 43 14 00 00 00 00 	mov    DWORD PTR [ebx+0x14],0x0
    2899:	85 f6                	test   esi,esi
    289b:	75 24                	jne    28c1 <do_path_lookup+0xc9>
    289d:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    28a3:	8b 80 e0 02 00 00    	mov    eax,DWORD PTR [eax+0x2e0]
    28a9:	85 c0                	test   eax,eax
    28ab:	74 14                	je     28c1 <do_path_lookup+0xc9>
    28ad:	83 38 00             	cmp    DWORD PTR [eax],0x0
    28b0:	75 0f                	jne    28c1 <do_path_lookup+0xc9>
    28b2:	eb 17                	jmp    28cb <do_path_lookup+0xd3>
    28b4:	83 7b 20 00          	cmp    DWORD PTR [ebx+0x20],0x0
    28b8:	74 07                	je     28c1 <do_path_lookup+0xc9>
    28ba:	89 f8                	mov    eax,edi
    28bc:	e8 53 e5 ff ff       	call   e14 <audit_inode>
    28c1:	8d 65 f4             	lea    esp,[ebp-0xc]
    28c4:	89 f0                	mov    eax,esi
    28c6:	5b                   	pop    ebx
    28c7:	5e                   	pop    esi
    28c8:	5f                   	pop    edi
    28c9:	5d                   	pop    ebp
    28ca:	c3                   	ret    
    28cb:	8b 53 04             	mov    edx,DWORD PTR [ebx+0x4]
    28ce:	85 d2                	test   edx,edx
    28d0:	75 e2                	jne    28b4 <do_path_lookup+0xbc>
    28d2:	eb ed                	jmp    28c1 <do_path_lookup+0xc9>

000028d4 <kern_path>:
    28d4:	55                   	push   ebp
    28d5:	89 e5                	mov    ebp,esp
    28d7:	53                   	push   ebx
    28d8:	89 cb                	mov    ebx,ecx
    28da:	83 ec 64             	sub    esp,0x64
    28dd:	8d 4d 98             	lea    ecx,[ebp-0x68]
    28e0:	51                   	push   ecx
    28e1:	89 d1                	mov    ecx,edx
    28e3:	89 c2                	mov    edx,eax
    28e5:	b8 9c ff ff ff       	mov    eax,0xffffff9c
    28ea:	e8 09 ff ff ff       	call   27f8 <do_path_lookup>
    28ef:	5a                   	pop    edx
    28f0:	85 c0                	test   eax,eax
    28f2:	75 0b                	jne    28ff <kern_path+0x2b>
    28f4:	8b 55 98             	mov    edx,DWORD PTR [ebp-0x68]
    28f7:	8b 4d 9c             	mov    ecx,DWORD PTR [ebp-0x64]
    28fa:	89 13                	mov    DWORD PTR [ebx],edx
    28fc:	89 4b 04             	mov    DWORD PTR [ebx+0x4],ecx
    28ff:	8b 5d fc             	mov    ebx,DWORD PTR [ebp-0x4]
    2902:	c9                   	leave  
    2903:	c3                   	ret    

00002904 <path_lookup>:
    2904:	55                   	push   ebp
    2905:	89 e5                	mov    ebp,esp
    2907:	51                   	push   ecx
    2908:	89 d1                	mov    ecx,edx
    290a:	89 c2                	mov    edx,eax
    290c:	b8 9c ff ff ff       	mov    eax,0xffffff9c
    2911:	e8 e2 fe ff ff       	call   27f8 <do_path_lookup>
    2916:	c9                   	leave  
    2917:	c3                   	ret    

00002918 <user_path_parent>:
    2918:	55                   	push   ebp
    2919:	89 e5                	mov    ebp,esp
    291b:	57                   	push   edi
    291c:	56                   	push   esi
    291d:	89 c6                	mov    esi,eax
    291f:	53                   	push   ebx
    2920:	89 d0                	mov    eax,edx
    2922:	83 ec 04             	sub    esp,0x4
    2925:	89 4d f0             	mov    DWORD PTR [ebp-0x10],ecx
    2928:	e8 fc ff ff ff       	call   2929 <user_path_parent+0x11>
    292d:	8b 4d f0             	mov    ecx,DWORD PTR [ebp-0x10]
    2930:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2935:	89 c3                	mov    ebx,eax
    2937:	89 c7                	mov    edi,eax
    2939:	77 24                	ja     295f <user_path_parent+0x47>
    293b:	51                   	push   ecx
    293c:	89 c2                	mov    edx,eax
    293e:	b9 10 00 00 00       	mov    ecx,0x10
    2943:	89 f0                	mov    eax,esi
    2945:	e8 ae fe ff ff       	call   27f8 <do_path_lookup>
    294a:	59                   	pop    ecx
    294b:	85 c0                	test   eax,eax
    294d:	89 c7                	mov    edi,eax
    294f:	74 09                	je     295a <user_path_parent+0x42>
    2951:	89 d8                	mov    eax,ebx
    2953:	e8 fc ff ff ff       	call   2954 <user_path_parent+0x3c>
    2958:	eb 05                	jmp    295f <user_path_parent+0x47>
    295a:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    295d:	89 18                	mov    DWORD PTR [eax],ebx
    295f:	8d 65 f4             	lea    esp,[ebp-0xc]
    2962:	89 f8                	mov    eax,edi
    2964:	5b                   	pop    ebx
    2965:	5e                   	pop    esi
    2966:	5f                   	pop    edi
    2967:	5d                   	pop    ebp
    2968:	c3                   	ret    

00002969 <sys_renameat>:
    2969:	55                   	push   ebp
    296a:	89 e5                	mov    ebp,esp
    296c:	57                   	push   edi
    296d:	56                   	push   esi
    296e:	53                   	push   ebx
    296f:	81 ec dc 00 00 00    	sub    esp,0xdc
    2975:	8b 55 0c             	mov    edx,DWORD PTR [ebp+0xc]
    2978:	8d 45 f0             	lea    eax,[ebp-0x10]
    297b:	50                   	push   eax
    297c:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    297f:	8d 5d 88             	lea    ebx,[ebp-0x78]
    2982:	89 d9                	mov    ecx,ebx
    2984:	e8 8f ff ff ff       	call   2918 <user_path_parent>
    2989:	5f                   	pop    edi
    298a:	85 c0                	test   eax,eax
    298c:	89 c6                	mov    esi,eax
    298e:	0f 85 c9 01 00 00    	jne    2b5d <sys_renameat+0x1f4>
    2994:	8d 45 ec             	lea    eax,[ebp-0x14]
    2997:	8b 55 14             	mov    edx,DWORD PTR [ebp+0x14]
    299a:	50                   	push   eax
    299b:	8b 45 10             	mov    eax,DWORD PTR [ebp+0x10]
    299e:	8d 8d 24 ff ff ff    	lea    ecx,[ebp-0xdc]
    29a4:	e8 6f ff ff ff       	call   2918 <user_path_parent>
    29a9:	59                   	pop    ecx
    29aa:	85 c0                	test   eax,eax
    29ac:	89 c6                	mov    esi,eax
    29ae:	0f 85 99 01 00 00    	jne    2b4d <sys_renameat+0x1e4>
    29b4:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
    29b7:	be ee ff ff ff       	mov    esi,0xffffffee
    29bc:	3b 85 24 ff ff ff    	cmp    eax,DWORD PTR [ebp-0xdc]
    29c2:	0f 85 72 01 00 00    	jne    2b3a <sys_renameat+0x1d1>
    29c8:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    29cb:	83 7d b4 00          	cmp    DWORD PTR [ebp-0x4c],0x0
    29cf:	89 85 1c ff ff ff    	mov    DWORD PTR [ebp-0xe4],eax
    29d5:	0f 85 5a 01 00 00    	jne    2b35 <sys_renameat+0x1cc>
    29db:	8b 95 28 ff ff ff    	mov    edx,DWORD PTR [ebp-0xd8]
    29e1:	83 bd 50 ff ff ff 00 	cmp    DWORD PTR [ebp-0xb0],0x0
    29e8:	89 95 20 ff ff ff    	mov    DWORD PTR [ebp-0xe0],edx
    29ee:	0f 85 41 01 00 00    	jne    2b35 <sys_renameat+0x1cc>
    29f4:	8b 85 48 ff ff ff    	mov    eax,DWORD PTR [ebp-0xb8]
    29fa:	8b 95 1c ff ff ff    	mov    edx,DWORD PTR [ebp-0xe4]
    2a00:	83 65 ac ef          	and    DWORD PTR [ebp-0x54],0xffffffef
    2a04:	83 e0 ef             	and    eax,0xffffffef
    2a07:	80 cc 08             	or     ah,0x8
    2a0a:	89 85 48 ff ff ff    	mov    DWORD PTR [ebp-0xb8],eax
    2a10:	8b 85 20 ff ff ff    	mov    eax,DWORD PTR [ebp-0xe0]
    2a16:	e8 fc ff ff ff       	call   2a17 <sys_renameat+0xae>
    2a1b:	8b 55 8c             	mov    edx,DWORD PTR [ebp-0x74]
    2a1e:	89 d9                	mov    ecx,ebx
    2a20:	89 85 18 ff ff ff    	mov    DWORD PTR [ebp-0xe8],eax
    2a26:	8d 45 90             	lea    eax,[ebp-0x70]
    2a29:	e8 ab e0 ff ff       	call   ad9 <__lookup_hash>
    2a2e:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2a33:	89 c7                	mov    edi,eax
    2a35:	89 c6                	mov    esi,eax
    2a37:	0f 87 e5 00 00 00    	ja     2b22 <sys_renameat+0x1b9>
    2a3d:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2a40:	be fe ff ff ff       	mov    esi,0xfffffffe
    2a45:	85 c0                	test   eax,eax
    2a47:	0f 84 ce 00 00 00    	je     2b1b <sys_renameat+0x1b2>
    2a4d:	0f b7 00             	movzx  eax,WORD PTR [eax]
    2a50:	25 00 f0 00 00       	and    eax,0xf000
    2a55:	3d 00 40 00 00       	cmp    eax,0x4000
    2a5a:	74 26                	je     2a82 <sys_renameat+0x119>
    2a5c:	8b 45 94             	mov    eax,DWORD PTR [ebp-0x6c]
    2a5f:	8b 55 98             	mov    edx,DWORD PTR [ebp-0x68]
    2a62:	80 3c 02 00          	cmp    BYTE PTR [edx+eax*1],0x0
    2a66:	0f 85 aa 00 00 00    	jne    2b16 <sys_renameat+0x1ad>
    2a6c:	8b 85 30 ff ff ff    	mov    eax,DWORD PTR [ebp-0xd0]
    2a72:	8b 95 34 ff ff ff    	mov    edx,DWORD PTR [ebp-0xcc]
    2a78:	80 3c 02 00          	cmp    BYTE PTR [edx+eax*1],0x0
    2a7c:	0f 85 94 00 00 00    	jne    2b16 <sys_renameat+0x1ad>
    2a82:	3b bd 18 ff ff ff    	cmp    edi,DWORD PTR [ebp-0xe8]
    2a88:	be ea ff ff ff       	mov    esi,0xffffffea
    2a8d:	0f 84 88 00 00 00    	je     2b1b <sys_renameat+0x1b2>
    2a93:	8b 95 28 ff ff ff    	mov    edx,DWORD PTR [ebp-0xd8]
    2a99:	8d 85 2c ff ff ff    	lea    eax,[ebp-0xd4]
    2a9f:	8d 8d 24 ff ff ff    	lea    ecx,[ebp-0xdc]
    2aa5:	e8 2f e0 ff ff       	call   ad9 <__lookup_hash>
    2aaa:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2aaf:	89 c3                	mov    ebx,eax
    2ab1:	89 c6                	mov    esi,eax
    2ab3:	77 66                	ja     2b1b <sys_renameat+0x1b2>
    2ab5:	3b 85 18 ff ff ff    	cmp    eax,DWORD PTR [ebp-0xe8]
    2abb:	be d9 ff ff ff       	mov    esi,0xffffffd9
    2ac0:	74 4b                	je     2b0d <sys_renameat+0x1a4>
    2ac2:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
    2ac5:	e8 fc ff ff ff       	call   2ac6 <sys_renameat+0x15d>
    2aca:	85 c0                	test   eax,eax
    2acc:	89 c6                	mov    esi,eax
    2ace:	75 3d                	jne    2b0d <sys_renameat+0x1a4>
    2ad0:	89 fa                	mov    edx,edi
    2ad2:	8d 45 88             	lea    eax,[ebp-0x78]
    2ad5:	53                   	push   ebx
    2ad6:	8d 8d 24 ff ff ff    	lea    ecx,[ebp-0xdc]
    2adc:	e8 fc ff ff ff       	call   2add <sys_renameat+0x174>
    2ae1:	5a                   	pop    edx
    2ae2:	85 c0                	test   eax,eax
    2ae4:	89 c6                	mov    esi,eax
    2ae6:	75 1d                	jne    2b05 <sys_renameat+0x19c>
    2ae8:	8b 85 20 ff ff ff    	mov    eax,DWORD PTR [ebp-0xe0]
    2aee:	8b 95 1c ff ff ff    	mov    edx,DWORD PTR [ebp-0xe4]
    2af4:	8b 48 20             	mov    ecx,DWORD PTR [eax+0x20]
    2af7:	8b 42 20             	mov    eax,DWORD PTR [edx+0x20]
    2afa:	89 fa                	mov    edx,edi
    2afc:	53                   	push   ebx
    2afd:	e8 fc ff ff ff       	call   2afe <sys_renameat+0x195>
    2b02:	89 c6                	mov    esi,eax
    2b04:	58                   	pop    eax
    2b05:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
    2b08:	e8 fc ff ff ff       	call   2b09 <sys_renameat+0x1a0>
    2b0d:	89 d8                	mov    eax,ebx
    2b0f:	e8 fc ff ff ff       	call   2b10 <sys_renameat+0x1a7>
    2b14:	eb 05                	jmp    2b1b <sys_renameat+0x1b2>
    2b16:	be ec ff ff ff       	mov    esi,0xffffffec
    2b1b:	89 f8                	mov    eax,edi
    2b1d:	e8 fc ff ff ff       	call   2b1e <sys_renameat+0x1b5>
    2b22:	8b 95 1c ff ff ff    	mov    edx,DWORD PTR [ebp-0xe4]
    2b28:	8b 85 20 ff ff ff    	mov    eax,DWORD PTR [ebp-0xe0]
    2b2e:	e8 fc ff ff ff       	call   2b2f <sys_renameat+0x1c6>
    2b33:	eb 05                	jmp    2b3a <sys_renameat+0x1d1>
    2b35:	be f0 ff ff ff       	mov    esi,0xfffffff0
    2b3a:	8d 85 24 ff ff ff    	lea    eax,[ebp-0xdc]
    2b40:	e8 fc ff ff ff       	call   2b41 <sys_renameat+0x1d8>
    2b45:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    2b48:	e8 fc ff ff ff       	call   2b49 <sys_renameat+0x1e0>
    2b4d:	8d 45 88             	lea    eax,[ebp-0x78]
    2b50:	e8 fc ff ff ff       	call   2b51 <sys_renameat+0x1e8>
    2b55:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2b58:	e8 fc ff ff ff       	call   2b59 <sys_renameat+0x1f0>
    2b5d:	8d 65 f4             	lea    esp,[ebp-0xc]
    2b60:	89 f0                	mov    eax,esi
    2b62:	5b                   	pop    ebx
    2b63:	5e                   	pop    esi
    2b64:	5f                   	pop    edi
    2b65:	5d                   	pop    ebp
    2b66:	c3                   	ret    

00002b67 <sys_rename>:
    2b67:	55                   	push   ebp
    2b68:	89 e5                	mov    ebp,esp
    2b6a:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    2b6d:	6a 9c                	push   0xffffff9c
    2b6f:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    2b72:	6a 9c                	push   0xffffff9c
    2b74:	e8 fc ff ff ff       	call   2b75 <sys_rename+0xe>
    2b79:	c9                   	leave  
    2b7a:	c3                   	ret    

00002b7b <do_unlinkat>:
    2b7b:	55                   	push   ebp
    2b7c:	89 e5                	mov    ebp,esp
    2b7e:	57                   	push   edi
    2b7f:	56                   	push   esi
    2b80:	53                   	push   ebx
    2b81:	83 ec 68             	sub    esp,0x68
    2b84:	8d 4d f0             	lea    ecx,[ebp-0x10]
    2b87:	8d 5d 8c             	lea    ebx,[ebp-0x74]
    2b8a:	51                   	push   ecx
    2b8b:	89 d9                	mov    ecx,ebx
    2b8d:	e8 86 fd ff ff       	call   2918 <user_path_parent>
    2b92:	89 c7                	mov    edi,eax
    2b94:	85 ff                	test   edi,edi
    2b96:	58                   	pop    eax
    2b97:	0f 85 e1 00 00 00    	jne    2c7e <do_unlinkat+0x103>
    2b9d:	83 7d b8 00          	cmp    DWORD PTR [ebp-0x48],0x0
    2ba1:	bf eb ff ff ff       	mov    edi,0xffffffeb
    2ba6:	0f 85 9d 00 00 00    	jne    2c49 <do_unlinkat+0xce>
    2bac:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2baf:	83 65 b0 ef          	and    DWORD PTR [ebp-0x50],0xffffffef
    2bb3:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2bb6:	83 c0 1c             	add    eax,0x1c
    2bb9:	e8 fc ff ff ff       	call   2bba <do_unlinkat+0x3f>
    2bbe:	8b 55 90             	mov    edx,DWORD PTR [ebp-0x70]
    2bc1:	8d 45 94             	lea    eax,[ebp-0x6c]
    2bc4:	89 d9                	mov    ecx,ebx
    2bc6:	e8 0e df ff ff       	call   ad9 <__lookup_hash>
    2bcb:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2bd0:	89 c6                	mov    esi,eax
    2bd2:	76 06                	jbe    2bda <do_unlinkat+0x5f>
    2bd4:	89 c7                	mov    edi,eax
    2bd6:	31 db                	xor    ebx,ebx
    2bd8:	eb 56                	jmp    2c30 <do_unlinkat+0xb5>
    2bda:	8b 45 98             	mov    eax,DWORD PTR [ebp-0x68]
    2bdd:	8b 55 9c             	mov    edx,DWORD PTR [ebp-0x64]
    2be0:	8b 5e 20             	mov    ebx,DWORD PTR [esi+0x20]
    2be3:	80 3c 02 00          	cmp    BYTE PTR [edx+eax*1],0x0
    2be7:	75 72                	jne    2c5b <do_unlinkat+0xe0>
    2be9:	85 db                	test   ebx,ebx
    2beb:	74 07                	je     2bf4 <do_unlinkat+0x79>
    2bed:	89 d8                	mov    eax,ebx
    2bef:	e8 fc ff ff ff       	call   2bf0 <do_unlinkat+0x75>
    2bf4:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2bf7:	e8 fc ff ff ff       	call   2bf8 <do_unlinkat+0x7d>
    2bfc:	85 c0                	test   eax,eax
    2bfe:	89 c7                	mov    edi,eax
    2c00:	75 27                	jne    2c29 <do_unlinkat+0xae>
    2c02:	8d 45 8c             	lea    eax,[ebp-0x74]
    2c05:	89 f2                	mov    edx,esi
    2c07:	e8 fc ff ff ff       	call   2c08 <do_unlinkat+0x8d>
    2c0c:	85 c0                	test   eax,eax
    2c0e:	89 c7                	mov    edi,eax
    2c10:	75 0f                	jne    2c21 <do_unlinkat+0xa6>
    2c12:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2c15:	89 f2                	mov    edx,esi
    2c17:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2c1a:	e8 fc ff ff ff       	call   2c1b <do_unlinkat+0xa0>
    2c1f:	89 c7                	mov    edi,eax
    2c21:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2c24:	e8 fc ff ff ff       	call   2c25 <do_unlinkat+0xaa>
    2c29:	89 f0                	mov    eax,esi
    2c2b:	e8 fc ff ff ff       	call   2c2c <do_unlinkat+0xb1>
    2c30:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2c33:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2c36:	83 c0 1c             	add    eax,0x1c
    2c39:	e8 fc ff ff ff       	call   2c3a <do_unlinkat+0xbf>
    2c3e:	85 db                	test   ebx,ebx
    2c40:	74 07                	je     2c49 <do_unlinkat+0xce>
    2c42:	89 d8                	mov    eax,ebx
    2c44:	e8 fc ff ff ff       	call   2c45 <do_unlinkat+0xca>
    2c49:	8d 45 8c             	lea    eax,[ebp-0x74]
    2c4c:	e8 fc ff ff ff       	call   2c4d <do_unlinkat+0xd2>
    2c51:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2c54:	e8 fc ff ff ff       	call   2c55 <do_unlinkat+0xda>
    2c59:	eb 23                	jmp    2c7e <do_unlinkat+0x103>
    2c5b:	85 db                	test   ebx,ebx
    2c5d:	bf fe ff ff ff       	mov    edi,0xfffffffe
    2c62:	74 c5                	je     2c29 <do_unlinkat+0xae>
    2c64:	0f b7 03             	movzx  eax,WORD PTR [ebx]
    2c67:	31 db                	xor    ebx,ebx
    2c69:	25 00 f0 00 00       	and    eax,0xf000
    2c6e:	3d 00 40 00 00       	cmp    eax,0x4000
    2c73:	0f 95 c0             	setne  al
    2c76:	0f b6 f8             	movzx  edi,al
    2c79:	83 ef 15             	sub    edi,0x15
    2c7c:	eb ab                	jmp    2c29 <do_unlinkat+0xae>
    2c7e:	8d 65 f4             	lea    esp,[ebp-0xc]
    2c81:	89 f8                	mov    eax,edi
    2c83:	5b                   	pop    ebx
    2c84:	5e                   	pop    esi
    2c85:	5f                   	pop    edi
    2c86:	5d                   	pop    ebp
    2c87:	c3                   	ret    

00002c88 <sys_unlink>:
    2c88:	55                   	push   ebp
    2c89:	b8 9c ff ff ff       	mov    eax,0xffffff9c
    2c8e:	89 e5                	mov    ebp,esp
    2c90:	8b 55 08             	mov    edx,DWORD PTR [ebp+0x8]
    2c93:	e8 e3 fe ff ff       	call   2b7b <do_unlinkat>
    2c98:	5d                   	pop    ebp
    2c99:	c3                   	ret    

00002c9a <do_rmdir>:
    2c9a:	55                   	push   ebp
    2c9b:	89 e5                	mov    ebp,esp
    2c9d:	57                   	push   edi
    2c9e:	56                   	push   esi
    2c9f:	53                   	push   ebx
    2ca0:	83 ec 68             	sub    esp,0x68
    2ca3:	8d 4d f0             	lea    ecx,[ebp-0x10]
    2ca6:	8d 5d 8c             	lea    ebx,[ebp-0x74]
    2ca9:	51                   	push   ecx
    2caa:	89 d9                	mov    ecx,ebx
    2cac:	e8 67 fc ff ff       	call   2918 <user_path_parent>
    2cb1:	5a                   	pop    edx
    2cb2:	85 c0                	test   eax,eax
    2cb4:	89 c7                	mov    edi,eax
    2cb6:	0f 85 a4 00 00 00    	jne    2d60 <do_rmdir+0xc6>
    2cbc:	8b 45 b8             	mov    eax,DWORD PTR [ebp-0x48]
    2cbf:	bf ea ff ff ff       	mov    edi,0xffffffea
    2cc4:	83 f8 02             	cmp    eax,0x2
    2cc7:	0f 84 83 00 00 00    	je     2d50 <do_rmdir+0xb6>
    2ccd:	83 f8 03             	cmp    eax,0x3
    2cd0:	66 bf d9 ff          	mov    di,0xffd9
    2cd4:	74 7a                	je     2d50 <do_rmdir+0xb6>
    2cd6:	48                   	dec    eax
    2cd7:	66 bf f0 ff          	mov    di,0xfff0
    2cdb:	74 73                	je     2d50 <do_rmdir+0xb6>
    2cdd:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2ce0:	83 65 b0 ef          	and    DWORD PTR [ebp-0x50],0xffffffef
    2ce4:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2ce7:	83 c0 1c             	add    eax,0x1c
    2cea:	e8 fc ff ff ff       	call   2ceb <do_rmdir+0x51>
    2cef:	8b 55 90             	mov    edx,DWORD PTR [ebp-0x70]
    2cf2:	8d 45 94             	lea    eax,[ebp-0x6c]
    2cf5:	89 d9                	mov    ecx,ebx
    2cf7:	e8 dd dd ff ff       	call   ad9 <__lookup_hash>
    2cfc:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2d01:	89 c6                	mov    esi,eax
    2d03:	89 c7                	mov    edi,eax
    2d05:	77 3b                	ja     2d42 <do_rmdir+0xa8>
    2d07:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2d0a:	e8 fc ff ff ff       	call   2d0b <do_rmdir+0x71>
    2d0f:	85 c0                	test   eax,eax
    2d11:	89 c7                	mov    edi,eax
    2d13:	75 26                	jne    2d3b <do_rmdir+0xa1>
    2d15:	89 f2                	mov    edx,esi
    2d17:	89 d8                	mov    eax,ebx
    2d19:	e8 fc ff ff ff       	call   2d1a <do_rmdir+0x80>
    2d1e:	85 c0                	test   eax,eax
    2d20:	89 c7                	mov    edi,eax
    2d22:	75 0f                	jne    2d33 <do_rmdir+0x99>
    2d24:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2d27:	89 f2                	mov    edx,esi
    2d29:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2d2c:	e8 fc ff ff ff       	call   2d2d <do_rmdir+0x93>
    2d31:	89 c7                	mov    edi,eax
    2d33:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2d36:	e8 fc ff ff ff       	call   2d37 <do_rmdir+0x9d>
    2d3b:	89 f0                	mov    eax,esi
    2d3d:	e8 fc ff ff ff       	call   2d3e <do_rmdir+0xa4>
    2d42:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2d45:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2d48:	83 c0 1c             	add    eax,0x1c
    2d4b:	e8 fc ff ff ff       	call   2d4c <do_rmdir+0xb2>
    2d50:	8d 45 8c             	lea    eax,[ebp-0x74]
    2d53:	e8 fc ff ff ff       	call   2d54 <do_rmdir+0xba>
    2d58:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2d5b:	e8 fc ff ff ff       	call   2d5c <do_rmdir+0xc2>
    2d60:	8d 65 f4             	lea    esp,[ebp-0xc]
    2d63:	89 f8                	mov    eax,edi
    2d65:	5b                   	pop    ebx
    2d66:	5e                   	pop    esi
    2d67:	5f                   	pop    edi
    2d68:	5d                   	pop    ebp
    2d69:	c3                   	ret    

00002d6a <sys_unlinkat>:
    2d6a:	55                   	push   ebp
    2d6b:	b9 ea ff ff ff       	mov    ecx,0xffffffea
    2d70:	89 e5                	mov    ebp,esp
    2d72:	53                   	push   ebx
    2d73:	8b 5d 10             	mov    ebx,DWORD PTR [ebp+0x10]
    2d76:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    2d79:	8b 55 0c             	mov    edx,DWORD PTR [ebp+0xc]
    2d7c:	f7 c3 ff fd ff ff    	test   ebx,0xfffffdff
    2d82:	75 13                	jne    2d97 <sys_unlinkat+0x2d>
    2d84:	80 e7 02             	and    bh,0x2
    2d87:	74 07                	je     2d90 <sys_unlinkat+0x26>
    2d89:	e8 0c ff ff ff       	call   2c9a <do_rmdir>
    2d8e:	eb 05                	jmp    2d95 <sys_unlinkat+0x2b>
    2d90:	e8 e6 fd ff ff       	call   2b7b <do_unlinkat>
    2d95:	89 c1                	mov    ecx,eax
    2d97:	89 c8                	mov    eax,ecx
    2d99:	5b                   	pop    ebx
    2d9a:	5d                   	pop    ebp
    2d9b:	c3                   	ret    

00002d9c <sys_rmdir>:
    2d9c:	55                   	push   ebp
    2d9d:	b8 9c ff ff ff       	mov    eax,0xffffff9c
    2da2:	89 e5                	mov    ebp,esp
    2da4:	8b 55 08             	mov    edx,DWORD PTR [ebp+0x8]
    2da7:	e8 ee fe ff ff       	call   2c9a <do_rmdir>
    2dac:	5d                   	pop    ebp
    2dad:	c3                   	ret    

00002dae <sys_mkdirat>:
    2dae:	55                   	push   ebp
    2daf:	89 e5                	mov    ebp,esp
    2db1:	57                   	push   edi
    2db2:	56                   	push   esi
    2db3:	53                   	push   ebx
    2db4:	83 ec 68             	sub    esp,0x68
    2db7:	8b 55 0c             	mov    edx,DWORD PTR [ebp+0xc]
    2dba:	8d 45 f0             	lea    eax,[ebp-0x10]
    2dbd:	8b 75 10             	mov    esi,DWORD PTR [ebp+0x10]
    2dc0:	50                   	push   eax
    2dc1:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    2dc4:	8d 5d 8c             	lea    ebx,[ebp-0x74]
    2dc7:	89 d9                	mov    ecx,ebx
    2dc9:	e8 4a fb ff ff       	call   2918 <user_path_parent>
    2dce:	59                   	pop    ecx
    2dcf:	85 c0                	test   eax,eax
    2dd1:	89 c7                	mov    edi,eax
    2dd3:	0f 85 8d 00 00 00    	jne    2e66 <sys_mkdirat+0xb8>
    2dd9:	89 d8                	mov    eax,ebx
    2ddb:	ba 01 00 00 00       	mov    edx,0x1
    2de0:	e8 fc ff ff ff       	call   2de1 <sys_mkdirat+0x33>
    2de5:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2dea:	89 c3                	mov    ebx,eax
    2dec:	89 c7                	mov    edi,eax
    2dee:	77 58                	ja     2e48 <sys_mkdirat+0x9a>
    2df0:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2df3:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2df6:	8b 40 10             	mov    eax,DWORD PTR [eax+0x10]
    2df9:	f6 40 32 01          	test   BYTE PTR [eax+0x32],0x1
    2dfd:	75 09                	jne    2e08 <sys_mkdirat+0x5a>
    2dff:	e8 fc ff ff ff       	call   2e00 <sys_mkdirat+0x52>
    2e04:	f7 d0                	not    eax
    2e06:	21 c6                	and    esi,eax
    2e08:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2e0b:	e8 fc ff ff ff       	call   2e0c <sys_mkdirat+0x5e>
    2e10:	85 c0                	test   eax,eax
    2e12:	89 c7                	mov    edi,eax
    2e14:	75 2b                	jne    2e41 <sys_mkdirat+0x93>
    2e16:	8d 45 8c             	lea    eax,[ebp-0x74]
    2e19:	89 f1                	mov    ecx,esi
    2e1b:	89 da                	mov    edx,ebx
    2e1d:	e8 fc ff ff ff       	call   2e1e <sys_mkdirat+0x70>
    2e22:	85 c0                	test   eax,eax
    2e24:	89 c7                	mov    edi,eax
    2e26:	75 11                	jne    2e39 <sys_mkdirat+0x8b>
    2e28:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2e2b:	89 f1                	mov    ecx,esi
    2e2d:	89 da                	mov    edx,ebx
    2e2f:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2e32:	e8 fc ff ff ff       	call   2e33 <sys_mkdirat+0x85>
    2e37:	89 c7                	mov    edi,eax
    2e39:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2e3c:	e8 fc ff ff ff       	call   2e3d <sys_mkdirat+0x8f>
    2e41:	89 d8                	mov    eax,ebx
    2e43:	e8 fc ff ff ff       	call   2e44 <sys_mkdirat+0x96>
    2e48:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2e4b:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2e4e:	83 c0 1c             	add    eax,0x1c
    2e51:	e8 fc ff ff ff       	call   2e52 <sys_mkdirat+0xa4>
    2e56:	8d 45 8c             	lea    eax,[ebp-0x74]
    2e59:	e8 fc ff ff ff       	call   2e5a <sys_mkdirat+0xac>
    2e5e:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    2e61:	e8 fc ff ff ff       	call   2e62 <sys_mkdirat+0xb4>
    2e66:	8d 65 f4             	lea    esp,[ebp-0xc]
    2e69:	89 f8                	mov    eax,edi
    2e6b:	5b                   	pop    ebx
    2e6c:	5e                   	pop    esi
    2e6d:	5f                   	pop    edi
    2e6e:	5d                   	pop    ebp
    2e6f:	c3                   	ret    

00002e70 <sys_mkdir>:
    2e70:	55                   	push   ebp
    2e71:	89 e5                	mov    ebp,esp
    2e73:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    2e76:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    2e79:	6a 9c                	push   0xffffff9c
    2e7b:	e8 fc ff ff ff       	call   2e7c <sys_mkdir+0xc>
    2e80:	c9                   	leave  
    2e81:	c3                   	ret    

00002e82 <sys_mknodat>:
    2e82:	55                   	push   ebp
    2e83:	89 e5                	mov    ebp,esp
    2e85:	57                   	push   edi
    2e86:	83 cf ff             	or     edi,0xffffffff
    2e89:	56                   	push   esi
    2e8a:	53                   	push   ebx
    2e8b:	83 ec 68             	sub    esp,0x68
    2e8e:	8b 5d 10             	mov    ebx,DWORD PTR [ebp+0x10]
    2e91:	89 d8                	mov    eax,ebx
    2e93:	25 00 f0 00 00       	and    eax,0xf000
    2e98:	3d 00 40 00 00       	cmp    eax,0x4000
    2e9d:	0f 84 76 01 00 00    	je     3019 <sys_mknodat+0x197>
    2ea3:	8d 45 f0             	lea    eax,[ebp-0x10]
    2ea6:	8b 55 0c             	mov    edx,DWORD PTR [ebp+0xc]
    2ea9:	50                   	push   eax
    2eaa:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    2ead:	8d 75 8c             	lea    esi,[ebp-0x74]
    2eb0:	89 f1                	mov    ecx,esi
    2eb2:	e8 61 fa ff ff       	call   2918 <user_path_parent>
    2eb7:	5a                   	pop    edx
    2eb8:	85 c0                	test   eax,eax
    2eba:	89 c7                	mov    edi,eax
    2ebc:	0f 85 57 01 00 00    	jne    3019 <sys_mknodat+0x197>
    2ec2:	31 d2                	xor    edx,edx
    2ec4:	89 f0                	mov    eax,esi
    2ec6:	e8 fc ff ff ff       	call   2ec7 <sys_mknodat+0x45>
    2ecb:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    2ed0:	89 c6                	mov    esi,eax
    2ed2:	89 c7                	mov    edi,eax
    2ed4:	0f 87 21 01 00 00    	ja     2ffb <sys_mknodat+0x179>
    2eda:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2edd:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2ee0:	8b 40 10             	mov    eax,DWORD PTR [eax+0x10]
    2ee3:	f6 40 32 01          	test   BYTE PTR [eax+0x32],0x1
    2ee7:	75 09                	jne    2ef2 <sys_mknodat+0x70>
    2ee9:	e8 fc ff ff ff       	call   2eea <sys_mknodat+0x68>
    2eee:	f7 d0                	not    eax
    2ef0:	21 c3                	and    ebx,eax
    2ef2:	89 d8                	mov    eax,ebx
    2ef4:	83 cf ff             	or     edi,0xffffffff
    2ef7:	25 00 f0 00 00       	and    eax,0xf000
    2efc:	3d 00 40 00 00       	cmp    eax,0x4000
    2f01:	0f 84 ed 00 00 00    	je     2ff4 <sys_mknodat+0x172>
    2f07:	7f 12                	jg     2f1b <sys_mknodat+0x99>
    2f09:	3d 00 10 00 00       	cmp    eax,0x1000
    2f0e:	74 2a                	je     2f3a <sys_mknodat+0xb8>
    2f10:	3d 00 20 00 00       	cmp    eax,0x2000
    2f15:	74 23                	je     2f3a <sys_mknodat+0xb8>
    2f17:	85 c0                	test   eax,eax
    2f19:	eb 13                	jmp    2f2e <sys_mknodat+0xac>
    2f1b:	3d 00 80 00 00       	cmp    eax,0x8000
    2f20:	74 18                	je     2f3a <sys_mknodat+0xb8>
    2f22:	3d 00 c0 00 00       	cmp    eax,0xc000
    2f27:	74 11                	je     2f3a <sys_mknodat+0xb8>
    2f29:	3d 00 60 00 00       	cmp    eax,0x6000
    2f2e:	74 0a                	je     2f3a <sys_mknodat+0xb8>
    2f30:	bf ea ff ff ff       	mov    edi,0xffffffea
    2f35:	e9 ba 00 00 00       	jmp    2ff4 <sys_mknodat+0x172>
    2f3a:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2f3d:	e8 fc ff ff ff       	call   2f3e <sys_mknodat+0xbc>
    2f42:	85 c0                	test   eax,eax
    2f44:	89 c7                	mov    edi,eax
    2f46:	0f 85 a8 00 00 00    	jne    2ff4 <sys_mknodat+0x172>
    2f4c:	ff 75 14             	push   DWORD PTR [ebp+0x14]
    2f4f:	89 d9                	mov    ecx,ebx
    2f51:	8d 45 8c             	lea    eax,[ebp-0x74]
    2f54:	89 f2                	mov    edx,esi
    2f56:	e8 fc ff ff ff       	call   2f57 <sys_mknodat+0xd5>
    2f5b:	89 c7                	mov    edi,eax
    2f5d:	85 ff                	test   edi,edi
    2f5f:	58                   	pop    eax
    2f60:	0f 85 86 00 00 00    	jne    2fec <sys_mknodat+0x16a>
    2f66:	89 d8                	mov    eax,ebx
    2f68:	25 00 f0 00 00       	and    eax,0xf000
    2f6d:	3d 00 20 00 00       	cmp    eax,0x2000
    2f72:	74 3b                	je     2faf <sys_mknodat+0x12d>
    2f74:	7f 0d                	jg     2f83 <sys_mknodat+0x101>
    2f76:	85 c0                	test   eax,eax
    2f78:	74 20                	je     2f9a <sys_mknodat+0x118>
    2f7a:	3d 00 10 00 00       	cmp    eax,0x1000
    2f7f:	75 6b                	jne    2fec <sys_mknodat+0x16a>
    2f81:	eb 55                	jmp    2fd8 <sys_mknodat+0x156>
    2f83:	3d 00 80 00 00       	cmp    eax,0x8000
    2f88:	74 10                	je     2f9a <sys_mknodat+0x118>
    2f8a:	3d 00 c0 00 00       	cmp    eax,0xc000
    2f8f:	74 47                	je     2fd8 <sys_mknodat+0x156>
    2f91:	3d 00 60 00 00       	cmp    eax,0x6000
    2f96:	75 54                	jne    2fec <sys_mknodat+0x16a>
    2f98:	eb 15                	jmp    2faf <sys_mknodat+0x12d>
    2f9a:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2f9d:	8d 55 8c             	lea    edx,[ebp-0x74]
    2fa0:	89 d9                	mov    ecx,ebx
    2fa2:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2fa5:	52                   	push   edx
    2fa6:	89 f2                	mov    edx,esi
    2fa8:	e8 fc ff ff ff       	call   2fa9 <sys_mknodat+0x127>
    2fad:	eb 3a                	jmp    2fe9 <sys_mknodat+0x167>
    2faf:	8b 55 14             	mov    edx,DWORD PTR [ebp+0x14]
    2fb2:	0f b6 4d 14          	movzx  ecx,BYTE PTR [ebp+0x14]
    2fb6:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2fb9:	c1 ea 0c             	shr    edx,0xc
    2fbc:	81 e2 00 ff 0f 00    	and    edx,0xfff00
    2fc2:	09 ca                	or     edx,ecx
    2fc4:	8b 4d 14             	mov    ecx,DWORD PTR [ebp+0x14]
    2fc7:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2fca:	81 e1 00 ff 0f 00    	and    ecx,0xfff00
    2fd0:	c1 e1 0c             	shl    ecx,0xc
    2fd3:	09 ca                	or     edx,ecx
    2fd5:	52                   	push   edx
    2fd6:	eb 08                	jmp    2fe0 <sys_mknodat+0x15e>
    2fd8:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2fdb:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    2fde:	6a 00                	push   0x0
    2fe0:	89 d9                	mov    ecx,ebx
    2fe2:	89 f2                	mov    edx,esi
    2fe4:	e8 fc ff ff ff       	call   2fe5 <sys_mknodat+0x163>
    2fe9:	5b                   	pop    ebx
    2fea:	89 c7                	mov    edi,eax
    2fec:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    2fef:	e8 fc ff ff ff       	call   2ff0 <sys_mknodat+0x16e>
    2ff4:	89 f0                	mov    eax,esi
    2ff6:	e8 fc ff ff ff       	call   2ff7 <sys_mknodat+0x175>
    2ffb:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    2ffe:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    3001:	83 c0 1c             	add    eax,0x1c
    3004:	e8 fc ff ff ff       	call   3005 <sys_mknodat+0x183>
    3009:	8d 45 8c             	lea    eax,[ebp-0x74]
    300c:	e8 fc ff ff ff       	call   300d <sys_mknodat+0x18b>
    3011:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    3014:	e8 fc ff ff ff       	call   3015 <sys_mknodat+0x193>
    3019:	8d 65 f4             	lea    esp,[ebp-0xc]
    301c:	89 f8                	mov    eax,edi
    301e:	5b                   	pop    ebx
    301f:	5e                   	pop    esi
    3020:	5f                   	pop    edi
    3021:	5d                   	pop    ebp
    3022:	c3                   	ret    

00003023 <sys_mknod>:
    3023:	55                   	push   ebp
    3024:	89 e5                	mov    ebp,esp
    3026:	ff 75 10             	push   DWORD PTR [ebp+0x10]
    3029:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    302c:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    302f:	6a 9c                	push   0xffffff9c
    3031:	e8 fc ff ff ff       	call   3032 <sys_mknod+0xf>
    3036:	c9                   	leave  
    3037:	c3                   	ret    

00003038 <sys_symlinkat>:
    3038:	55                   	push   ebp
    3039:	89 e5                	mov    ebp,esp
    303b:	57                   	push   edi
    303c:	56                   	push   esi
    303d:	53                   	push   ebx
    303e:	83 ec 6c             	sub    esp,0x6c
    3041:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    3044:	e8 fc ff ff ff       	call   3045 <sys_symlinkat+0xd>
    3049:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    304e:	89 c6                	mov    esi,eax
    3050:	89 c2                	mov    edx,eax
    3052:	0f 87 ad 00 00 00    	ja     3105 <sys_symlinkat+0xcd>
    3058:	8d 45 f0             	lea    eax,[ebp-0x10]
    305b:	8b 55 10             	mov    edx,DWORD PTR [ebp+0x10]
    305e:	50                   	push   eax
    305f:	8b 45 0c             	mov    eax,DWORD PTR [ebp+0xc]
    3062:	8d 7d 8c             	lea    edi,[ebp-0x74]
    3065:	89 f9                	mov    ecx,edi
    3067:	e8 ac f8 ff ff       	call   2918 <user_path_parent>
    306c:	59                   	pop    ecx
    306d:	85 c0                	test   eax,eax
    306f:	89 c2                	mov    edx,eax
    3071:	0f 85 81 00 00 00    	jne    30f8 <sys_symlinkat+0xc0>
    3077:	89 f8                	mov    eax,edi
    3079:	e8 fc ff ff ff       	call   307a <sys_symlinkat+0x42>
    307e:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    3083:	89 c3                	mov    ebx,eax
    3085:	89 c2                	mov    edx,eax
    3087:	77 4b                	ja     30d4 <sys_symlinkat+0x9c>
    3089:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    308c:	e8 fc ff ff ff       	call   308d <sys_symlinkat+0x55>
    3091:	85 c0                	test   eax,eax
    3093:	89 c2                	mov    edx,eax
    3095:	75 30                	jne    30c7 <sys_symlinkat+0x8f>
    3097:	89 da                	mov    edx,ebx
    3099:	89 f1                	mov    ecx,esi
    309b:	89 f8                	mov    eax,edi
    309d:	e8 fc ff ff ff       	call   309e <sys_symlinkat+0x66>
    30a2:	85 c0                	test   eax,eax
    30a4:	89 c2                	mov    edx,eax
    30a6:	75 11                	jne    30b9 <sys_symlinkat+0x81>
    30a8:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    30ab:	89 da                	mov    edx,ebx
    30ad:	89 f1                	mov    ecx,esi
    30af:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    30b2:	e8 fc ff ff ff       	call   30b3 <sys_symlinkat+0x7b>
    30b7:	89 c2                	mov    edx,eax
    30b9:	8b 45 8c             	mov    eax,DWORD PTR [ebp-0x74]
    30bc:	89 55 88             	mov    DWORD PTR [ebp-0x78],edx
    30bf:	e8 fc ff ff ff       	call   30c0 <sys_symlinkat+0x88>
    30c4:	8b 55 88             	mov    edx,DWORD PTR [ebp-0x78]
    30c7:	89 d8                	mov    eax,ebx
    30c9:	89 55 88             	mov    DWORD PTR [ebp-0x78],edx
    30cc:	e8 fc ff ff ff       	call   30cd <sys_symlinkat+0x95>
    30d1:	8b 55 88             	mov    edx,DWORD PTR [ebp-0x78]
    30d4:	8b 45 90             	mov    eax,DWORD PTR [ebp-0x70]
    30d7:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    30da:	89 55 88             	mov    DWORD PTR [ebp-0x78],edx
    30dd:	83 c0 1c             	add    eax,0x1c
    30e0:	e8 fc ff ff ff       	call   30e1 <sys_symlinkat+0xa9>
    30e5:	8d 45 8c             	lea    eax,[ebp-0x74]
    30e8:	e8 fc ff ff ff       	call   30e9 <sys_symlinkat+0xb1>
    30ed:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    30f0:	e8 fc ff ff ff       	call   30f1 <sys_symlinkat+0xb9>
    30f5:	8b 55 88             	mov    edx,DWORD PTR [ebp-0x78]
    30f8:	89 f0                	mov    eax,esi
    30fa:	89 55 88             	mov    DWORD PTR [ebp-0x78],edx
    30fd:	e8 fc ff ff ff       	call   30fe <sys_symlinkat+0xc6>
    3102:	8b 55 88             	mov    edx,DWORD PTR [ebp-0x78]
    3105:	8d 65 f4             	lea    esp,[ebp-0xc]
    3108:	89 d0                	mov    eax,edx
    310a:	5b                   	pop    ebx
    310b:	5e                   	pop    esi
    310c:	5f                   	pop    edi
    310d:	5d                   	pop    ebp
    310e:	c3                   	ret    

0000310f <sys_symlink>:
    310f:	55                   	push   ebp
    3110:	89 e5                	mov    ebp,esp
    3112:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    3115:	6a 9c                	push   0xffffff9c
    3117:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    311a:	e8 fc ff ff ff       	call   311b <sys_symlink+0xc>
    311f:	c9                   	leave  
    3120:	c3                   	ret    

00003121 <user_path_at>:
    3121:	55                   	push   ebp
    3122:	89 e5                	mov    ebp,esp
    3124:	57                   	push   edi
    3125:	56                   	push   esi
    3126:	89 c6                	mov    esi,eax
    3128:	53                   	push   ebx
    3129:	89 d0                	mov    eax,edx
    312b:	83 ec 68             	sub    esp,0x68
    312e:	89 4d 8c             	mov    DWORD PTR [ebp-0x74],ecx
    3131:	e8 fc ff ff ff       	call   3132 <user_path_at+0x11>
    3136:	8b 4d 8c             	mov    ecx,DWORD PTR [ebp-0x74]
    3139:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    313e:	89 c3                	mov    ebx,eax
    3140:	89 c7                	mov    edi,eax
    3142:	77 32                	ja     3176 <user_path_at+0x55>
    3144:	f6 c1 10             	test   cl,0x10
    3147:	74 04                	je     314d <user_path_at+0x2c>
    3149:	0f 0b                	ud2    
    314b:	eb fe                	jmp    314b <user_path_at+0x2a>
    314d:	8d 45 90             	lea    eax,[ebp-0x70]
    3150:	89 da                	mov    edx,ebx
    3152:	50                   	push   eax
    3153:	89 f0                	mov    eax,esi
    3155:	e8 9e f6 ff ff       	call   27f8 <do_path_lookup>
    315a:	89 c7                	mov    edi,eax
    315c:	89 d8                	mov    eax,ebx
    315e:	e8 fc ff ff ff       	call   315f <user_path_at+0x3e>
    3163:	85 ff                	test   edi,edi
    3165:	5b                   	pop    ebx
    3166:	75 0e                	jne    3176 <user_path_at+0x55>
    3168:	8b 55 90             	mov    edx,DWORD PTR [ebp-0x70]
    316b:	8b 4d 94             	mov    ecx,DWORD PTR [ebp-0x6c]
    316e:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    3171:	89 10                	mov    DWORD PTR [eax],edx
    3173:	89 48 04             	mov    DWORD PTR [eax+0x4],ecx
    3176:	8d 65 f4             	lea    esp,[ebp-0xc]
    3179:	89 f8                	mov    eax,edi
    317b:	5b                   	pop    ebx
    317c:	5e                   	pop    esi
    317d:	5f                   	pop    edi
    317e:	5d                   	pop    ebp
    317f:	c3                   	ret    

00003180 <sys_linkat>:
    3180:	55                   	push   ebp
    3181:	89 e5                	mov    ebp,esp
    3183:	57                   	push   edi
    3184:	bf ea ff ff ff       	mov    edi,0xffffffea
    3189:	56                   	push   esi
    318a:	53                   	push   ebx
    318b:	83 ec 70             	sub    esp,0x70
    318e:	8b 4d 18             	mov    ecx,DWORD PTR [ebp+0x18]
    3191:	f7 c1 ff fb ff ff    	test   ecx,0xfffffbff
    3197:	0f 85 c7 00 00 00    	jne    3264 <sys_linkat+0xe4>
    319d:	8d 45 e8             	lea    eax,[ebp-0x18]
    31a0:	8b 55 0c             	mov    edx,DWORD PTR [ebp+0xc]
    31a3:	50                   	push   eax
    31a4:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    31a7:	c1 e9 0a             	shr    ecx,0xa
    31aa:	83 e1 01             	and    ecx,0x1
    31ad:	e8 fc ff ff ff       	call   31ae <sys_linkat+0x2e>
    31b2:	5a                   	pop    edx
    31b3:	85 c0                	test   eax,eax
    31b5:	89 c7                	mov    edi,eax
    31b7:	0f 85 a7 00 00 00    	jne    3264 <sys_linkat+0xe4>
    31bd:	8d 45 f0             	lea    eax,[ebp-0x10]
    31c0:	8b 55 14             	mov    edx,DWORD PTR [ebp+0x14]
    31c3:	50                   	push   eax
    31c4:	8b 45 10             	mov    eax,DWORD PTR [ebp+0x10]
    31c7:	8d 75 84             	lea    esi,[ebp-0x7c]
    31ca:	89 f1                	mov    ecx,esi
    31cc:	e8 47 f7 ff ff       	call   2918 <user_path_parent>
    31d1:	89 c7                	mov    edi,eax
    31d3:	85 ff                	test   edi,edi
    31d5:	58                   	pop    eax
    31d6:	0f 85 80 00 00 00    	jne    325c <sys_linkat+0xdc>
    31dc:	8b 45 e8             	mov    eax,DWORD PTR [ebp-0x18]
    31df:	bf ee ff ff ff       	mov    edi,0xffffffee
    31e4:	3b 45 84             	cmp    eax,DWORD PTR [ebp-0x7c]
    31e7:	75 63                	jne    324c <sys_linkat+0xcc>
    31e9:	31 d2                	xor    edx,edx
    31eb:	89 f0                	mov    eax,esi
    31ed:	e8 fc ff ff ff       	call   31ee <sys_linkat+0x6e>
    31f2:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    31f7:	89 c3                	mov    ebx,eax
    31f9:	89 c7                	mov    edi,eax
    31fb:	77 41                	ja     323e <sys_linkat+0xbe>
    31fd:	8b 45 84             	mov    eax,DWORD PTR [ebp-0x7c]
    3200:	e8 fc ff ff ff       	call   3201 <sys_linkat+0x81>
    3205:	85 c0                	test   eax,eax
    3207:	89 c7                	mov    edi,eax
    3209:	75 2c                	jne    3237 <sys_linkat+0xb7>
    320b:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    320e:	89 d9                	mov    ecx,ebx
    3210:	89 f2                	mov    edx,esi
    3212:	e8 fc ff ff ff       	call   3213 <sys_linkat+0x93>
    3217:	85 c0                	test   eax,eax
    3219:	89 c7                	mov    edi,eax
    321b:	75 12                	jne    322f <sys_linkat+0xaf>
    321d:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
    3220:	89 d9                	mov    ecx,ebx
    3222:	8b 50 20             	mov    edx,DWORD PTR [eax+0x20]
    3225:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    3228:	e8 fc ff ff ff       	call   3229 <sys_linkat+0xa9>
    322d:	89 c7                	mov    edi,eax
    322f:	8b 45 84             	mov    eax,DWORD PTR [ebp-0x7c]
    3232:	e8 fc ff ff ff       	call   3233 <sys_linkat+0xb3>
    3237:	89 d8                	mov    eax,ebx
    3239:	e8 fc ff ff ff       	call   323a <sys_linkat+0xba>
    323e:	8b 45 88             	mov    eax,DWORD PTR [ebp-0x78]
    3241:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    3244:	83 c0 1c             	add    eax,0x1c
    3247:	e8 fc ff ff ff       	call   3248 <sys_linkat+0xc8>
    324c:	8d 45 84             	lea    eax,[ebp-0x7c]
    324f:	e8 fc ff ff ff       	call   3250 <sys_linkat+0xd0>
    3254:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    3257:	e8 fc ff ff ff       	call   3258 <sys_linkat+0xd8>
    325c:	8d 45 e8             	lea    eax,[ebp-0x18]
    325f:	e8 fc ff ff ff       	call   3260 <sys_linkat+0xe0>
    3264:	8d 65 f4             	lea    esp,[ebp-0xc]
    3267:	89 f8                	mov    eax,edi
    3269:	5b                   	pop    ebx
    326a:	5e                   	pop    esi
    326b:	5f                   	pop    edi
    326c:	5d                   	pop    ebp
    326d:	c3                   	ret    

0000326e <sys_link>:
    326e:	55                   	push   ebp
    326f:	89 e5                	mov    ebp,esp
    3271:	6a 00                	push   0x0
    3273:	ff 75 0c             	push   DWORD PTR [ebp+0xc]
    3276:	6a 9c                	push   0xffffff9c
    3278:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    327b:	6a 9c                	push   0xffffff9c
    327d:	e8 fc ff ff ff       	call   327e <sys_link+0x10>
    3282:	c9                   	leave  
    3283:	c3                   	ret    

00003284 <do_filp_open>:
    3284:	55                   	push   ebp
    3285:	89 e5                	mov    ebp,esp
    3287:	57                   	push   edi
    3288:	56                   	push   esi
    3289:	53                   	push   ebx
    328a:	81 ec 94 00 00 00    	sub    esp,0x94
    3290:	8b 7d 0c             	mov    edi,DWORD PTR [ebp+0xc]
    3293:	89 95 74 ff ff ff    	mov    DWORD PTR [ebp-0x8c],edx
    3299:	8d 51 01             	lea    edx,[ecx+0x1]
    329c:	f6 c2 03             	test   dl,0x3
    329f:	0f 44 d1             	cmove  edx,ecx
    32a2:	f6 c1 40             	test   cl,0x40
    32a5:	89 85 68 ff ff ff    	mov    DWORD PTR [ebp-0x98],eax
    32ab:	b8 00 00 00 00       	mov    eax,0x0
    32b0:	0f 45 45 08          	cmovne eax,DWORD PTR [ebp+0x8]
    32b4:	89 45 08             	mov    DWORD PTR [ebp+0x8],eax
    32b7:	89 c8                	mov    eax,ecx
    32b9:	25 ff ff ff fe       	and    eax,0xfeffffff
    32be:	89 85 7c ff ff ff    	mov    DWORD PTR [ebp-0x84],eax
    32c4:	80 cc 10             	or     ah,0x10
    32c7:	81 e1 00 00 10 00    	and    ecx,0x100000
    32cd:	0f 44 85 7c ff ff ff 	cmove  eax,DWORD PTR [ebp-0x84]
    32d4:	85 ff                	test   edi,edi
    32d6:	89 85 7c ff ff ff    	mov    DWORD PTR [ebp-0x84],eax
    32dc:	75 0f                	jne    32ed <do_filp_open+0x69>
    32de:	83 e0 03             	and    eax,0x3
    32e1:	8a 80 51 00 00 00    	mov    al,BYTE PTR [eax+0x51]
    32e7:	83 c8 20             	or     eax,0x20
    32ea:	0f be f8             	movsx  edi,al
    32ed:	89 f8                	mov    eax,edi
    32ef:	8b 8d 7c ff ff ff    	mov    ecx,DWORD PTR [ebp-0x84]
    32f5:	83 c8 02             	or     eax,0x2
    32f8:	f7 85 7c ff ff ff 00 	test   DWORD PTR [ebp-0x84],0x200
    32ff:	02 00 00 
    3302:	0f 45 f8             	cmovne edi,eax
    3305:	89 f8                	mov    eax,edi
    3307:	83 c8 08             	or     eax,0x8
    330a:	f7 85 7c ff ff ff 00 	test   DWORD PTR [ebp-0x84],0x400
    3311:	04 00 00 
    3314:	0f 45 f8             	cmovne edi,eax
    3317:	83 e1 40             	and    ecx,0x40
    331a:	89 8d 78 ff ff ff    	mov    DWORD PTR [ebp-0x88],ecx
    3320:	75 07                	jne    3329 <do_filp_open+0xa5>
    3322:	be 00 01 00 00       	mov    esi,0x100
    3327:	eb 19                	jmp    3342 <do_filp_open+0xbe>
    3329:	8a 85 7c ff ff ff    	mov    al,BYTE PTR [ebp-0x84]
    332f:	83 e0 80             	and    eax,0xffffff80
    3332:	3c 01                	cmp    al,0x1
    3334:	19 f6                	sbb    esi,esi
    3336:	81 e6 00 fc ff ff    	and    esi,0xfffffc00
    333c:	81 c6 00 07 00 00    	add    esi,0x700
    3342:	89 f0                	mov    eax,esi
    3344:	bb e9 ff ff ff       	mov    ebx,0xffffffe9
    3349:	83 c8 02             	or     eax,0x2
    334c:	f7 85 7c ff ff ff 00 	test   DWORD PTR [ebp-0x84],0x10000
    3353:	00 01 00 
    3356:	89 95 60 ff ff ff    	mov    DWORD PTR [ebp-0xa0],edx
    335c:	0f 45 f0             	cmovne esi,eax
    335f:	89 f0                	mov    eax,esi
    3361:	83 c8 01             	or     eax,0x1
    3364:	f7 85 7c ff ff ff 00 	test   DWORD PTR [ebp-0x84],0x20000
    336b:	00 02 00 
    336e:	0f 44 f0             	cmove  esi,eax
    3371:	e8 fc ff ff ff       	call   3372 <do_filp_open+0xee>
    3376:	8b 95 60 ff ff ff    	mov    edx,DWORD PTR [ebp-0xa0]
    337c:	85 c0                	test   eax,eax
    337e:	0f 84 06 04 00 00    	je     378a <do_filp_open+0x506>
    3384:	8b 8d 7c ff ff ff    	mov    ecx,DWORD PTR [ebp-0x84]
    338a:	89 48 20             	mov    DWORD PTR [eax+0x20],ecx
    338d:	89 45 e0             	mov    DWORD PTR [ebp-0x20],eax
    3390:	8b 45 08             	mov    eax,DWORD PTR [ebp+0x8]
    3393:	83 bd 78 ff ff ff 00 	cmp    DWORD PTR [ebp-0x88],0x0
    339a:	89 55 d8             	mov    DWORD PTR [ebp-0x28],edx
    339d:	89 45 dc             	mov    DWORD PTR [ebp-0x24],eax
    33a0:	0f 85 91 00 00 00    	jne    3437 <do_filp_open+0x1b3>
    33a6:	8d 55 80             	lea    edx,[ebp-0x80]
    33a9:	8b 85 68 ff ff ff    	mov    eax,DWORD PTR [ebp-0x98]
    33af:	89 f1                	mov    ecx,esi
    33b1:	52                   	push   edx
    33b2:	8b 95 74 ff ff ff    	mov    edx,DWORD PTR [ebp-0x8c]
    33b8:	e8 3b f4 ff ff       	call   27f8 <do_path_lookup>
    33bd:	5a                   	pop    edx
    33be:	85 c0                	test   eax,eax
    33c0:	89 c3                	mov    ebx,eax
    33c2:	0f 85 a5 03 00 00    	jne    376d <do_filp_open+0x4e9>
    33c8:	8b 45 a4             	mov    eax,DWORD PTR [ebp-0x5c]
    33cb:	a8 01                	test   al,0x1
    33cd:	75 20                	jne    33ef <do_filp_open+0x16b>
    33cf:	8b 55 a0             	mov    edx,DWORD PTR [ebp-0x60]
    33d2:	8b 52 0c             	mov    edx,DWORD PTR [edx+0xc]
    33d5:	83 7a 04 00          	cmp    DWORD PTR [edx+0x4],0x0
    33d9:	74 14                	je     33ef <do_filp_open+0x16b>
    33db:	c7 85 78 ff ff ff 00 	mov    DWORD PTR [ebp-0x88],0x0
    33e2:	00 00 00 
    33e5:	bb d8 ff ff ff       	mov    ebx,0xffffffd8
    33ea:	e9 74 03 00 00       	jmp    3763 <do_filp_open+0x4df>
    33ef:	a8 02                	test   al,0x2
    33f1:	74 1f                	je     3412 <do_filp_open+0x18e>
    33f3:	8b 45 a0             	mov    eax,DWORD PTR [ebp-0x60]
    33f6:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    33f9:	83 38 00             	cmp    DWORD PTR [eax],0x0
    33fc:	75 14                	jne    3412 <do_filp_open+0x18e>
    33fe:	c7 85 78 ff ff ff 00 	mov    DWORD PTR [ebp-0x88],0x0
    3405:	00 00 00 
    3408:	bb ec ff ff ff       	mov    ebx,0xffffffec
    340d:	e9 51 03 00 00       	jmp    3763 <do_filp_open+0x4df>
    3412:	8b 55 84             	mov    edx,DWORD PTR [ebp-0x7c]
    3415:	8b 85 74 ff ff ff    	mov    eax,DWORD PTR [ebp-0x8c]
    341b:	e8 f4 d9 ff ff       	call   e14 <audit_inode>
    3420:	8b 95 7c ff ff ff    	mov    edx,DWORD PTR [ebp-0x84]
    3426:	8d 45 80             	lea    eax,[ebp-0x80]
    3429:	89 f9                	mov    ecx,edi
    342b:	e8 9f e5 ff ff       	call   19cf <finish_open>
    3430:	89 c3                	mov    ebx,eax
    3432:	e9 53 03 00 00       	jmp    378a <do_filp_open+0x506>
    3437:	8d 45 80             	lea    eax,[ebp-0x80]
    343a:	8b 95 74 ff ff ff    	mov    edx,DWORD PTR [ebp-0x8c]
    3440:	89 f1                	mov    ecx,esi
    3442:	50                   	push   eax
    3443:	8b 85 68 ff ff ff    	mov    eax,DWORD PTR [ebp-0x98]
    3449:	83 e1 20             	and    ecx,0x20
    344c:	83 c9 10             	or     ecx,0x10
    344f:	e8 5b e9 ff ff       	call   1daf <path_init_rcu>
    3454:	89 c3                	mov    ebx,eax
    3456:	85 db                	test   ebx,ebx
    3458:	58                   	pop    eax
    3459:	0f 85 0e 03 00 00    	jne    376d <do_filp_open+0x4e9>
    345f:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    3465:	c7 80 08 02 00 00 00 	mov    DWORD PTR [eax+0x208],0x0
    346c:	00 00 00 
    346f:	8b 85 74 ff ff ff    	mov    eax,DWORD PTR [ebp-0x8c]
    3475:	8d 55 80             	lea    edx,[ebp-0x80]
    3478:	e8 10 ee ff ff       	call   228d <link_path_walk>
    347d:	89 c3                	mov    ebx,eax
    347f:	8d 45 80             	lea    eax,[ebp-0x80]
    3482:	e8 5f d9 ff ff       	call   de6 <path_finish_rcu>
    3487:	83 fb 8c             	cmp    ebx,0xffffff8c
    348a:	74 11                	je     349d <do_filp_open+0x219>
    348c:	83 fb f6             	cmp    ebx,0xfffffff6
    348f:	c7 85 78 ff ff ff 00 	mov    DWORD PTR [ebp-0x88],0x0
    3496:	00 00 00 
    3499:	75 57                	jne    34f2 <do_filp_open+0x26e>
    349b:	eb 0d                	jmp    34aa <do_filp_open+0x226>
    349d:	c7 85 78 ff ff ff 00 	mov    DWORD PTR [ebp-0x88],0x0
    34a4:	00 00 00 
    34a7:	83 ce 20             	or     esi,0x20
    34aa:	8d 55 80             	lea    edx,[ebp-0x80]
    34ad:	8b 85 68 ff ff ff    	mov    eax,DWORD PTR [ebp-0x98]
    34b3:	89 f1                	mov    ecx,esi
    34b5:	52                   	push   edx
    34b6:	8b 95 74 ff ff ff    	mov    edx,DWORD PTR [ebp-0x8c]
    34bc:	83 e1 20             	and    ecx,0x20
    34bf:	83 c9 10             	or     ecx,0x10
    34c2:	e8 33 ea ff ff       	call   1efa <path_init>
    34c7:	59                   	pop    ecx
    34c8:	85 c0                	test   eax,eax
    34ca:	89 c3                	mov    ebx,eax
    34cc:	0f 85 a5 02 00 00    	jne    3777 <do_filp_open+0x4f3>
    34d2:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    34d8:	c7 80 08 02 00 00 00 	mov    DWORD PTR [eax+0x208],0x0
    34df:	00 00 00 
    34e2:	8b 85 74 ff ff ff    	mov    eax,DWORD PTR [ebp-0x8c]
    34e8:	8d 55 80             	lea    edx,[ebp-0x80]
    34eb:	e8 9d ed ff ff       	call   228d <link_path_walk>
    34f0:	89 c3                	mov    ebx,eax
    34f2:	85 db                	test   ebx,ebx
    34f4:	0f 85 7d 02 00 00    	jne    3777 <do_filp_open+0x4f3>
    34fa:	64 a1 00 00 00 00    	mov    eax,fs:0x0
    3500:	8b 80 e0 02 00 00    	mov    eax,DWORD PTR [eax+0x2e0]
    3506:	85 c0                	test   eax,eax
    3508:	74 09                	je     3513 <do_filp_open+0x28f>
    350a:	83 38 00             	cmp    DWORD PTR [eax],0x0
    350d:	0f 84 81 02 00 00    	je     3794 <do_filp_open+0x510>
    3513:	ff b5 74 ff ff ff    	push   DWORD PTR [ebp-0x8c]
    3519:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    351c:	8b 8d 7c ff ff ff    	mov    ecx,DWORD PTR [ebp-0x84]
    3522:	8d 55 ec             	lea    edx,[ebp-0x14]
    3525:	8d 45 80             	lea    eax,[ebp-0x80]
    3528:	89 75 a4             	mov    DWORD PTR [ebp-0x5c],esi
    352b:	57                   	push   edi
    352c:	e8 70 e6 ff ff       	call   1ba1 <do_last>
    3531:	64 8b 0d 00 00 00 00 	mov    ecx,DWORD PTR fs:0x0
    3538:	89 8d 64 ff ff ff    	mov    DWORD PTR [ebp-0x9c],ecx
    353e:	89 c3                	mov    ebx,eax
    3540:	83 c4 0c             	add    esp,0xc
    3543:	e9 de 01 00 00       	jmp    3726 <do_filp_open+0x4a2>
    3548:	8b 55 a4             	mov    edx,DWORD PTR [ebp-0x5c]
    354b:	f6 c2 01             	test   dl,0x1
    354e:	75 16                	jne    3566 <do_filp_open+0x2e2>
    3550:	8b 45 a0             	mov    eax,DWORD PTR [ebp-0x60]
    3553:	0f b7 00             	movzx  eax,WORD PTR [eax]
    3556:	25 00 f0 00 00       	and    eax,0xf000
    355b:	3d 00 40 00 00       	cmp    eax,0x4000
    3560:	0f 85 e9 01 00 00    	jne    374f <do_filp_open+0x4cb>
    3566:	ff 85 78 ff ff ff    	inc    DWORD PTR [ebp-0x88]
    356c:	83 bd 78 ff ff ff 21 	cmp    DWORD PTR [ebp-0x88],0x21
    3573:	0f 84 d6 01 00 00    	je     374f <do_filp_open+0x4cb>
    3579:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    357c:	83 ca 10             	or     edx,0x10
    357f:	89 55 a4             	mov    DWORD PTR [ebp-0x5c],edx
    3582:	8d 55 80             	lea    edx,[ebp-0x80]
    3585:	e8 fc ff ff ff       	call   3586 <do_filp_open+0x302>
    358a:	85 c0                	test   eax,eax
    358c:	0f 85 c4 01 00 00    	jne    3756 <do_filp_open+0x4d2>
    3592:	8b 5d f0             	mov    ebx,DWORD PTR [ebp-0x10]
    3595:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    3598:	89 da                	mov    edx,ebx
    359a:	e8 fc ff ff ff       	call   359b <do_filp_open+0x317>
    359f:	8b 45 b0             	mov    eax,DWORD PTR [ebp-0x50]
    35a2:	c7 44 85 b4 00 00 00 	mov    DWORD PTR [ebp+eax*4-0x4c],0x0
    35a9:	00 
    35aa:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    35ad:	3b 45 80             	cmp    eax,DWORD PTR [ebp-0x80]
    35b0:	74 1b                	je     35cd <do_filp_open+0x349>
    35b2:	8d 45 ec             	lea    eax,[ebp-0x14]
    35b5:	8d 55 80             	lea    edx,[ebp-0x80]
    35b8:	e8 4b d2 ff ff       	call   808 <path_to_nameidata>
    35bd:	8b 45 84             	mov    eax,DWORD PTR [ebp-0x7c]
    35c0:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    35c3:	89 45 a0             	mov    DWORD PTR [ebp-0x60],eax
    35c6:	89 d8                	mov    eax,ebx
    35c8:	e8 90 cb ff ff       	call   15d <dget>
    35cd:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    35d0:	85 c0                	test   eax,eax
    35d2:	74 04                	je     35d8 <do_filp_open+0x354>
    35d4:	f0 ff 40 70          	lock inc DWORD PTR [eax+0x70]
    35d8:	c7 45 ac 04 00 00 00 	mov    DWORD PTR [ebp-0x54],0x4
    35df:	8b 43 20             	mov    eax,DWORD PTR [ebx+0x20]
    35e2:	8d 55 80             	lea    edx,[ebp-0x80]
    35e5:	8b 48 0c             	mov    ecx,DWORD PTR [eax+0xc]
    35e8:	89 d8                	mov    eax,ebx
    35ea:	ff 51 04             	call   DWORD PTR [ecx+0x4]
    35ed:	3d 00 f0 ff ff       	cmp    eax,0xfffff000
    35f2:	89 85 70 ff ff ff    	mov    DWORD PTR [ebp-0x90],eax
    35f8:	0f 87 83 00 00 00    	ja     3681 <do_filp_open+0x3fd>
    35fe:	8b 45 b0             	mov    eax,DWORD PTR [ebp-0x50]
    3601:	8b 5c 85 b4          	mov    ebx,DWORD PTR [ebp+eax*4-0x4c]
    3605:	85 db                	test   ebx,ebx
    3607:	74 58                	je     3661 <do_filp_open+0x3dd>
    3609:	81 fb 00 f0 ff ff    	cmp    ebx,0xfffff000
    360f:	77 66                	ja     3677 <do_filp_open+0x3f3>
    3611:	80 3b 2f             	cmp    BYTE PTR [ebx],0x2f
    3614:	75 36                	jne    364c <do_filp_open+0x3c8>
    3616:	83 7d 94 00          	cmp    DWORD PTR [ebp-0x6c],0x0
    361a:	75 14                	jne    3630 <do_filp_open+0x3ac>
    361c:	8b 95 64 ff ff ff    	mov    edx,DWORD PTR [ebp-0x9c]
    3622:	8b 82 90 02 00 00    	mov    eax,DWORD PTR [edx+0x290]
    3628:	8d 55 94             	lea    edx,[ebp-0x6c]
    362b:	e8 61 cb ff ff       	call   191 <get_fs_root>
    3630:	8d 45 80             	lea    eax,[ebp-0x80]
    3633:	e8 fc ff ff ff       	call   3634 <do_filp_open+0x3b0>
    3638:	8b 45 94             	mov    eax,DWORD PTR [ebp-0x6c]
    363b:	8b 55 98             	mov    edx,DWORD PTR [ebp-0x68]
    363e:	89 45 80             	mov    DWORD PTR [ebp-0x80],eax
    3641:	8d 45 94             	lea    eax,[ebp-0x6c]
    3644:	89 55 84             	mov    DWORD PTR [ebp-0x7c],edx
    3647:	e8 fc ff ff ff       	call   3648 <do_filp_open+0x3c4>
    364c:	8b 45 84             	mov    eax,DWORD PTR [ebp-0x7c]
    364f:	8d 55 80             	lea    edx,[ebp-0x80]
    3652:	8b 40 20             	mov    eax,DWORD PTR [eax+0x20]
    3655:	89 45 a0             	mov    DWORD PTR [ebp-0x60],eax
    3658:	89 d8                	mov    eax,ebx
    365a:	e8 2e ec ff ff       	call   228d <link_path_walk>
    365f:	eb 20                	jmp    3681 <do_filp_open+0x3fd>
    3661:	83 7d ac 04          	cmp    DWORD PTR [ebp-0x54],0x4
    3665:	75 62                	jne    36c9 <do_filp_open+0x445>
    3667:	8d 55 80             	lea    edx,[ebp-0x80]
    366a:	89 d0                	mov    eax,edx
    366c:	e8 4d d5 ff ff       	call   bbe <force_reval_path>
    3671:	85 c0                	test   eax,eax
    3673:	74 54                	je     36c9 <do_filp_open+0x445>
    3675:	89 c3                	mov    ebx,eax
    3677:	8d 45 80             	lea    eax,[ebp-0x80]
    367a:	e8 fc ff ff ff       	call   367b <do_filp_open+0x3f7>
    367f:	eb 12                	jmp    3693 <do_filp_open+0x40f>
    3681:	85 c0                	test   eax,eax
    3683:	74 44                	je     36c9 <do_filp_open+0x445>
    3685:	81 bd 70 ff ff ff 00 	cmp    DWORD PTR [ebp-0x90],0xfffff000
    368c:	f0 ff ff 
    368f:	89 c3                	mov    ebx,eax
    3691:	77 25                	ja     36b8 <do_filp_open+0x434>
    3693:	8b 45 a0             	mov    eax,DWORD PTR [ebp-0x60]
    3696:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    3699:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    369c:	85 c0                	test   eax,eax
    369e:	89 85 6c ff ff ff    	mov    DWORD PTR [ebp-0x94],eax
    36a4:	74 12                	je     36b8 <do_filp_open+0x434>
    36a6:	8b 8d 70 ff ff ff    	mov    ecx,DWORD PTR [ebp-0x90]
    36ac:	8d 55 80             	lea    edx,[ebp-0x80]
    36af:	8b 45 f0             	mov    eax,DWORD PTR [ebp-0x10]
    36b2:	ff 95 6c ff ff ff    	call   DWORD PTR [ebp-0x94]
    36b8:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    36bb:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    36be:	89 45 80             	mov    DWORD PTR [ebp-0x80],eax
    36c1:	89 55 84             	mov    DWORD PTR [ebp-0x7c],edx
    36c4:	e9 9a 00 00 00       	jmp    3763 <do_filp_open+0x4df>
    36c9:	ff b5 74 ff ff ff    	push   DWORD PTR [ebp-0x8c]
    36cf:	8b 45 ec             	mov    eax,DWORD PTR [ebp-0x14]
    36d2:	8b 55 f0             	mov    edx,DWORD PTR [ebp-0x10]
    36d5:	ff 75 08             	push   DWORD PTR [ebp+0x8]
    36d8:	8b 8d 7c ff ff ff    	mov    ecx,DWORD PTR [ebp-0x84]
    36de:	89 45 e4             	mov    DWORD PTR [ebp-0x1c],eax
    36e1:	8d 45 80             	lea    eax,[ebp-0x80]
    36e4:	89 55 e8             	mov    DWORD PTR [ebp-0x18],edx
    36e7:	8d 55 ec             	lea    edx,[ebp-0x14]
    36ea:	57                   	push   edi
    36eb:	83 65 a4 ef          	and    DWORD PTR [ebp-0x5c],0xffffffef
    36ef:	e8 ad e4 ff ff       	call   1ba1 <do_last>
    36f4:	89 c3                	mov    ebx,eax
    36f6:	8b 45 a0             	mov    eax,DWORD PTR [ebp-0x60]
    36f9:	83 c4 0c             	add    esp,0xc
    36fc:	8b 40 0c             	mov    eax,DWORD PTR [eax+0xc]
    36ff:	8b 40 1c             	mov    eax,DWORD PTR [eax+0x1c]
    3702:	85 c0                	test   eax,eax
    3704:	89 85 6c ff ff ff    	mov    DWORD PTR [ebp-0x94],eax
    370a:	74 12                	je     371e <do_filp_open+0x49a>
    370c:	8b 8d 70 ff ff ff    	mov    ecx,DWORD PTR [ebp-0x90]
    3712:	8d 55 80             	lea    edx,[ebp-0x80]
    3715:	8b 45 e8             	mov    eax,DWORD PTR [ebp-0x18]
    3718:	ff 95 6c ff ff ff    	call   DWORD PTR [ebp-0x94]
    371e:	8d 45 e4             	lea    eax,[ebp-0x1c]
    3721:	e8 fc ff ff ff       	call   3722 <do_filp_open+0x49e>
    3726:	85 db                	test   ebx,ebx
    3728:	0f 84 1a fe ff ff    	je     3548 <do_filp_open+0x2c4>
    372e:	83 7d 94 00          	cmp    DWORD PTR [ebp-0x6c],0x0
    3732:	74 08                	je     373c <do_filp_open+0x4b8>
    3734:	8d 45 94             	lea    eax,[ebp-0x6c]
    3737:	e8 fc ff ff ff       	call   3738 <do_filp_open+0x4b4>
    373c:	83 fb 8c             	cmp    ebx,0xffffff8c
    373f:	75 49                	jne    378a <do_filp_open+0x506>
    3741:	f7 c6 20 00 00 00    	test   esi,0x20
    3747:	0f 84 5a fd ff ff    	je     34a7 <do_filp_open+0x223>
    374d:	eb 3b                	jmp    378a <do_filp_open+0x506>
    374f:	bb d8 ff ff ff       	mov    ebx,0xffffffd8
    3754:	eb 02                	jmp    3758 <do_filp_open+0x4d4>
    3756:	89 c3                	mov    ebx,eax
    3758:	8d 55 80             	lea    edx,[ebp-0x80]
    375b:	8d 45 ec             	lea    eax,[ebp-0x14]
    375e:	e8 d5 d0 ff ff       	call   838 <path_put_conditional>
    3763:	8d 45 80             	lea    eax,[ebp-0x80]
    3766:	e8 fc ff ff ff       	call   3767 <do_filp_open+0x4e3>
    376b:	eb 0a                	jmp    3777 <do_filp_open+0x4f3>
    376d:	c7 85 78 ff ff ff 00 	mov    DWORD PTR [ebp-0x88],0x0
    3774:	00 00 00 
    3777:	81 7d e0 00 f0 ff ff 	cmp    DWORD PTR [ebp-0x20],0xfffff000
    377e:	77 ae                	ja     372e <do_filp_open+0x4aa>
    3780:	8d 45 80             	lea    eax,[ebp-0x80]
    3783:	e8 fc ff ff ff       	call   3784 <do_filp_open+0x500>
    3788:	eb a4                	jmp    372e <do_filp_open+0x4aa>
    378a:	8d 65 f4             	lea    esp,[ebp-0xc]
    378d:	89 d8                	mov    eax,ebx
    378f:	5b                   	pop    ebx
    3790:	5e                   	pop    esi
    3791:	5f                   	pop    edi
    3792:	5d                   	pop    ebp
    3793:	c3                   	ret    
    3794:	8b 55 84             	mov    edx,DWORD PTR [ebp-0x7c]
    3797:	8b 85 74 ff ff ff    	mov    eax,DWORD PTR [ebp-0x8c]
    379d:	e8 72 d6 ff ff       	call   e14 <audit_inode>
    37a2:	e9 6c fd ff ff       	jmp    3513 <do_filp_open+0x28f>

000037a7 <filp_open>:
    37a7:	55                   	push   ebp
    37a8:	89 e5                	mov    ebp,esp
    37aa:	6a 00                	push   0x0
    37ac:	51                   	push   ecx
    37ad:	89 d1                	mov    ecx,edx
    37af:	89 c2                	mov    edx,eax
    37b1:	b8 9c ff ff ff       	mov    eax,0xffffff9c
    37b6:	e8 fc ff ff ff       	call   37b7 <filp_open+0x10>
    37bb:	c9                   	leave  
    37bc:	c3                   	ret    

Disassembly of section .smp_locks:

00000000 <.smp_locks>:
   0:	83 01 00             	add    DWORD PTR [ecx],0x0
   3:	00 e1                	add    cl,ah
   5:	01 00                	add    DWORD PTR [eax],eax
   7:	00 12                	add    BYTE PTR [edx],dl
   9:	02 00                	add    al,BYTE PTR [eax]
   b:	00 9c 02 00 00 65 03 	add    BYTE PTR [edx+eax*1+0x3650000],bl
  12:	00 00                	add    BYTE PTR [eax],al
  14:	1c 0d                	sbb    al,0xd
  16:	00 00                	add    BYTE PTR [eax],al
  18:	ca 1a 00             	retf   0x1a
  1b:	00 83 21 00 00 ec    	add    BYTE PTR [ebx-0x13ffffdf],al
  21:	25 00 00 d4 35       	and    eax,0x35d40000
	...

Disassembly of section .rodata.str1.1:

00000000 <.rodata.str1.1>:
   0:	2f                   	das    
   1:	68 6f 6d 65 2f       	push   0x2f656d6f
   6:	73 64                	jae    6c <__kcrctab_lock_rename>
   8:	2f                   	das    
   9:	73 72                	jae    7d <__kcrctab_follow_down+0x1>
   b:	63 2f                	arpl   WORD PTR [edi],bp
   d:	6c                   	ins    BYTE PTR es:[edi],dx
   e:	69 6e 75 78 2d 32 2e 	imul   ebp,DWORD PTR [esi+0x75],0x2e322d78
  15:	36                   	ss
  16:	2f                   	das    
  17:	6c                   	ins    BYTE PTR es:[edi],dx
  18:	69 6e 75 78 2d 32 2e 	imul   ebp,DWORD PTR [esi+0x75],0x2e322d78
  1f:	36 2e 33 37          	ss xor esi,DWORD PTR cs:ss:[edi]
  23:	2d 72 63 34 2f       	sub    eax,0x2f346372
  28:	64 65 62 69 61       	fs bound ebp,QWORD PTR fs:gs:[ecx+0x61]
  2d:	6e                   	outs   dx,BYTE PTR ds:[esi]
  2e:	2f                   	das    
  2f:	62 75 69             	bound  esi,QWORD PTR [ebp+0x69]
  32:	6c                   	ins    BYTE PTR es:[edi],dx
  33:	64                   	fs
  34:	2f                   	das    
  35:	73 6f                	jae    a6 <page_symlink>
  37:	75 72                	jne    ab <__ksymtab_page_symlink+0x3>
  39:	63 65 5f             	arpl   WORD PTR [ebp+0x5f],sp
  3c:	69 33 38 36 5f 6e    	imul   esi,DWORD PTR [ebx],0x6e5f3638
  42:	6f                   	outs   dx,DWORD PTR ds:[esi]
  43:	6e                   	outs   dx,BYTE PTR ds:[esi]
  44:	65                   	gs
  45:	2f                   	das    
  46:	66                   	data16
  47:	73 2f                	jae    78 <__ksymtab_file_permission>
  49:	6e                   	outs   dx,BYTE PTR ds:[esi]
  4a:	61                   	popa   
  4b:	6d                   	ins    DWORD PTR es:[edi],dx
  4c:	65 69 2e 63 00 04 02 	imul   ebp,DWORD PTR gs:[esi],0x2040063
  53:	06                   	push   es
  54:	06                   	push   es
	...

Disassembly of section __bug_table:

00000000 <__bug_table>:
   0:	3e 02 00             	add    al,BYTE PTR ds:[eax]
   3:	00 00                	add    BYTE PTR [eax],al
   5:	00 00                	add    BYTE PTR [eax],al
   7:	00 fc                	add    ah,bh
   9:	01 00                	add    DWORD PTR [eax],eax
   b:	00 7e 02             	add    BYTE PTR [esi+0x2],bh
   e:	00 00                	add    BYTE PTR [eax],al
  10:	00 00                	add    BYTE PTR [eax],al
  12:	00 00                	add    BYTE PTR [eax],al
  14:	06                   	push   es
  15:	02 00                	add    al,BYTE PTR [eax]
  17:	00 e6                	add    dh,ah
  19:	02 00                	add    al,BYTE PTR [eax]
  1b:	00 00                	add    BYTE PTR [eax],al
  1d:	00 00                	add    BYTE PTR [eax],al
  1f:	00 d4                	add    ah,dl
  21:	01 00                	add    DWORD PTR [eax],eax
  23:	00 32                	add    BYTE PTR [edx],dh
  25:	03 00                	add    eax,DWORD PTR [eax]
  27:	00 00                	add    BYTE PTR [eax],al
  29:	00 00                	add    BYTE PTR [eax],al
  2b:	00 df                	add    bh,bl
  2d:	01 00                	add    DWORD PTR [eax],eax
  2f:	00 3d 03 00 00 00    	add    BYTE PTR ds:0x3,bh
  35:	00 00                	add    BYTE PTR [eax],al
  37:	00 e0                	add    al,ah
  39:	01 00                	add    DWORD PTR [eax],eax
  3b:	00 c0                	add    al,al
  3d:	03 00                	add    eax,DWORD PTR [eax]
  3f:	00 00                	add    BYTE PTR [eax],al
  41:	00 00                	add    BYTE PTR [eax],al
  43:	00 5e 02             	add    BYTE PTR [esi+0x2],bl
  46:	00 00                	add    BYTE PTR [eax],al
  48:	59                   	pop    ecx
  49:	0a 00                	or     al,BYTE PTR [eax]
  4b:	00 00                	add    BYTE PTR [eax],al
  4d:	00 00                	add    BYTE PTR [eax],al
  4f:	00 5a 04             	add    BYTE PTR [edx+0x4],bl
  52:	00 00                	add    BYTE PTR [eax],al
  54:	4c                   	dec    esp
  55:	14 00                	adc    al,0x0
  57:	00 00                	add    BYTE PTR [eax],al
  59:	00 00                	add    BYTE PTR [eax],al
  5b:	00 0f                	add    BYTE PTR [edi],cl
  5d:	07                   	pop    es
  5e:	00 00                	add    BYTE PTR [eax],al
  60:	1a 21                	sbb    ah,BYTE PTR [ecx]
  62:	00 00                	add    BYTE PTR [eax],al
  64:	00 00                	add    BYTE PTR [eax],al
  66:	00 00                	add    BYTE PTR [eax],al
  68:	48                   	dec    eax
  69:	03 00                	add    eax,DWORD PTR [eax]
  6b:	00 ef                	add    bh,ch
  6d:	23 00                	and    eax,DWORD PTR [eax]
  6f:	00 00                	add    BYTE PTR [eax],al
  71:	00 00                	add    BYTE PTR [eax],al
  73:	00 ef                	add    bh,ch
  75:	04 00                	add    al,0x0
  77:	00 0d 25 00 00 00    	add    BYTE PTR ds:0x25,cl
  7d:	00 00                	add    BYTE PTR [eax],al
  7f:	00 1d 05 00 00 df    	add    BYTE PTR ds:0xdf000005,bl
  85:	25 00 00 00 00       	and    eax,0x0
  8a:	00 00                	add    BYTE PTR [eax],al
  8c:	24 02                	and    al,0x2
  8e:	00 00                	add    BYTE PTR [eax],al
  90:	49                   	dec    ecx
  91:	31 00                	xor    DWORD PTR [eax],eax
  93:	00 00                	add    BYTE PTR [eax],al
  95:	00 00                	add    BYTE PTR [eax],al
  97:	00 c8                	add    al,cl
  99:	06                   	push   es
	...

Disassembly of section .rodata:

00000000 <page_symlink_inode_operations>:
	...

Disassembly of section __ksymtab:

00000000 <__ksymtab_generic_readlink>:
	...

00000008 <__ksymtab_dentry_unhash>:
   8:	00 00                	add    BYTE PTR [eax],al
   a:	00 00                	add    BYTE PTR [eax],al
   c:	11 00                	adc    DWORD PTR [eax],eax
	...

00000010 <__ksymtab_vfs_unlink>:
  10:	00 00                	add    BYTE PTR [eax],al
  12:	00 00                	add    BYTE PTR [eax],al
  14:	1f                   	pop    ds
  15:	00 00                	add    BYTE PTR [eax],al
	...

00000018 <__ksymtab_vfs_symlink>:
  18:	00 00                	add    BYTE PTR [eax],al
  1a:	00 00                	add    BYTE PTR [eax],al
  1c:	2a 00                	sub    al,BYTE PTR [eax]
	...

00000020 <__ksymtab_vfs_rmdir>:
  20:	00 00                	add    BYTE PTR [eax],al
  22:	00 00                	add    BYTE PTR [eax],al
  24:	36 00 00             	add    BYTE PTR ss:[eax],al
	...

00000028 <__ksymtab_vfs_rename>:
  28:	00 00                	add    BYTE PTR [eax],al
  2a:	00 00                	add    BYTE PTR [eax],al
  2c:	40                   	inc    eax
  2d:	00 00                	add    BYTE PTR [eax],al
	...

00000030 <__ksymtab_vfs_readlink>:
  30:	00 00                	add    BYTE PTR [eax],al
  32:	00 00                	add    BYTE PTR [eax],al
  34:	4b                   	dec    ebx
  35:	00 00                	add    BYTE PTR [eax],al
	...

00000038 <__ksymtab_generic_permission>:
  38:	00 00                	add    BYTE PTR [eax],al
  3a:	00 00                	add    BYTE PTR [eax],al
  3c:	58                   	pop    eax
  3d:	00 00                	add    BYTE PTR [eax],al
	...

00000040 <__ksymtab_generic_permission_rcu>:
  40:	00 00                	add    BYTE PTR [eax],al
  42:	00 00                	add    BYTE PTR [eax],al
  44:	6b 00 00             	imul   eax,DWORD PTR [eax],0x0
	...

00000048 <__ksymtab_vfs_mknod>:
  48:	00 00                	add    BYTE PTR [eax],al
  4a:	00 00                	add    BYTE PTR [eax],al
  4c:	82                   	(bad)  
  4d:	00 00                	add    BYTE PTR [eax],al
	...

00000050 <__ksymtab_vfs_mkdir>:
  50:	00 00                	add    BYTE PTR [eax],al
  52:	00 00                	add    BYTE PTR [eax],al
  54:	8c 00                	mov    WORD PTR [eax],es
	...

00000058 <__ksymtab_vfs_link>:
  58:	00 00                	add    BYTE PTR [eax],al
  5a:	00 00                	add    BYTE PTR [eax],al
  5c:	96                   	xchg   esi,eax
  5d:	00 00                	add    BYTE PTR [eax],al
	...

00000060 <__ksymtab_vfs_follow_link>:
  60:	00 00                	add    BYTE PTR [eax],al
  62:	00 00                	add    BYTE PTR [eax],al
  64:	9f                   	lahf   
  65:	00 00                	add    BYTE PTR [eax],al
	...

00000068 <__ksymtab_vfs_create>:
  68:	00 00                	add    BYTE PTR [eax],al
  6a:	00 00                	add    BYTE PTR [eax],al
  6c:	af                   	scas   eax,DWORD PTR es:[edi]
  6d:	00 00                	add    BYTE PTR [eax],al
	...

00000070 <__ksymtab_unlock_rename>:
  70:	00 00                	add    BYTE PTR [eax],al
  72:	00 00                	add    BYTE PTR [eax],al
  74:	ba 00 00 00 00       	mov    edx,0x0

00000078 <__ksymtab_file_permission>:
  78:	00 00                	add    BYTE PTR [eax],al
  7a:	00 00                	add    BYTE PTR [eax],al
  7c:	c8 00 00 00          	enter  0x0,0x0

00000080 <__ksymtab_inode_permission>:
  80:	00 00                	add    BYTE PTR [eax],al
  82:	00 00                	add    BYTE PTR [eax],al
  84:	d8 00                	fadd   DWORD PTR [eax]
	...

00000088 <__ksymtab_vfs_path_lookup>:
  88:	00 00                	add    BYTE PTR [eax],al
  8a:	00 00                	add    BYTE PTR [eax],al
  8c:	e9 00 00 00 00       	jmp    91 <__ksymtab_kern_path+0x1>

00000090 <__ksymtab_kern_path>:
  90:	00 00                	add    BYTE PTR [eax],al
  92:	00 00                	add    BYTE PTR [eax],al
  94:	f9                   	stc    
  95:	00 00                	add    BYTE PTR [eax],al
	...

00000098 <__ksymtab_path_lookup>:
  98:	00 00                	add    BYTE PTR [eax],al
  9a:	00 00                	add    BYTE PTR [eax],al
  9c:	03 01                	add    eax,DWORD PTR [ecx]
	...

000000a0 <__ksymtab_page_symlink_inode_operations>:
  a0:	00 00                	add    BYTE PTR [eax],al
  a2:	00 00                	add    BYTE PTR [eax],al
  a4:	0f 01 00             	sgdtd  [eax]
	...

000000a8 <__ksymtab_page_symlink>:
  a8:	00 00                	add    BYTE PTR [eax],al
  aa:	00 00                	add    BYTE PTR [eax],al
  ac:	2d 01 00 00 00       	sub    eax,0x1

000000b0 <__ksymtab___page_symlink>:
  b0:	00 00                	add    BYTE PTR [eax],al
  b2:	00 00                	add    BYTE PTR [eax],al
  b4:	3a 01                	cmp    al,BYTE PTR [ecx]
	...

000000b8 <__ksymtab_page_readlink>:
  b8:	00 00                	add    BYTE PTR [eax],al
  ba:	00 00                	add    BYTE PTR [eax],al
  bc:	49                   	dec    ecx
  bd:	01 00                	add    DWORD PTR [eax],eax
	...

000000c0 <__ksymtab_page_put_link>:
  c0:	00 00                	add    BYTE PTR [eax],al
  c2:	00 00                	add    BYTE PTR [eax],al
  c4:	57                   	push   edi
  c5:	01 00                	add    DWORD PTR [eax],eax
	...

000000c8 <__ksymtab_page_follow_link_light>:
  c8:	00 00                	add    BYTE PTR [eax],al
  ca:	00 00                	add    BYTE PTR [eax],al
  cc:	65 01 00             	add    DWORD PTR gs:[eax],eax
	...

000000d0 <__ksymtab_lookup_one_len>:
  d0:	00 00                	add    BYTE PTR [eax],al
  d2:	00 00                	add    BYTE PTR [eax],al
  d4:	7c 01                	jl     d7 <__ksymtab_lookup_one_len+0x7>
	...

000000d8 <__ksymtab_lock_rename>:
  d8:	00 00                	add    BYTE PTR [eax],al
  da:	00 00                	add    BYTE PTR [eax],al
  dc:	8b 01                	mov    eax,DWORD PTR [ecx]
	...

000000e0 <__ksymtab_getname>:
  e0:	00 00                	add    BYTE PTR [eax],al
  e2:	00 00                	add    BYTE PTR [eax],al
  e4:	97                   	xchg   edi,eax
  e5:	01 00                	add    DWORD PTR [eax],eax
	...

000000e8 <__ksymtab_get_write_access>:
  e8:	00 00                	add    BYTE PTR [eax],al
  ea:	00 00                	add    BYTE PTR [eax],al
  ec:	9f                   	lahf   
  ed:	01 00                	add    DWORD PTR [eax],eax
	...

000000f0 <__ksymtab_follow_up>:
  f0:	00 00                	add    BYTE PTR [eax],al
  f2:	00 00                	add    BYTE PTR [eax],al
  f4:	b0 01                	mov    al,0x1
	...

000000f8 <__ksymtab_follow_down>:
  f8:	00 00                	add    BYTE PTR [eax],al
  fa:	00 00                	add    BYTE PTR [eax],al
  fc:	ba 01 00 00 00       	mov    edx,0x1

00000100 <__ksymtab_user_path_at>:
 100:	00 00                	add    BYTE PTR [eax],al
 102:	00 00                	add    BYTE PTR [eax],al
 104:	c6 01 00             	mov    BYTE PTR [ecx],0x0
	...

00000108 <__ksymtab_filp_open>:
 108:	00 00                	add    BYTE PTR [eax],al
 10a:	00 00                	add    BYTE PTR [eax],al
 10c:	e1 01                	loope  10f <__ksymtab_filp_open+0x7>
	...

00000110 <__ksymtab_path_put>:
 110:	00 00                	add    BYTE PTR [eax],al
 112:	00 00                	add    BYTE PTR [eax],al
 114:	eb 01                	jmp    117 <__ksymtab_path_put+0x7>
	...

00000118 <__ksymtab_path_get>:
 118:	00 00                	add    BYTE PTR [eax],al
 11a:	00 00                	add    BYTE PTR [eax],al
 11c:	f4                   	hlt    
 11d:	01 00                	add    DWORD PTR [eax],eax
	...

00000120 <__ksymtab_putname>:
 120:	00 00                	add    BYTE PTR [eax],al
 122:	00 00                	add    BYTE PTR [eax],al
 124:	fd                   	std    
 125:	01 00                	add    DWORD PTR [eax],eax
	...

Disassembly of section __kcrctab:

00000000 <__kcrctab_generic_readlink>:
   0:	00 00                	add    BYTE PTR [eax],al
	...

00000004 <__kcrctab_dentry_unhash>:
   4:	00 00                	add    BYTE PTR [eax],al
	...

00000008 <__kcrctab_vfs_unlink>:
   8:	00 00                	add    BYTE PTR [eax],al
	...

0000000c <__kcrctab_vfs_symlink>:
   c:	00 00                	add    BYTE PTR [eax],al
	...

00000010 <__kcrctab_vfs_rmdir>:
  10:	00 00                	add    BYTE PTR [eax],al
	...

00000014 <__kcrctab_vfs_rename>:
  14:	00 00                	add    BYTE PTR [eax],al
	...

00000018 <__kcrctab_vfs_readlink>:
  18:	00 00                	add    BYTE PTR [eax],al
	...

0000001c <__kcrctab_generic_permission>:
  1c:	00 00                	add    BYTE PTR [eax],al
	...

00000020 <__kcrctab_generic_permission_rcu>:
  20:	00 00                	add    BYTE PTR [eax],al
	...

00000024 <__kcrctab_vfs_mknod>:
  24:	00 00                	add    BYTE PTR [eax],al
	...

00000028 <__kcrctab_vfs_mkdir>:
  28:	00 00                	add    BYTE PTR [eax],al
	...

0000002c <__kcrctab_vfs_link>:
  2c:	00 00                	add    BYTE PTR [eax],al
	...

00000030 <__kcrctab_vfs_follow_link>:
  30:	00 00                	add    BYTE PTR [eax],al
	...

00000034 <__kcrctab_vfs_create>:
  34:	00 00                	add    BYTE PTR [eax],al
	...

00000038 <__kcrctab_unlock_rename>:
  38:	00 00                	add    BYTE PTR [eax],al
	...

0000003c <__kcrctab_file_permission>:
  3c:	00 00                	add    BYTE PTR [eax],al
	...

00000040 <__kcrctab_inode_permission>:
  40:	00 00                	add    BYTE PTR [eax],al
	...

00000044 <__kcrctab_vfs_path_lookup>:
  44:	00 00                	add    BYTE PTR [eax],al
	...

00000048 <__kcrctab_kern_path>:
  48:	00 00                	add    BYTE PTR [eax],al
	...

0000004c <__kcrctab_path_lookup>:
  4c:	00 00                	add    BYTE PTR [eax],al
	...

00000050 <__kcrctab_page_symlink_inode_operations>:
  50:	00 00                	add    BYTE PTR [eax],al
	...

00000054 <__kcrctab_page_symlink>:
  54:	00 00                	add    BYTE PTR [eax],al
	...

00000058 <__kcrctab___page_symlink>:
  58:	00 00                	add    BYTE PTR [eax],al
	...

0000005c <__kcrctab_page_readlink>:
  5c:	00 00                	add    BYTE PTR [eax],al
	...

00000060 <__kcrctab_page_put_link>:
  60:	00 00                	add    BYTE PTR [eax],al
	...

00000064 <__kcrctab_page_follow_link_light>:
  64:	00 00                	add    BYTE PTR [eax],al
	...

00000068 <__kcrctab_lookup_one_len>:
  68:	00 00                	add    BYTE PTR [eax],al
	...

0000006c <__kcrctab_lock_rename>:
  6c:	00 00                	add    BYTE PTR [eax],al
	...

00000070 <__kcrctab_getname>:
  70:	00 00                	add    BYTE PTR [eax],al
	...

00000074 <__kcrctab_get_write_access>:
  74:	00 00                	add    BYTE PTR [eax],al
	...

00000078 <__kcrctab_follow_up>:
  78:	00 00                	add    BYTE PTR [eax],al
	...

0000007c <__kcrctab_follow_down>:
  7c:	00 00                	add    BYTE PTR [eax],al
	...

00000080 <__kcrctab_user_path_at>:
  80:	00 00                	add    BYTE PTR [eax],al
	...

00000084 <__kcrctab_filp_open>:
  84:	00 00                	add    BYTE PTR [eax],al
	...

00000088 <__kcrctab_path_put>:
  88:	00 00                	add    BYTE PTR [eax],al
	...

0000008c <__kcrctab_path_get>:
  8c:	00 00                	add    BYTE PTR [eax],al
	...

00000090 <__kcrctab_putname>:
  90:	00 00                	add    BYTE PTR [eax],al
	...

Disassembly of section __ksymtab_gpl:

00000000 <__ksymtab_lookup_create>:
   0:	00 00                	add    BYTE PTR [eax],al
   2:	00 00                	add    BYTE PTR [eax],al
   4:	d3 01                	rol    DWORD PTR [ecx],cl
	...

Disassembly of section __kcrctab_gpl:

00000000 <__kcrctab_lookup_create>:
   0:	00 00                	add    BYTE PTR [eax],al
	...

Disassembly of section __ksymtab_strings:

00000000 <__kstrtab_generic_readlink>:
   0:	67 65 6e             	outs   dx,BYTE PTR gs:[si]
   3:	65                   	gs
   4:	72 69                	jb     6f <__kstrtab_generic_permission_rcu+0x4>
   6:	63 5f 72             	arpl   WORD PTR [edi+0x72],bx
   9:	65                   	gs
   a:	61                   	popa   
   b:	64                   	fs
   c:	6c                   	ins    BYTE PTR es:[edi],dx
   d:	69 6e 6b 00 64 65 6e 	imul   ebp,DWORD PTR [esi+0x6b],0x6e656400

00000011 <__kstrtab_dentry_unhash>:
  11:	64 65 6e             	fs outs dx,BYTE PTR fs:gs:[esi]
  14:	74 72                	je     88 <__kstrtab_vfs_mknod+0x6>
  16:	79 5f                	jns    77 <__kstrtab_generic_permission_rcu+0xc>
  18:	75 6e                	jne    88 <__kstrtab_vfs_mknod+0x6>
  1a:	68 61 73 68 00       	push   0x687361

0000001f <__kstrtab_vfs_unlink>:
  1f:	76 66                	jbe    87 <__kstrtab_vfs_mknod+0x5>
  21:	73 5f                	jae    82 <__kstrtab_vfs_mknod>
  23:	75 6e                	jne    93 <__kstrtab_vfs_mkdir+0x7>
  25:	6c                   	ins    BYTE PTR es:[edi],dx
  26:	69 6e 6b 00 76 66 73 	imul   ebp,DWORD PTR [esi+0x6b],0x73667600

0000002a <__kstrtab_vfs_symlink>:
  2a:	76 66                	jbe    92 <__kstrtab_vfs_mkdir+0x6>
  2c:	73 5f                	jae    8d <__kstrtab_vfs_mkdir+0x1>
  2e:	73 79                	jae    a9 <__kstrtab_vfs_follow_link+0xa>
  30:	6d                   	ins    DWORD PTR es:[edi],dx
  31:	6c                   	ins    BYTE PTR es:[edi],dx
  32:	69 6e 6b 00 76 66 73 	imul   ebp,DWORD PTR [esi+0x6b],0x73667600

00000036 <__kstrtab_vfs_rmdir>:
  36:	76 66                	jbe    9e <__kstrtab_vfs_link+0x8>
  38:	73 5f                	jae    99 <__kstrtab_vfs_link+0x3>
  3a:	72 6d                	jb     a9 <__kstrtab_vfs_follow_link+0xa>
  3c:	64 69 72 00 76 66 73 	imul   esi,DWORD PTR fs:[edx+0x0],0x5f736676
  43:	5f 

00000040 <__kstrtab_vfs_rename>:
  40:	76 66                	jbe    a8 <__kstrtab_vfs_follow_link+0x9>
  42:	73 5f                	jae    a3 <__kstrtab_vfs_follow_link+0x4>
  44:	72 65                	jb     ab <__kstrtab_vfs_follow_link+0xc>
  46:	6e                   	outs   dx,BYTE PTR ds:[esi]
  47:	61                   	popa   
  48:	6d                   	ins    DWORD PTR es:[edi],dx
  49:	65 00 76 66          	add    BYTE PTR gs:[esi+0x66],dh

0000004b <__kstrtab_vfs_readlink>:
  4b:	76 66                	jbe    b3 <__kstrtab_vfs_create+0x4>
  4d:	73 5f                	jae    ae <__kstrtab_vfs_follow_link+0xf>
  4f:	72 65                	jb     b6 <__kstrtab_vfs_create+0x7>
  51:	61                   	popa   
  52:	64                   	fs
  53:	6c                   	ins    BYTE PTR es:[edi],dx
  54:	69 6e 6b 00 67 65 6e 	imul   ebp,DWORD PTR [esi+0x6b],0x6e656700

00000058 <__kstrtab_generic_permission>:
  58:	67 65 6e             	outs   dx,BYTE PTR gs:[si]
  5b:	65                   	gs
  5c:	72 69                	jb     c7 <__kstrtab_unlock_rename+0xd>
  5e:	63 5f 70             	arpl   WORD PTR [edi+0x70],bx
  61:	65                   	gs
  62:	72 6d                	jb     d1 <__kstrtab_file_permission+0x9>
  64:	69 73 73 69 6f 6e 00 	imul   esi,DWORD PTR [ebx+0x73],0x6e6f69

0000006b <__kstrtab_generic_permission_rcu>:
  6b:	67 65 6e             	outs   dx,BYTE PTR gs:[si]
  6e:	65                   	gs
  6f:	72 69                	jb     da <__kstrtab_inode_permission+0x2>
  71:	63 5f 70             	arpl   WORD PTR [edi+0x70],bx
  74:	65                   	gs
  75:	72 6d                	jb     e4 <__kstrtab_inode_permission+0xc>
  77:	69 73 73 69 6f 6e 5f 	imul   esi,DWORD PTR [ebx+0x73],0x5f6e6f69
  7e:	72 63                	jb     e3 <__kstrtab_inode_permission+0xb>
  80:	75 00                	jne    82 <__kstrtab_vfs_mknod>

00000082 <__kstrtab_vfs_mknod>:
  82:	76 66                	jbe    ea <__kstrtab_vfs_path_lookup+0x1>
  84:	73 5f                	jae    e5 <__kstrtab_inode_permission+0xd>
  86:	6d                   	ins    DWORD PTR es:[edi],dx
  87:	6b 6e 6f 64          	imul   ebp,DWORD PTR [esi+0x6f],0x64
	...

0000008c <__kstrtab_vfs_mkdir>:
  8c:	76 66                	jbe    f4 <__kstrtab_vfs_path_lookup+0xb>
  8e:	73 5f                	jae    ef <__kstrtab_vfs_path_lookup+0x6>
  90:	6d                   	ins    DWORD PTR es:[edi],dx
  91:	6b 64 69 72 00       	imul   esp,DWORD PTR [ecx+ebp*2+0x72],0x0

00000096 <__kstrtab_vfs_link>:
  96:	76 66                	jbe    fe <__kstrtab_kern_path+0x5>
  98:	73 5f                	jae    f9 <__kstrtab_kern_path>
  9a:	6c                   	ins    BYTE PTR es:[edi],dx
  9b:	69 6e 6b 00 76 66 73 	imul   ebp,DWORD PTR [esi+0x6b],0x73667600

0000009f <__kstrtab_vfs_follow_link>:
  9f:	76 66                	jbe    107 <__kstrtab_path_lookup+0x4>
  a1:	73 5f                	jae    102 <__kstrtab_kern_path+0x9>
  a3:	66 6f                	outs   dx,WORD PTR ds:[esi]
  a5:	6c                   	ins    BYTE PTR es:[edi],dx
  a6:	6c                   	ins    BYTE PTR es:[edi],dx
  a7:	6f                   	outs   dx,DWORD PTR ds:[esi]
  a8:	77 5f                	ja     109 <__kstrtab_path_lookup+0x6>
  aa:	6c                   	ins    BYTE PTR es:[edi],dx
  ab:	69 6e 6b 00 76 66 73 	imul   ebp,DWORD PTR [esi+0x6b],0x73667600

000000af <__kstrtab_vfs_create>:
  af:	76 66                	jbe    117 <__kstrtab_page_symlink_inode_operations+0x8>
  b1:	73 5f                	jae    112 <__kstrtab_page_symlink_inode_operations+0x3>
  b3:	63 72 65             	arpl   WORD PTR [edx+0x65],si
  b6:	61                   	popa   
  b7:	74 65                	je     11e <__kstrtab_page_symlink_inode_operations+0xf>
	...

000000ba <__kstrtab_unlock_rename>:
  ba:	75 6e                	jne    12a <__kstrtab_page_symlink_inode_operations+0x1b>
  bc:	6c                   	ins    BYTE PTR es:[edi],dx
  bd:	6f                   	outs   dx,DWORD PTR ds:[esi]
  be:	63 6b 5f             	arpl   WORD PTR [ebx+0x5f],bp
  c1:	72 65                	jb     128 <__kstrtab_page_symlink_inode_operations+0x19>
  c3:	6e                   	outs   dx,BYTE PTR ds:[esi]
  c4:	61                   	popa   
  c5:	6d                   	ins    DWORD PTR es:[edi],dx
  c6:	65 00 66 69          	add    BYTE PTR gs:[esi+0x69],ah

000000c8 <__kstrtab_file_permission>:
  c8:	66 69 6c 65 5f 70 65 	imul   bp,WORD PTR [ebp+eiz*2+0x5f],0x6570
  cf:	72 6d                	jb     13e <__kstrtab___page_symlink+0x4>
  d1:	69 73 73 69 6f 6e 00 	imul   esi,DWORD PTR [ebx+0x73],0x6e6f69

000000d8 <__kstrtab_inode_permission>:
  d8:	69 6e 6f 64 65 5f 70 	imul   ebp,DWORD PTR [esi+0x6f],0x705f6564
  df:	65                   	gs
  e0:	72 6d                	jb     14f <__kstrtab_page_readlink+0x6>
  e2:	69 73 73 69 6f 6e 00 	imul   esi,DWORD PTR [ebx+0x73],0x6e6f69

000000e9 <__kstrtab_vfs_path_lookup>:
  e9:	76 66                	jbe    151 <__kstrtab_page_readlink+0x8>
  eb:	73 5f                	jae    14c <__kstrtab_page_readlink+0x3>
  ed:	70 61                	jo     150 <__kstrtab_page_readlink+0x7>
  ef:	74 68                	je     159 <__kstrtab_page_put_link+0x2>
  f1:	5f                   	pop    edi
  f2:	6c                   	ins    BYTE PTR es:[edi],dx
  f3:	6f                   	outs   dx,DWORD PTR ds:[esi]
  f4:	6f                   	outs   dx,DWORD PTR ds:[esi]
  f5:	6b 75 70 00          	imul   esi,DWORD PTR [ebp+0x70],0x0

000000f9 <__kstrtab_kern_path>:
  f9:	6b 65 72 6e          	imul   esp,DWORD PTR [ebp+0x72],0x6e
  fd:	5f                   	pop    edi
  fe:	70 61                	jo     161 <__kstrtab_page_put_link+0xa>
 100:	74 68                	je     16a <__kstrtab_page_follow_link_light+0x5>
	...

00000103 <__kstrtab_path_lookup>:
 103:	70 61                	jo     166 <__kstrtab_page_follow_link_light+0x1>
 105:	74 68                	je     16f <__kstrtab_page_follow_link_light+0xa>
 107:	5f                   	pop    edi
 108:	6c                   	ins    BYTE PTR es:[edi],dx
 109:	6f                   	outs   dx,DWORD PTR ds:[esi]
 10a:	6f                   	outs   dx,DWORD PTR ds:[esi]
 10b:	6b 75 70 00          	imul   esi,DWORD PTR [ebp+0x70],0x0

0000010f <__kstrtab_page_symlink_inode_operations>:
 10f:	70 61                	jo     172 <__kstrtab_page_follow_link_light+0xd>
 111:	67                   	addr16
 112:	65                   	gs
 113:	5f                   	pop    edi
 114:	73 79                	jae    18f <__kstrtab_lock_rename+0x4>
 116:	6d                   	ins    DWORD PTR es:[edi],dx
 117:	6c                   	ins    BYTE PTR es:[edi],dx
 118:	69 6e 6b 5f 69 6e 6f 	imul   ebp,DWORD PTR [esi+0x6b],0x6f6e695f
 11f:	64                   	fs
 120:	65                   	gs
 121:	5f                   	pop    edi
 122:	6f                   	outs   dx,DWORD PTR ds:[esi]
 123:	70 65                	jo     18a <__kstrtab_lookup_one_len+0xe>
 125:	72 61                	jb     188 <__kstrtab_lookup_one_len+0xc>
 127:	74 69                	je     192 <__kstrtab_lock_rename+0x7>
 129:	6f                   	outs   dx,DWORD PTR ds:[esi]
 12a:	6e                   	outs   dx,BYTE PTR ds:[esi]
 12b:	73 00                	jae    12d <__kstrtab_page_symlink>

0000012d <__kstrtab_page_symlink>:
 12d:	70 61                	jo     190 <__kstrtab_lock_rename+0x5>
 12f:	67                   	addr16
 130:	65                   	gs
 131:	5f                   	pop    edi
 132:	73 79                	jae    1ad <__kstrtab_get_write_access+0xe>
 134:	6d                   	ins    DWORD PTR es:[edi],dx
 135:	6c                   	ins    BYTE PTR es:[edi],dx
 136:	69 6e 6b 00 5f 5f 70 	imul   ebp,DWORD PTR [esi+0x6b],0x705f5f00

0000013a <__kstrtab___page_symlink>:
 13a:	5f                   	pop    edi
 13b:	5f                   	pop    edi
 13c:	70 61                	jo     19f <__kstrtab_get_write_access>
 13e:	67                   	addr16
 13f:	65                   	gs
 140:	5f                   	pop    edi
 141:	73 79                	jae    1bc <__kstrtab_follow_down+0x2>
 143:	6d                   	ins    DWORD PTR es:[edi],dx
 144:	6c                   	ins    BYTE PTR es:[edi],dx
 145:	69 6e 6b 00 70 61 67 	imul   ebp,DWORD PTR [esi+0x6b],0x67617000

00000149 <__kstrtab_page_readlink>:
 149:	70 61                	jo     1ac <__kstrtab_get_write_access+0xd>
 14b:	67                   	addr16
 14c:	65                   	gs
 14d:	5f                   	pop    edi
 14e:	72 65                	jb     1b5 <__kstrtab_follow_up+0x5>
 150:	61                   	popa   
 151:	64                   	fs
 152:	6c                   	ins    BYTE PTR es:[edi],dx
 153:	69 6e 6b 00 70 61 67 	imul   ebp,DWORD PTR [esi+0x6b],0x67617000

00000157 <__kstrtab_page_put_link>:
 157:	70 61                	jo     1ba <__kstrtab_follow_down>
 159:	67                   	addr16
 15a:	65                   	gs
 15b:	5f                   	pop    edi
 15c:	70 75                	jo     1d3 <__kstrtab_lookup_create>
 15e:	74 5f                	je     1bf <__kstrtab_follow_down+0x5>
 160:	6c                   	ins    BYTE PTR es:[edi],dx
 161:	69 6e 6b 00 70 61 67 	imul   ebp,DWORD PTR [esi+0x6b],0x67617000

00000165 <__kstrtab_page_follow_link_light>:
 165:	70 61                	jo     1c8 <__kstrtab_user_path_at+0x2>
 167:	67                   	addr16
 168:	65                   	gs
 169:	5f                   	pop    edi
 16a:	66 6f                	outs   dx,WORD PTR ds:[esi]
 16c:	6c                   	ins    BYTE PTR es:[edi],dx
 16d:	6c                   	ins    BYTE PTR es:[edi],dx
 16e:	6f                   	outs   dx,DWORD PTR ds:[esi]
 16f:	77 5f                	ja     1d0 <__kstrtab_user_path_at+0xa>
 171:	6c                   	ins    BYTE PTR es:[edi],dx
 172:	69 6e 6b 5f 6c 69 67 	imul   ebp,DWORD PTR [esi+0x6b],0x67696c5f
 179:	68 74 00 6c 6f       	push   0x6f6c0074

0000017c <__kstrtab_lookup_one_len>:
 17c:	6c                   	ins    BYTE PTR es:[edi],dx
 17d:	6f                   	outs   dx,DWORD PTR ds:[esi]
 17e:	6f                   	outs   dx,DWORD PTR ds:[esi]
 17f:	6b 75 70 5f          	imul   esi,DWORD PTR [ebp+0x70],0x5f
 183:	6f                   	outs   dx,DWORD PTR ds:[esi]
 184:	6e                   	outs   dx,BYTE PTR ds:[esi]
 185:	65                   	gs
 186:	5f                   	pop    edi
 187:	6c                   	ins    BYTE PTR es:[edi],dx
 188:	65 6e                	outs   dx,BYTE PTR gs:[esi]
	...

0000018b <__kstrtab_lock_rename>:
 18b:	6c                   	ins    BYTE PTR es:[edi],dx
 18c:	6f                   	outs   dx,DWORD PTR ds:[esi]
 18d:	63 6b 5f             	arpl   WORD PTR [ebx+0x5f],bp
 190:	72 65                	jb     1f7 <__kstrtab_path_get+0x3>
 192:	6e                   	outs   dx,BYTE PTR ds:[esi]
 193:	61                   	popa   
 194:	6d                   	ins    DWORD PTR es:[edi],dx
 195:	65 00 67 65          	add    BYTE PTR gs:[edi+0x65],ah

00000197 <__kstrtab_getname>:
 197:	67                   	addr16
 198:	65                   	gs
 199:	74 6e                	je     209 <__kstrtab_putname+0xc>
 19b:	61                   	popa   
 19c:	6d                   	ins    DWORD PTR es:[edi],dx
 19d:	65 00 67 65          	add    BYTE PTR gs:[edi+0x65],ah

0000019f <__kstrtab_get_write_access>:
 19f:	67                   	addr16
 1a0:	65                   	gs
 1a1:	74 5f                	je     202 <__kstrtab_putname+0x5>
 1a3:	77 72                	ja     217 <__kstrtab_putname+0x1a>
 1a5:	69 74 65 5f 61 63 63 	imul   esi,DWORD PTR [ebp+eiz*2+0x5f],0x65636361
 1ac:	65 
 1ad:	73 73                	jae    222 <nameidata_drop_rcu+0x1>
	...

000001b0 <__kstrtab_follow_up>:
 1b0:	66 6f                	outs   dx,WORD PTR ds:[esi]
 1b2:	6c                   	ins    BYTE PTR es:[edi],dx
 1b3:	6c                   	ins    BYTE PTR es:[edi],dx
 1b4:	6f                   	outs   dx,DWORD PTR ds:[esi]
 1b5:	77 5f                	ja     216 <__kstrtab_putname+0x19>
 1b7:	75 70                	jne    229 <nameidata_drop_rcu+0x8>
	...

000001ba <__kstrtab_follow_down>:
 1ba:	66 6f                	outs   dx,WORD PTR ds:[esi]
 1bc:	6c                   	ins    BYTE PTR es:[edi],dx
 1bd:	6c                   	ins    BYTE PTR es:[edi],dx
 1be:	6f                   	outs   dx,DWORD PTR ds:[esi]
 1bf:	77 5f                	ja     220 <__kstrtab_putname+0x23>
 1c1:	64 6f                	outs   dx,DWORD PTR fs:[esi]
 1c3:	77 6e                	ja     233 <nameidata_drop_rcu+0x12>
	...

000001c6 <__kstrtab_user_path_at>:
 1c6:	75 73                	jne    23b <nameidata_drop_rcu+0x1a>
 1c8:	65                   	gs
 1c9:	72 5f                	jb     22a <nameidata_drop_rcu+0x9>
 1cb:	70 61                	jo     22e <nameidata_drop_rcu+0xd>
 1cd:	74 68                	je     237 <nameidata_drop_rcu+0x16>
 1cf:	5f                   	pop    edi
 1d0:	61                   	popa   
 1d1:	74 00                	je     1d3 <__kstrtab_lookup_create>

000001d3 <__kstrtab_lookup_create>:
 1d3:	6c                   	ins    BYTE PTR es:[edi],dx
 1d4:	6f                   	outs   dx,DWORD PTR ds:[esi]
 1d5:	6f                   	outs   dx,DWORD PTR ds:[esi]
 1d6:	6b 75 70 5f          	imul   esi,DWORD PTR [ebp+0x70],0x5f
 1da:	63 72 65             	arpl   WORD PTR [edx+0x65],si
 1dd:	61                   	popa   
 1de:	74 65                	je     245 <nameidata_drop_rcu+0x24>
	...

000001e1 <__kstrtab_filp_open>:
 1e1:	66 69 6c 70 5f 6f 70 	imul   bp,WORD PTR [eax+esi*2+0x5f],0x706f
 1e8:	65 6e                	outs   dx,BYTE PTR gs:[esi]
	...

000001eb <__kstrtab_path_put>:
 1eb:	70 61                	jo     24e <nameidata_drop_rcu+0x2d>
 1ed:	74 68                	je     257 <nameidata_drop_rcu+0x36>
 1ef:	5f                   	pop    edi
 1f0:	70 75                	jo     267 <nameidata_drop_rcu+0x46>
 1f2:	74 00                	je     1f4 <__kstrtab_path_get>

000001f4 <__kstrtab_path_get>:
 1f4:	70 61                	jo     257 <nameidata_drop_rcu+0x36>
 1f6:	74 68                	je     260 <nameidata_drop_rcu+0x3f>
 1f8:	5f                   	pop    edi
 1f9:	67                   	addr16
 1fa:	65                   	gs
 1fb:	74 00                	je     1fd <__kstrtab_putname>

000001fd <__kstrtab_putname>:
 1fd:	70 75                	jo     274 <nameidata_drop_rcu+0x53>
 1ff:	74 6e                	je     26f <nameidata_drop_rcu+0x4e>
 201:	61                   	popa   
 202:	6d                   	ins    DWORD PTR es:[edi],dx
 203:	65                   	gs
	...

Disassembly of section .bss:

00000000 <__warned.36258>:
	...

Disassembly of section .comment:

00000000 <.comment>:
   0:	00 47 43             	add    BYTE PTR [edi+0x43],al
   3:	43                   	inc    ebx
   4:	3a 20                	cmp    ah,BYTE PTR [eax]
   6:	28 44 65 62          	sub    BYTE PTR [ebp+eiz*2+0x62],al
   a:	69 61 6e 20 34 2e 34 	imul   esp,DWORD PTR [ecx+0x6e],0x342e3420
  11:	2e                   	cs
  12:	35 2d 31 30 29       	xor    eax,0x2930312d
  17:	20 34 2e             	and    BYTE PTR [esi+ebp*1],dh
  1a:	34 2e                	xor    al,0x2e
  1c:	35                   	.byte 0x35
	...


More information about the systemd-devel mailing list