[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