From 5ee216a86f054844f52285cc22736cd249904e52 Mon Sep 17 00:00:00 2001 From: David Sterba Date: Mon, 14 Nov 2016 19:06:40 +0100 Subject: [PATCH] btrfs-progs: tests: add more fuzzed images from bugzilla Fixing the problems by one does not scale now. Add more images despite the fuzz tests will fail. They have been for some time already. Reported-by: Lukas Lueg Signed-off-by: David Sterba --- tests/fuzz-tests/images/bko-156731.raw.txt | 83 +++++ tests/fuzz-tests/images/bko-156731.raw.xz | Bin 0 -> 3824 bytes tests/fuzz-tests/images/bko-156741.raw.txt | 131 ++++++++ tests/fuzz-tests/images/bko-156741.raw.xz | Bin 0 -> 3796 bytes tests/fuzz-tests/images/bko-161811.raw.txt | 81 +++++ tests/fuzz-tests/images/bko-161811.raw.xz | Bin 0 -> 10960 bytes tests/fuzz-tests/images/bko-161821.raw.txt | 42 +++ tests/fuzz-tests/images/bko-161821.raw.xz | Bin 0 -> 10596 bytes tests/fuzz-tests/images/bko-167551.raw.txt | 29 ++ tests/fuzz-tests/images/bko-167551.raw.xz | Bin 0 -> 10808 bytes tests/fuzz-tests/images/bko-167781.raw.txt | 297 ++++++++++++++++++ tests/fuzz-tests/images/bko-167781.raw.xz | Bin 0 -> 3856 bytes tests/fuzz-tests/images/bko-167921.raw.txt | 55 ++++ tests/fuzz-tests/images/bko-167921.raw.xz | Bin 0 -> 10956 bytes tests/fuzz-tests/images/bko-168301.raw.txt | 51 +++ tests/fuzz-tests/images/bko-168301.raw.xz | Bin 0 -> 11008 bytes .../bko-169301-1-blocksize-zero.raw.txt | 134 ++++++++ .../images/bko-169301-1-blocksize-zero.raw.xz | Bin 0 -> 3828 bytes .../bko-169301-2-blocksize-zero.raw.txt | 185 +++++++++++ .../images/bko-169301-2-blocksize-zero.raw.xz | Bin 0 -> 3836 bytes tests/fuzz-tests/images/bko-172811.raw.txt | 55 ++++ tests/fuzz-tests/images/bko-172811.raw.xz | Bin 0 -> 10900 bytes tests/fuzz-tests/images/bko-172861.raw.txt | 68 ++++ tests/fuzz-tests/images/bko-172861.raw.xz | Bin 0 -> 10828 bytes 24 files changed, 1211 insertions(+) create mode 100644 tests/fuzz-tests/images/bko-156731.raw.txt create mode 100644 tests/fuzz-tests/images/bko-156731.raw.xz create mode 100644 tests/fuzz-tests/images/bko-156741.raw.txt create mode 100644 tests/fuzz-tests/images/bko-156741.raw.xz create mode 100644 tests/fuzz-tests/images/bko-161811.raw.txt create mode 100644 tests/fuzz-tests/images/bko-161811.raw.xz create mode 100644 tests/fuzz-tests/images/bko-161821.raw.txt create mode 100644 tests/fuzz-tests/images/bko-161821.raw.xz create mode 100644 tests/fuzz-tests/images/bko-167551.raw.txt create mode 100644 tests/fuzz-tests/images/bko-167551.raw.xz create mode 100644 tests/fuzz-tests/images/bko-167781.raw.txt create mode 100644 tests/fuzz-tests/images/bko-167781.raw.xz create mode 100644 tests/fuzz-tests/images/bko-167921.raw.txt create mode 100644 tests/fuzz-tests/images/bko-167921.raw.xz create mode 100644 tests/fuzz-tests/images/bko-168301.raw.txt create mode 100644 tests/fuzz-tests/images/bko-168301.raw.xz create mode 100644 tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.txt create mode 100644 tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.xz create mode 100644 tests/fuzz-tests/images/bko-169301-2-blocksize-zero.raw.txt create mode 100644 tests/fuzz-tests/images/bko-169301-2-blocksize-zero.raw.xz create mode 100644 tests/fuzz-tests/images/bko-172811.raw.txt create mode 100644 tests/fuzz-tests/images/bko-172811.raw.xz create mode 100644 tests/fuzz-tests/images/bko-172861.raw.txt create mode 100644 tests/fuzz-tests/images/bko-172861.raw.xz diff --git a/tests/fuzz-tests/images/bko-156731.raw.txt b/tests/fuzz-tests/images/bko-156731.raw.txt new file mode 100644 index 00000000..aea35f1f --- /dev/null +++ b/tests/fuzz-tests/images/bko-156731.raw.txt @@ -0,0 +1,83 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=156731 +Lukas Lueg 2016-09-13 19:53:59 UTC + +More news from the fuzzer. The attached image causes btrfsck to +buffer-overflow. Using btrfs-progs v4.7-42-g56e9586, compiled with ASAN +(doesn't crash without) + +==17647==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x621000017980 at pc 0x00000052dde3 bp 0x7ffecc974fe0 sp 0x7ffecc974fd8 +READ of size 4 at 0x621000017980 thread T0 + #0 0x52dde2 in btrfs_extent_data_ref_count /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:1582:1 + #1 0x5329ae in run_next_block /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:6380:6 + #2 0x52f584 in deal_root_from_list /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:8391:10 + #3 0x520f81 in check_chunks_and_extents /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:8558:8 + #4 0x51e5a9 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11493:9 + #5 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #6 0x7faced2c8730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #7 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +cat crashing_images/id:000047,sig:11,src:000343+000051,op:splice,rep:4.log +================================================================= +==17647==ERROR: AddressSanitizer: heap-buffer-overflow on address 0x621000017980 at pc 0x00000052dde3 bp 0x7ffecc974fe0 sp 0x7ffecc974fd8 +READ of size 4 at 0x621000017980 thread T0 + #0 0x52dde2 in btrfs_extent_data_ref_count /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:1582:1 + #1 0x5329ae in run_next_block /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:6380:6 + #2 0x52f584 in deal_root_from_list /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:8391:10 + #3 0x520f81 in check_chunks_and_extents /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:8558:8 + #4 0x51e5a9 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11493:9 + #5 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #6 0x7faced2c8730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #7 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +0x621000017980 is located 0 bytes to the right of 4224-byte region [0x621000016900,0x621000017980) +allocated by thread T0 here: + #0 0x4bfca0 in calloc (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x4bfca0) + #1 0x5c16ca in __alloc_extent_buffer /home/lukas/dev/btrfsfuzz/src-asan/extent_io.c:542:7 + #2 0x5c1b26 in alloc_extent_buffer /home/lukas/dev/btrfsfuzz/src-asan/extent_io.c:646:8 + #3 0x58de0c in btrfs_find_create_tree_block /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:193:9 + #4 0x58e880 in read_tree_block_fs_info /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:339:7 + #5 0x5918a2 in read_tree_block /home/lukas/dev/btrfsfuzz/src-asan/./disk-io.h:112:9 + #6 0x591712 in find_and_setup_root /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:647:15 + #7 0x593243 in setup_root_or_create_block /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:966:8 + #8 0x592850 in btrfs_setup_all_roots /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:1031:8 + #9 0x5948fe in __open_ctree_fd /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:1341:8 + #10 0x5942b5 in open_ctree_fs_info /home/lukas/dev/btrfsfuzz/src-asan/disk-io.c:1387:9 + #11 0x51dff2 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11382:9 + #12 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #13 0x7faced2c8730 in __libc_start_main (/lib64/libc.so.6+0x20730) + +SUMMARY: AddressSanitizer: heap-buffer-overflow /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:1582:1 in btrfs_extent_data_ref_count +Shadow bytes around the buggy address: + 0x0c427fffaee0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c427fffaef0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c427fffaf00: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c427fffaf10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 + 0x0c427fffaf20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 +=>0x0c427fffaf30:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Heap right redzone: fb + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack partial redzone: f4 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==17647==ABORTING diff --git a/tests/fuzz-tests/images/bko-156731.raw.xz b/tests/fuzz-tests/images/bko-156731.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..74a5c2a94efd0edf78c3339d46936eb13c840d81 GIT binary patch literal 3824 zcmeH~={ppP9>-_w8h2(iV~fb%nGlLB8KF|9A^X@87cH_C!ZDWYC58|aGqRI)>|@PR zbBswLhK%K8n-m!uWSMjCyYupP?|IIf+h6c|p3m>QJm38@VHigMfM;>6;UX767AOS( z0H8ydK@P`{yVnJP6hqFPY)d6XB3ET<*sn*-&A1gPT9u5>fJ)Vv(ae#5zR=uns_y{~ z+jo)+zqGvtM$71rA0z~C{?^yyd)r0G=3u#D>M}i+V3^WU)b`N;CDU1s8KdTX#b*DP@d5)jP7Yj)Aqgbg{@nn@2AOl1RW`LS*9cCCvVlcOIH_IARG zM5cS74h`~S2!j(_XH^34+_{Qtd02@+6PC@2nXk1Ojm99J_eH$AJeEV-k3UpuF}XV5A>0;MRpFjiORi zC6;|bsbEglw3cQ3ueO_Bdh<-2f%Gi8QKv%}kA_+d+aoW8>-vwyMYK=NJctsTY5rO= zeiin@#C28E_d3+F0(QR6_&dFUU8@s;G-;<}#ybpagY92D1ofk+h&wZl`d|B+`&VYa zV~fu{4;eeEIvcu5Im{7X&L?{&Gux{d*`5#y)H`VnbpLVz97KjeR0lSvJ~esX*@9sA z%gsbC@ocZ>ifitnxz~IA=l#>T^$zoRg1txbZ^b94$#5ldow-5Td7wJ1ok9)1tH5J& zWdMqGxW?FG@2;9rle|C4tW9>Pg-o_b9aeO_WX&9y!j2aaiSqCkRD5R70!A~wk*vWx zmbvhLtpGuNIApkoX{vg~GpQ~kyiZaWkQOc;oR!G)@{Z|HoLhx(S?pI;R9 z**9GNy(Q-Xhc_eng9*UNbrAs<0|exOJ}~>!7ShDd>Tr!C#OB8uzJIfJI@DY%AV`##F%Aai zK%Z;}gg9)2Xq?RB7a`?);nTZ#bv3*0)VPh9=x)!yShjyU4dO`n5IM`-4FKdP5eNmP zD+&4lR*e`53}J{uU@A9#e&gKz(8(Q&Qgi$~=OgH}lD>=P=yZbWzAt|U0Q8|r2#GoT4V*(#dOnd*P+lyVwtsB03IPZxHn zKfQVUQtRlk{24ZkV0 zI@Im&pW7;#4@QSjm{#lMz3v{MX0d0Lc>LY!< zwHShI{^FLyh@4Sz=>Gk~RCocL>s04^+2R%a&SmW3nv@caM1{m#!N-O(@T9O=da@%( z-YB0POkbAtzFvV)Pj&V`@?8$qB#`#_(#v~=;3BhE#op;m;q7~Ru+cmtH+6d4*;25j zm6{>oqfN!+g;T2XB4v+@(9d^hxmxTI7leCJMW~OPi&${+LOC(7i;-V{mlfLO6rH`F zW#`o9iKoBsuTAdgfMwX1nwd-*6)f?ib1ad1B~!Ius=!erXM?_r#2El-1b+8i!J&ZH zi%%&mnkkrH`2c*zB|by-HVaA=RqsDrW6lkM&Fvv-(^d*Hi+kwLugI8k4yt(FXoeW| z{6(ts-<&T0Ls9(6aetNBgHFpw{yXbV06yQdF5Uk>&$0i2swKpb^b^<*bk0v;eLv>g zpTK?s`_T#U;|h!7I|twe6n#u;l>`7x0`0x0c427fffaf30:[fa]fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf40: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf50: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf60: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf70: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffaf80: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Heap right redzone: fb + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack partial redzone: f4 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==23161==ABORTING diff --git a/tests/fuzz-tests/images/bko-156741.raw.xz b/tests/fuzz-tests/images/bko-156741.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..af4de2684a41aa6674ee26418cf1881848ec0502 GIT binary patch literal 3796 zcmeH~XH*l07RM6_2!bSKZwyNe0wrvaaad)AJ;D-;2E-5`GAfoJ$Pz&|C}4?YYGeiw zWJJoAy>}p#jmQW{7((9bd0+bR)%Q;82S48r_nhDT-`_p=RP{d682|vSj8_|-13-a7 z0000ofb6By{TN!^0NT9T3-S#~xev6rM9U94M=VSkB)XJK$RuouY~*Oh$j#UA(>GNu zz+p#Heg4OWL12Wa=EPZS@c#R@7T-H=Y<6dB)w3p(QMo#abp;KJT1b~B{84ipyWP7y zIf&o#%VAl*USuwl)Cd#<+!Zt*2!o5VB~V=L4j55o|t?2^es1JNi}utiGAx~g`3IQnf`|c`h z{uCO?%=#l!FO3Dj2Yz_0w_#ch zk5G>k)iJM_B`b4I**fND`+ZN1rS)Vj5elM4tw}u_0kIr*)HV!N_aBcAYn+{b7|uIi zyHhk_#ray_eGBe;17c0!G^o@&zCZG6NZU@qtljDYA$J%t{a9W;Nn*i2w^-bLQ@SU5 zDC61VFjxxpauAKbnduqg+395YSTeXx()RFEii!ebVa1l;Z~llM*oIQRBb43{uJ5nB z%;)M9v+ikwB&`RRI4v!^Fft!?PM3Z@v5^Vv6LGnucSN?;I=pg=MKiny<}+WTxzkqL z{(*9gE7bk<-ng(VC1k6MgU+}1q8^p7-dMJBfCBTI4T&fq+Sl^9SnD~#vfcZ$8*flP zG%)V;l_|F|=y3NrAN(_dVYkJ9$v=fbg9C(OM~}Slj!8%nJ@@FGs#n+1L)l@K#Gc^0 z5+Hr^ZV1llI+=EGvSr#6hu#p~o^F!6H{BS{A?a*vyWTyEn<&8J#kuOtVlrBmk?@$B zdIiSujODTIJlJFv+1>KfK6IDJDA6q?!ICMsQ9&@sIGLp$x*zLOwKto57?KQ(?T+T;Vk=egQri)S_`dvU zX@v)KsK((4t&QIvp#j^@XE^q-L?<=@8&mz{kt^P6wWRD#VCO zp(@j9PY*`9ds=#w8t%X=!>~qJW^o{f(^1J%1WzgpRS>|}K2h-fo3qm-=S~1?n|bOb zbF$MRX@}T*PKT_0^bBbu@TqT;E6 zpfIY{EI(=Jf}t2O0iWZg(7~VHj`s=LHWH9;)&03HzSlk5yjDw7=81Q)JPQ25^z+ng zI_(&P*)^V#dsD#d!?8dpv)O;JnpsubOF@ALBI_FrY|xgd3JmvnTWDeNabOZf)P7M` zrnzKUxD5w=1kKko$jG|5yxcBC>eG{f>zS5mElV4mjX1ACe*io%k4dGil9;j*_ZZ*m?-+`;(}kyO`5}3Bj>%dvNsyDOyzS} z)pdqx)~8jb?(%il{y9F+80;M7I)B zJ*l=1=qM)qlujADOSJbM3-=D?sa3Tx!Nt6fr!PO4au^X}do#+rrN{#IvG!=ta8X$R z3U~7GOx=jPbCHGoPX1Tuo51onN@)6xy3c^E?0{pVRyToR_MFp*)F50`^w_ni-IsQY zY{CP+$2QQ;hod>XRSfR${WZCo;i}IHxq*di`7E$a0^M1v8&?oS7@@u|2e4D3BQYl_>S?t{LeMVlsfQ ziP%4-_WvTU)?gjtH(-C^41WXG_ScN~4cHd|3un>=Fain|' defined in 'cmds-check.c:3051:2' (0x6472a0) of size 17 + '' is ascii string 'check_inode_recs' +0x00000064726f is located 0 bytes to the right of global variable 'btrfs_type_by_mode' defined in 'cmds-check.c:625:23' (0x647260) of size 15 +SUMMARY: AddressSanitizer: global-buffer-overflow /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:635:9 in imode_to_type +Shadow bytes around the buggy address: + 0x0000800c0df0: f9 f9 f9 f9 00 00 05 f9 f9 f9 f9 f9 00 00 02 f9 + 0x0000800c0e00: f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 00 07 f9 f9 + 0x0000800c0e10: f9 f9 f9 f9 00 00 00 00 f9 f9 f9 f9 00 00 00 01 + 0x0000800c0e20: f9 f9 f9 f9 00 00 f9 f9 f9 f9 f9 f9 00 00 01 f9 + 0x0000800c0e30: f9 f9 f9 f9 00 07 f9 f9 f9 f9 f9 f9 00 00 05 f9 +=>0x0000800c0e40: f9 f9 f9 f9 00 00 02 f9 f9 f9 f9 f9 00[07]f9 f9 + 0x0000800c0e50: f9 f9 f9 f9 00 00 01 f9 f9 f9 f9 f9 00 00 00 07 + 0x0000800c0e60: f9 f9 f9 f9 00 00 00 00 00 04 f9 f9 f9 f9 f9 f9 + 0x0000800c0e70: 00 00 00 00 03 f9 f9 f9 f9 f9 f9 f9 00 00 00 00 + 0x0000800c0e80: 00 00 00 00 00 05 f9 f9 f9 f9 f9 f9 00 00 00 00 + 0x0000800c0e90: 00 00 03 f9 f9 f9 f9 f9 00 00 06 f9 f9 f9 f9 f9 +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Heap right redzone: fb + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack partial redzone: f4 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==16657==ABORTING diff --git a/tests/fuzz-tests/images/bko-161811.raw.xz b/tests/fuzz-tests/images/bko-161811.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..8ac31951c2612bc2e6eac88395179252233b70da GIT binary patch literal 10960 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 literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-167551.raw.txt b/tests/fuzz-tests/images/bko-167551.raw.txt new file mode 100644 index 00000000..c2ae8548 --- /dev/null +++ b/tests/fuzz-tests/images/bko-167551.raw.txt @@ -0,0 +1,29 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=167551 +Lukas Lueg 2016-09-17 18:32:31 UTC + +More news from the fuzzer. The attached image causes btrfsck to enter what +seems to be an endless loop; using btrfs-progs v4.7.2-55-g2b7c507 + +Starting program: /home/lukas/dev/btrfsfuzz/bin/bin/btrfsck hang000022.img +Missing separate debuginfos, use: dnf debuginfo-install glibc-2.23.1-10.fc24.x86_64 +[Thread debugging using libthread_db enabled] +Using host libthread_db library "/lib64/libthread_db.so.1". + +Program received signal SIGINT, Interrupt. +0x00000000004576b7 in alloc_extent_buffer (tree=0x6b5420, bytenr=4198400, blocksize=4096) at extent_io.c:628 +628 { +Missing separate debuginfos, use: dnf debuginfo-install libblkid-2.28.2-1.fc24.x86_64 libuuid-2.28.2-1.fc24.x86_64 lzo-2.08-8.fc24.x86_64 zlib-1.2.8-10.fc24.x86_64 +#0 0x00000000004576b7 in alloc_extent_buffer (tree=0x6b5420, bytenr=4198400, blocksize=4096) at extent_io.c:628 +#1 0x0000000000444be3 in read_tree_block_fs_info (fs_info=0x6b53a0, bytenr=4198400, blocksize=4096, parent_transid=14) at disk-io.c:339 +#2 0x0000000000440845 in btrfs_search_slot (trans=, root=, key=, p=, + ins_len=, cow=) at ctree.c:1175 +#3 0x000000000044bf8a in find_first_block_group (root=0x6b5850, path=0x6b41d0, key=0x7fffffffde78) at extent-tree.c:3142 +#4 0x000000000044bd3a in btrfs_read_block_groups (root=0x6b5850) at extent-tree.c:3240 +#5 0x00000000004464b3 in btrfs_setup_all_roots (fs_info=0x6b53a0, root_tree_bytenr=4202496, flags=) at disk-io.c:1077 +#6 0x0000000000446fc5 in __open_ctree_fd (fp=, path=, sb_bytenr=65536, root_tree_bytenr=, + chunk_root_bytenr=, flags=) at disk-io.c:1341 +#7 0x0000000000446d65 in open_ctree_fs_info (filename=0x7fffffffe4f5 "hang000022.img", sb_bytenr=0, root_tree_bytenr=0, + chunk_root_bytenr=0, flags=64) at disk-io.c:1387 +#8 0x000000000041bbe2 in cmd_check (argc=, argv=) at cmds-check.c:11382 +#9 0x000000000040a10d in main (argc=, argv=0x7fffffffe218) at btrfs.c:243 +quit diff --git a/tests/fuzz-tests/images/bko-167551.raw.xz b/tests/fuzz-tests/images/bko-167551.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..2292fb4b81418dd04ca92f6d0351bbbb948bc136 GIT binary patch literal 10808 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 J0Iasoe*@iP3#tGB literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-167781.raw.txt b/tests/fuzz-tests/images/bko-167781.raw.txt new file mode 100644 index 00000000..f185fb6f --- /dev/null +++ b/tests/fuzz-tests/images/bko-167781.raw.txt @@ -0,0 +1,297 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=167781 +Lukas Lueg 2016-09-17 19:01:47 UTC + +More news from the fuzzer. The attached image causes btrfsck to overflow it's +stack by what seems to be an infinite (or at least sufficiently deep) recursion +in resolve_one_root(); using btrfs-progs v4.7-42-g56e9586. + + +checking extents +Chunk[256, 228, 0]: length(4194304), offset(0), type(2) is not found in block group +Chunk[256, 228, 0] stripe[1, 0] is not found in dev extent +Chunk[256, 228, 4194304]: length(1638400), offset(4194304), type(5) is not found in block group +Chunk[256, 228, 4194304] stripe[1, 4194304] is not found in dev extent +Chunk[256, 228, 5832704]: length(1638400), offset(5832704), type(5) is not found in block group +Chunk[256, 228, 5832704] stripe[1, 5832704] is not found in dev extent +ref mismatch on [131072 4096] extent item 0, found 1 +Backref 131072 parent 3 root 3 not found in extent tree +backpointer mismatch on [131072 4096] +bad extent [131072, 135168), type mismatch with chunk +ref mismatch on [4194304 4096] extent item 0, found 1 +Backref 4194304 parent 5 root 5 not found in extent tree +backpointer mismatch on [4194304 4096] +ref mismatch on [4198400 4096] extent item 0, found 1 +Backref 4198400 parent 1 root 1 not found in extent tree +backpointer mismatch on [4198400 4096] +ref mismatch on [4231168 4096] extent item 0, found 1 +Backref 4231168 parent 7 root 7 not found in extent tree +backpointer mismatch on [4231168 4096] +ref mismatch on [3472328296227680304 3472328296227680304] extent item 0, found 1 +Backref 3472328296227680304 root 1 owner 2 offset 0 num_refs 0 not found in extent tree +Incorrect local backref count on 3472328296227680304 root 1 owner 2 offset 0 found 1 wanted 0 back 0x60800000bd20 +backpointer mismatch on [3472328296227680304 3472328296227680304] +Dev extent's total-byte(0) is not equal to byte-used(7471104) in dev[1, 216, 1] +Errors found in extent allocation tree or chunk allocation +checking free space cache +checking fs roots +checking csums +checking root refs +checking quota groups +ASAN:DEADLYSIGNAL +================================================================= +==9638==ERROR: AddressSanitizer: stack-overflow on address 0x7ffc0e2d1ff8 (pc 0x0000005f2ed7 bp 0x7ffc0e2d2010 sp 0x7ffc0e2d2000 T0) + #0 0x5f2ed6 in find_ref_bytenr /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:253:46 + #1 0x5f2cba in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:560:20 + #2 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #3 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #4 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #5 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #6 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #7 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #8 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #9 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #10 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #11 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #12 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #13 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #14 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #15 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #16 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #17 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #18 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #19 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #20 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #21 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #22 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #23 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #24 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #25 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #26 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #27 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #28 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #29 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #30 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #31 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #32 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #33 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #34 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #35 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #36 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #37 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #38 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #39 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #40 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #41 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #42 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #43 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #44 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #45 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #46 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #47 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #48 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #49 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #50 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #51 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #52 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #53 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #54 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #55 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #56 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #57 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #58 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #59 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #60 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #61 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #62 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #63 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #64 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #65 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #66 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #67 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #68 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #69 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #70 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #71 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #72 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #73 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #74 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #75 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #76 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #77 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #78 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #79 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #80 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #81 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #82 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #83 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #84 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #85 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #86 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #87 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #88 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #89 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #90 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #91 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #92 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #93 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #94 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #95 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #96 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #97 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #98 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #99 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #100 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #101 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #102 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #103 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #104 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #105 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #106 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #107 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #108 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #109 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #110 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #111 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #112 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #113 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #114 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #115 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #116 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #117 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #118 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #119 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #120 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #121 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #122 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #123 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #124 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #125 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #126 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #127 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #128 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #129 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #130 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #131 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #132 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #133 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #134 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #135 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #136 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #137 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #138 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #139 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #140 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #141 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #142 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #143 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #144 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #145 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #146 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #147 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #148 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #149 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #150 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #151 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #152 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #153 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #154 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #155 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #156 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #157 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #158 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #159 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #160 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #161 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #162 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #163 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #164 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #165 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #166 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #167 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #168 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #169 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #170 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #171 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #172 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #173 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #174 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #175 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #176 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #177 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #178 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #179 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #180 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #181 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #182 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #183 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #184 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #185 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #186 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #187 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #188 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #189 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #190 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #191 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #192 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #193 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #194 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #195 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #196 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #197 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #198 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #199 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #200 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #201 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #202 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #203 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #204 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #205 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #206 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #207 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #208 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #209 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #210 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #211 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #212 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #213 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #214 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #215 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #216 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #217 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #218 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #219 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #220 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #221 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #222 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #223 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #224 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #225 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #226 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #227 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #228 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #229 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #230 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #231 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #232 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #233 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #234 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #235 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #236 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #237 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #238 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #239 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #240 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #241 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #242 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #243 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #244 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #245 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #246 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #247 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #248 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #249 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #250 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + #251 0x5f2d1e in resolve_one_root /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:566:9 + +SUMMARY: AddressSanitizer: stack-overflow /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:253:46 in find_ref_bytenr +==9638==ABORTING diff --git a/tests/fuzz-tests/images/bko-167781.raw.xz b/tests/fuzz-tests/images/bko-167781.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..a4bd1de569d1a0fb4eda0d0990544e8bc582d510 GIT binary patch literal 3856 zcmeH~_gB*i7RA3n0zrg;fFP1+kY?yrASgxYgsSu^(iDh-7=joOMHCGXih@#y4k7_` zBGrhnl&GOfM=1dk>7y9hWM_Yv`DxFdb!X0=vuFJa-aDUj-@W(korrdE0|3zchv%l8 z0D?mj002Rn%Ud=Z!`0>qAnrSr2=cf*P@E1&+u0*eq>5>N85Zz;LqFH=O(7~&9U$q~ z;hRgFq?+%Z zRw3Ia=T;eK+w&y%3S=Z%r#o!o1_WyOOch{CZ$fUL1f_FjT>>}nn&^}`>zf>V3~T!+ zRKx7!nH}PHj^GkdEs@s@bt0w>+b-vrL=(N^^R&Eq>x6nT9 zxa9MDR@{85Iw)jU0weG+sDN25&(GD@o0`ATf3#p?!9pqRVgG}{SlOh*y`oKv=B;_& z`teI9F^8_zB0cq>GJYWj+eV5R{AU*eSFwQcC@T zjk{&c2hALnbGTo%)W~z9GLX8S^8D@O5WYlo^9O`Yl&bjflk2F0>pl5rSSOTxCO?PQ z&6#eVUAr5ps5;(eca|vih?~p1`!Y&|qJAQ)M3kdsv4|JBRLOReeHy<1U|LzLZi@8u z<-D?E-b?b-gucwIBs`M1As6}W5QRGnowYYoGn5K#mvLl$C2FgIOGqo2*O$>|`}>GO zmHf5MdiPk{5w|u5F*X<03kV4#hoRdS!GuXugeGA63rMq z-C;2?aen5@AW50m2rZF_HH?XOK40?0Ry_1{?z;{G{`E`vxMBdJs(*m91~N@k5c1VT zU@2!wvyl>+Q0aT{w0T?;V{nGIvb1!yBl>UL**}G4BvUyW3ULzrR}j??_QF;@8_Z^) zi_x%tB`g0B)RyPuYQdmW1sSN;E4r5`z!pqrU5RpK@x5bb%9}zfc4MY?9;+%lQBo3q zxpkA`|Ie9L`@kCC*UE`|xZYs|IJmSju03^~qq~D4Tb*OoyE_gFSKqZ%jx|>I1w8zpPZ4Qc3+o+mN7u9R= zS4^)!j&XzvJ8Rm)^IM65XD@OM z0jHRP1+zBW-7s51c!cgJ4*&ZH+U5>6_hZ#1DKp`uqQ z($a`rjmwg0q$=Xz1^Nv;a83Iu{X$KB^mWg}jzd1o0ZfacmHfoWYY4-4(qO7WSL@Nv zsusho*ax&P{3ecHFeGP|>Q*?#0WDaBjCqlvMOEHzBs*mk`ZH2m9%pvGyHm)>MD@cE?{ju>0 zq??Q3&l|#)x9q=Jo>@1)xvC-UZCUqzf8IX+IP9ICKcF?@Ix)B?;b z$X6-jt6{I9nr)D?bxS3D6>)Dvvq+>^%CBS?)&jn<8@47Kdyd;~MM|ms+pPQg40jXz z6ZYefYw$Dj9lT=>YZ~}WNqh1s44MWsAN9tgJQ5Fy1(ShgYX;C%zWEbR6|r%f%$0<% zRZe%*{nW|u=MvwJgzJfxMy9^K_ADM&4$`z6neee3IY-aCOSPbbwl#a43{0*v, bits=, bits_nr=1024, last=, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=, + ri=) at cmds-check.c:6424 +#3 0x0000000000421d9b in deal_root_from_list (list=, root=, bits=, bits_nr=1024, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=) + at cmds-check.c:8391 +#4 0x000000000041d1d2 in check_chunks_and_extents (root=) at cmds-check.c:8567 +#5 0x000000000041bf0b in cmd_check (argc=, argv=) at cmds-check.c:11493 +#6 0x000000000040a10d in main (argc=, argv=0x7fffffffe218) at btrfs.c:243 + +parent transid verify failed on 4194304 wanted 65305493131755520 found 14 +parent transid verify failed on 4194304 wanted 65305493131755520 found 14 +Ignoring transid failure +Checking filesystem on crashing_images/id:000162,sig:06,src:000059+001444,op:splice,rep:2.img +UUID: 056b0872-c0a7-4121-8ac9-2263ffbee306 +checking extents/bin/sh: line 3: 3091 Aborted LD_LIBRARY_PATH=/home/lukas/dev/btrfsfuzz/bin-asan/lib LD_PRELOAD=/home/lukas/dev/afl_git/libdislocator/libdislocator.so ASAN_OPTIONS=detect_leaks=0 /home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfsck crashing_images/id:000162,sig:06,src:000059+001444,op:splice,rep:2.img +Starting program: /home/lukas/dev/btrfsfuzz/bin/bin/btrfsck crash000160.img +Missing separate debuginfos, use: dnf debuginfo-install glibc-2.23.1-10.fc24.x86_64 +[Thread debugging using libthread_db enabled] +Using host libthread_db library "/lib64/libthread_db.so.1". +[Inferior 1 (process 21730) exited with code 0376] +Missing separate debuginfos, use: dnf debuginfo-install libblkid-2.28.2-1.fc24.x86_64 libuuid-2.28.2-1.fc24.x86_64 lzo-2.08-8.fc24.x86_64 zlib-1.2.8-10.fc24.x86_64 +No stack. +Starting program: /home/lukas/dev/btrfsfuzz/bin/bin/btrfsck crash000162.img +[Thread debugging using libthread_db enabled] +Using host libthread_db library "/lib64/libthread_db.so.1". + +Program received signal SIGABRT, Aborted. +0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#0 0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#1 0x00007ffff6fb02fa in abort () from /lib64/libc.so.6 +#2 0x000000000042390b in run_next_block (root=, bits=, bits_nr=1024, last=, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=, + ri=) at cmds-check.c:6424 +#3 0x0000000000421d9b in deal_root_from_list (list=, root=, bits=, bits_nr=1024, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=) + at cmds-check.c:8391 +#4 0x000000000041d1d2 in check_chunks_and_extents (root=) at cmds-check.c:8567 +#5 0x000000000041bf0b in cmd_check (argc=, argv=) at cmds-check.c:11493 +#6 0x000000000040a10d in main (argc=, argv=0x7fffffffe218) at btrfs.c:243 +quit diff --git a/tests/fuzz-tests/images/bko-167921.raw.xz b/tests/fuzz-tests/images/bko-167921.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..41d7157e495926233974a4293fdde15d345e3d15 GIT binary patch literal 10956 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 literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-168301.raw.txt b/tests/fuzz-tests/images/bko-168301.raw.txt new file mode 100644 index 00000000..9f3bab87 --- /dev/null +++ b/tests/fuzz-tests/images/bko-168301.raw.txt @@ -0,0 +1,51 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=168301 +Lukas Lueg 2016-09-17 20:00:11 UTC + +More news from the fuzzer. The attached image causes a call to abort() when +running btrfsck over it; using btrfs-progs v4.7.2-55-g2b7c507 + +Program received signal SIGABRT, Aborted. +0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#0 0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#1 0x00007ffff6fb02fa in abort () from /lib64/libc.so.6 +#2 0x0000000000424fc7 in add_data_backref (extent_cache=0x7fffffffdfe0, bytenr=18446744073709551615, parent=, + root=, owner=, offset=, num_refs=, found_ref=, + max_size=4096) at cmds-check.c:4856 +#3 0x00000000004234bd in run_next_block (root=, bits=, bits_nr=1024, last=, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=, + ri=) at cmds-check.c:6388 +#4 0x0000000000421d9b in deal_root_from_list (list=, root=, bits=, bits_nr=1024, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=) + at cmds-check.c:8391 +#5 0x000000000041d160 in check_chunks_and_extents (root=) at cmds-check.c:8558 +#6 0x000000000041bf0b in cmd_check (argc=, argv=) at cmds-check.c:11493 +#7 0x000000000040a10d in main (argc=, argv=0x7fffffffe218) at btrfs.c:243 + +Checking filesystem on crashing_images/id:000170,sig:06,src:001268,op:havoc,rep:8.img +UUID: 056b0872-c0a7-4121-8ac9-2263ffbee306 +checking extents/bin/sh: line 3: 4644 Aborted LD_LIBRARY_PATH=/home/lukas/dev/btrfsfuzz/bin-asan/lib LD_PRELOAD=/home/lukas/dev/afl_git/libdislocator/libdislocator.so ASAN_OPTIONS=detect_leaks=0 /home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfsck crashing_images/id:000170,sig:06,src:001268,op:havoc,rep:8.img +Starting program: /home/lukas/dev/btrfsfuzz/bin/bin/btrfsck crash000170.img +[Thread debugging using libthread_db enabled] +Using host libthread_db library "/lib64/libthread_db.so.1". + +Program received signal SIGABRT, Aborted. +0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#0 0x00007ffff6fae6f5 in raise () from /lib64/libc.so.6 +#1 0x00007ffff6fb02fa in abort () from /lib64/libc.so.6 +#2 0x0000000000424fc7 in add_data_backref (extent_cache=0x7fffffffdfe0, bytenr=18446744073709551615, parent=, + root=, owner=, offset=, num_refs=, found_ref=, + max_size=4096) at cmds-check.c:4856 +#3 0x00000000004234bd in run_next_block (root=, bits=, bits_nr=1024, last=, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=, + ri=) at cmds-check.c:6388 +#4 0x0000000000421d9b in deal_root_from_list (list=, root=, bits=, bits_nr=1024, + pending=, seen=, reada=, nodes=, extent_cache=, + chunk_cache=, dev_cache=, block_group_cache=, dev_extent_cache=) + at cmds-check.c:8391 +#5 0x000000000041d160 in check_chunks_and_extents (root=) at cmds-check.c:8558 +#6 0x000000000041bf0b in cmd_check (argc=, argv=) at cmds-check.c:11493 +#7 0x000000000040a10d in main (argc=, argv=0x7fffffffe218) at btrfs.c:243 +quit diff --git a/tests/fuzz-tests/images/bko-168301.raw.xz b/tests/fuzz-tests/images/bko-168301.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..4c7f462364e2188f99d19f72339784d55b9104b6 GIT binary patch literal 11008 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 literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.txt b/tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.txt new file mode 100644 index 00000000..c5ec8ee1 --- /dev/null +++ b/tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.txt @@ -0,0 +1,134 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=169301 +Lukas Lueg 2016-09-18 09:07:55 UTC + +More news from the fuzzer. The attached image causes a heap-use-after-free +when running btrfsck with ASAN over it; using btrfs-progs v4.7.2-56-ge8c2013 + +==3439==ERROR: AddressSanitizer: heap-use-after-free on address 0x621000014170 at pc 0x0000005c05ae bp 0x7ffe84ef8d00 sp 0x7ffe84ef8cf8 +READ of size 4 at 0x621000014170 thread T0 + #0 0x5c05ad in free_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:579:10 + #1 0x59360c in btrfs_release_all_roots /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1096:3 + #2 0x5961bb in close_ctree_fs_info /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1805:2 + #3 0x5246e7 in close_ctree /home/slave/dev/btrfsfuzz/src-asan/./disk-io.h:155:9 + #4 0x51e334 in cmd_check /home/slave/dev/btrfsfuzz/src-asan/cmds-check.c:11618:2 + #5 0x4f0ee1 in main /home/slave/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #6 0x7f792c60e730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #7 0x421358 in _start (/home/slave/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +Probably somewhat related to this: The image crash000255.img causes btrfsck to +try to allocate around 3.5gb of memory in one chunk, sending ASAN into a death +spiral. On systems with sufficient memory, the heap-use-after-free turns up. + +parent transid verify failed on 0 wanted 3472328296227680304 found 0 +parent transid verify failed on 0 wanted 3472328296227680304 found 0 +Ignoring transid failure +Chunk[256, 228, 0]: length(4194304), offset(0), type(2) is not found in block group +Chunk[256, 228, 0] stripe[1, 0] is not found in dev extent +Chunk[256, 228, 4194304]: length(1638400), offset(4194304), type(5) is not found in block group +Chunk[256, 228, 4194304] stripe[1, 4194304] is not found in dev extent +Chunk[256, 228, 5832704]: length(1638400), offset(5832704), type(5) is not found in block group +Chunk[256, 228, 5832704] stripe[1, 5832704] is not found in dev extent +ref mismatch on [0 4096] extent item 0, found 1 +Backref 0 parent 0 root 0 not found in extent tree +backpointer mismatch on [0 4096] +bad extent [0, 4096), type mismatch with chunk +ref mismatch on [131072 4096] extent item 0, found 1 +Backref 131072 parent 3 root 3 not found in extent tree +backpointer mismatch on [131072 4096] +ref mismatch on [4198400 4096] extent item 0, found 1 +Backref 4198400 parent 1 root 1 not found in extent tree +backpointer mismatch on [4198400 4096] +ref mismatch on [4231168 4096] extent item 0, found 1 +Backref 4231168 parent 7 root 7 not found in extent tree +backpointer mismatch on [4231168 4096] +ref mismatch on [3472328296227680304 3472328296227680304] extent item 0, found 1 +Backref 3472328296227680304 root 1 owner 2 offset 0 num_refs 0 not found in extent tree +Incorrect local backref count on 3472328296227680304 root 1 owner 2 offset 0 found 1 wanted 0 back 0x60700000ddf0 +backpointer mismatch on [3472328296227680304 3472328296227680304] +Dev extent's total-byte(0) is not equal to byte-used(7471104) in dev[1, 216, 1] +checking free space cache +checking fs roots +root 5 root dir 3472328296227680304 not found +checking csums +checking root refs +checking quota groups +ERROR: while mapping refs: -5 +================================================================= +==3439==ERROR: AddressSanitizer: heap-use-after-free on address 0x621000014170 at pc 0x0000005c05ae bp 0x7ffe84ef8d00 sp 0x7ffe84ef8cf8 +READ of size 4 at 0x621000014170 thread T0 + #0 0x5c05ad in free_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:579:10 + #1 0x59360c in btrfs_release_all_roots /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1096:3 + #2 0x5961bb in close_ctree_fs_info /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1805:2 + #3 0x5246e7 in close_ctree /home/slave/dev/btrfsfuzz/src-asan/./disk-io.h:155:9 + #4 0x51e334 in cmd_check /home/slave/dev/btrfsfuzz/src-asan/cmds-check.c:11618:2 + #5 0x4f0ee1 in main /home/slave/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #6 0x7f792c60e730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #7 0x421358 in _start (/home/slave/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +0x621000014170 is located 112 bytes inside of 4224-byte region [0x621000014100,0x621000015180) +freed by thread T0 here: + #0 0x4bf990 in __interceptor_cfree.localalias.1 (/home/slave/dev/btrfsfuzz/bin-asan/bin/btrfs+0x4bf990) + #1 0x5c0582 in free_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:591:3 + #2 0x5c1b18 in alloc_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:644:4 + #3 0x58de0c in btrfs_find_create_tree_block /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:193:9 + #4 0x58e880 in read_tree_block_fs_info /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:339:7 + #5 0x5f2d74 in read_tree_block /home/slave/dev/btrfsfuzz/src-asan/./disk-io.h:112:9 + #6 0x5f2b52 in travel_tree /home/slave/dev/btrfsfuzz/src-asan/qgroup-verify.c:692:7 + #7 0x5f299b in add_refs_for_implied /home/slave/dev/btrfsfuzz/src-asan/qgroup-verify.c:748:8 + #8 0x5efd39 in map_implied_refs /home/slave/dev/btrfsfuzz/src-asan/qgroup-verify.c:766:9 + #9 0x5eed89 in qgroup_verify_all /home/slave/dev/btrfsfuzz/src-asan/qgroup-verify.c:1366:8 + #10 0x51ea14 in cmd_check /home/slave/dev/btrfsfuzz/src-asan/cmds-check.c:11571:9 + #11 0x4f0ee1 in main /home/slave/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #12 0x7f792c60e730 in __libc_start_main (/lib64/libc.so.6+0x20730) + +previously allocated by thread T0 here: + #0 0x4bfca0 in calloc (/home/slave/dev/btrfsfuzz/bin-asan/bin/btrfs+0x4bfca0) + #1 0x5c16ca in __alloc_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:542:7 + #2 0x5c1b26 in alloc_extent_buffer /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:646:8 + #3 0x58de0c in btrfs_find_create_tree_block /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:193:9 + #4 0x58e880 in read_tree_block_fs_info /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:339:7 + #5 0x5918a2 in read_tree_block /home/slave/dev/btrfsfuzz/src-asan/./disk-io.h:112:9 + #6 0x591712 in find_and_setup_root /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:647:15 + #7 0x593243 in setup_root_or_create_block /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:966:8 + #8 0x592a06 in btrfs_setup_all_roots /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1045:8 + #9 0x5948fe in __open_ctree_fd /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1341:8 + #10 0x5942b5 in open_ctree_fs_info /home/slave/dev/btrfsfuzz/src-asan/disk-io.c:1387:9 + #11 0x51dff2 in cmd_check /home/slave/dev/btrfsfuzz/src-asan/cmds-check.c:11382:9 + #12 0x4f0ee1 in main /home/slave/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #13 0x7f792c60e730 in __libc_start_main (/lib64/libc.so.6+0x20730) + +SUMMARY: AddressSanitizer: heap-use-after-free /home/slave/dev/btrfsfuzz/src-asan/extent_io.c:579:10 in free_extent_buffer +Shadow bytes around the buggy address: + 0x0c427fffa7d0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffa7e0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffa7f0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffa800: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa + 0x0c427fffa810: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa +=>0x0c427fffa820: fd fd fd fd fd fd fd fd fd fd fd fd fd fd[fd]fd + 0x0c427fffa830: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c427fffa840: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c427fffa850: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c427fffa860: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd + 0x0c427fffa870: fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd fd +Shadow byte legend (one shadow byte represents 8 application bytes): + Addressable: 00 + Partially addressable: 01 02 03 04 05 06 07 + Heap left redzone: fa + Heap right redzone: fb + Freed heap region: fd + Stack left redzone: f1 + Stack mid redzone: f2 + Stack right redzone: f3 + Stack partial redzone: f4 + Stack after return: f5 + Stack use after scope: f8 + Global redzone: f9 + Global init order: f6 + Poisoned by user: f7 + Container overflow: fc + Array cookie: ac + Intra object redzone: bb + ASan internal: fe + Left alloca redzone: ca + Right alloca redzone: cb +==3439==ABORTING diff --git a/tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.xz b/tests/fuzz-tests/images/bko-169301-1-blocksize-zero.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..70c2b22feff2be6a4fab4ed7775de7b7822bc867 GIT binary patch literal 3828 zcmeH~X*AS}8^?dlSmtO9N|ua5BqQr&&sIqGEeWBkA<3F$n2Z*?u{1`uF+(9V%uLH9 znp{iCaP7;rRhBYBHAQIL`QLl~=iFDl>Hj}>dC}|V#q*rcd7kh0`)uncoH`8v;5Vc9 zt@!~3J~;pY#QIM4@Oa^%HeWy?>tvOf(5YUmT~S*ILA3I&xu) zO6w5BEJb&A*CNfQrXX1UA)?D6yfar-r^A(mI~jk)p1qWqWDz8LfJ-Kfnh7eqUeyFo zt!YAjWf9UU(ZmbZ8JCBNkJdmWSo$$JS@2hnkhyRAH2*Vx`w zI8#rP;gmzHw=8xM%IOy^$h611uA_%U8%3-U@I&pP*N=elprQ)`EnF*uDo+zDr4o4C zOYz2~0in4OsAmE+rEn@4x4nrqV90*Nw)Y2gbVmBR5WPIuQvQFHIT zb@V=g8AX<9dZ2$htj(C0R2HUp-yv<~go>m&w2Ue^#%oEBl_naK6T3;rHuMkqPrr+z z&s(p%e@Kr}*P3i|cF$M5DG2g=5n;TmRY$+5N|LW?@fJjFxsG>Qxo}LJnD0C`h9wzHyy%K5fDQ^H4S+jA!)oZ? z5CZ7nS`hWPsm;oyj#S6ePy@MH?)9{V;(o8|#pP`L>{T}DY10OAk{ajM{dFn$P2nE- zk^TN})8ZZotip3`+1nE0kLq9O^Y+fT=hI#Rq7;t@hGvk6PNV!Bl$^nltTUB5Pzfa>pp~d z08$~Y)tx#QBTIno&yc_I2Hngao`uv^SHJH}cqUj}8CHwhShR0Gha)zG)}hW zrhK|~rS;smnNs}WkAI;ZkoNIPWushAG1;+qz2+CZ1%x-BPf)mDT@jah<-PY=Zce)$ z**F*oF-~Twg}!`X{GsECh9d-OK;ntu;p|Jw%qAJh8P!A$K?mU%n>eo%k57U9WUB=HtO z4*}C9G4h<_)(f~3E-Kpa72mlmiMDx}Gut^^+wWZid+%&tW*FSE#Ohht&~gFr{iPvh zNRz~nUYilne`L*Q>Qd(u?p=9PIaRlYdTnTB?9F>_&J0l7IX^SSTv0O*zM#nRc}jXW z?PzuV(9Dw}R>6XykzPTmcc83KV1uSxe&FWvFB6-!jxXv}3o|e8%e>H1@-!)zo%0y` z$v}Tbhfa?+Fv4c|lw13l@M8|o8)=J^zZ@KYwwRi5ef8CIFX{1ChHhgvim2YBW|?_d zzv522f;ZRsi{wi45w6DNNegQ$&-l0reyRHV$0~Q!VcqQ?+?W;0fjywggjk9bAA1Z5 zXE#(5sfrc$`Ks1M^>Q*wgOJ#lw?V2hWRHhl z6A`97-=7aJX)_%vo(%*(2RNWve!AUG4ol6((-TVGGnqH z*`qdk&VQ=Cyd44YwNln+8aiQ#h6$A5c|7bak_78OQ6hJ%H&HEF2J3PmU+AF=&2u$9 zyvh3h^Xldj?gV6`rtV2s51U3_L^U_sR?ZBJ4{K-jgss=?wY3LzRz(refs < 0` failed. +../btrfs[0x47a4a3] +../btrfs[0x47a550] +../btrfs(free_extent_buffer+0x6e)[0x47b73c] +../btrfs(btrfs_release_all_roots+0x8c)[0x461cdf] +../btrfs(close_ctree_fs_info+0x1f3)[0x46391a] +../btrfs[0x424043] +../btrfs(cmd_check+0xe1a)[0x43f352] +../btrfs(main+0x12b)[0x40b581] +/lib64/libc.so.6(__libc_start_main+0xf1)[0x7f970daf3291] +../btrfs(_start+0x2a)[0x40afba] diff --git a/tests/fuzz-tests/images/bko-169301-2-blocksize-zero.raw.xz b/tests/fuzz-tests/images/bko-169301-2-blocksize-zero.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..68f7ffd4398b6c21fb8a2211629729cbf609330d GIT binary patch literal 3836 zcmeH~`#;l<9>+hJu_Koyxo%n|Yvg_;D^ek8gplYvDq6yt3X39=+|4aQn-ErG=rp3W z7UdE$Be~?;TqoCkqq(e|@A>8X)A`}sIgiKp@i>puU+{iEo{!i2^?JQUd#|554FI6Y z{-<`50760w005=#Q}4uLycGKkfJpWzQ<6EAqW?J*bHW9+H$&Cz>jwqD*Awm>EQ_S~ zcr$%}?aih~joX{(<3 zL(uTDA>^Z2nmSK?O{^4bap-;rGbNgsc)53Yd$(W3#$43K=zuBOIdqJ|fXx$@IJNbI z_B@PfZpd&>D|&n=-$f?vy+U@<@hsOBVy{BAoShzQ&+DMu2S8a;d6%S{Hf$}*Jonq~ zxDR8GLaS$bWXAgBJ+I5h=MKlDidLg77#d5_uiyK%w$=*97wb|1pIX1QmlNI0cqSN) z+9-Aj*{$_7(Ge_XWPwJt#`7;|f+#aIq`Xwm`wX&xvyC!5<*+9+my^Pc-j$^JUZrvR zDDwe!f9$MnlzLbV>WrnL&bc7#H5*XET!OhYuVYYQUoQh;=_bJ4jRx{fQw>T_h|{}U z>FIS-PTt3&`ppUr-HG4-Zp;{0(UGlfuOP3b1<55~n)(q=5k_hs3L?>z$aeA(;od#I zBVR&m$L&^5F5bPSZ#2X{agwzC9#{(7b{V~eWwJM~Ohuw>x&(rnrHW7QdJ?*6Yi2of zU;56^mmiexz|JB&;(K!Pl5V0%0^Muh)LGy>OrB_wcx`=oh_+1U)95h^aBu&IlYqAvY)&4 zpnhhEaMnrs*fotD#hr=p%t>M+pUZ<#A3a)Vx&8*6|1cywtwW-rn5ZF7K+sY|Aq!_3 z?0JgQ*I}GJj{ZUD)iWat6s|`l1E5)!Bqk_`m9m6{2rr>rr#J^`r&zfW^=bXSk%0#* zJ^r`2TP**7&y?m1d)`%}tLEc%hacd2ipdXq;x#_uEiJqHc96EQ?y7gS6Yjn3(CUcW z0pafR5OhojDroc{=*8w222K!p3$j>ALLZpZE%90jP&2Q+wJpkgFzen5SEYm9Vb&OE zQgf4FN08ki5v=TK<_sq@tD=lG$c$9ukpD~p|HZags-l%+z@ZG~zaG>dqvgcv!DR8Y z6dSObQKF1Ft+m0NQ$w%p`&Gg}c{6)l{TET%nrOlGd}oE|2E(G{P_(&?eN8$5dOFj~ z3~bokYtFWmp;pgewg+MhSj&&>f?Kr}wZ$!bsWmVafafbE5{ws^(`2-Gv%s_OdHX=^X*MYpg= z9_RF^Z38WV1_U+ZvCQJD_n9eS&RELrPlRXcluL6J2CBCW)|KO@U;1!{t?CHzrw3aN zll^(8gO_tRtEmE4A?D3D_AEby({m!#KFJg1QbJj8Fe1%13dpKdH)D{#n@}4_&kZZD zD;}jx_IAFb}29G)9A+hVa zp^@nvT%0Xixr@3Ri0zqP;2QhZ_0LP_iZZcQ+Ty{-Wl*EE@^9(xuqpcq;mePSM9bby zI8buONO!U;8`r1mJA@TJXA?8ykU~?9^{qO2{w7@}%$}z=U|mZ03NIe|e*D}=`)|@E zsdw6cx%=wc)F>{fyESam49V&0DZILdcaiOo!ByfS#rlf}dUU-bD?T%5 ziwJEq<1JMIdh>{s!J!bd-fJ_LzRaf+L0o-Corp~`;rZEJ(uu|zKT~#Vg16z z2BL@Ld75YEui*BA-|*MBp~DOFcjMg^x{j&ya!O|Q^+!zot+es|_*Sh8XU=9|AcG5c z-Wff2cz8pAlG#|QAPLRC&pBzw+qF2qU^X1ny5tXieP6Xz6YLq}w8i9@;T+%a#RB+o z8WTAYy$U}#`K5sKmwEjE!iBqrXzH8(%lY(x*(+}4qW^PO`xA!hqG(<26Cj{=JU9|WX<(s6m4dO$z@I4k)Eya|vPfW^eb$cB_g71lIg OSeN|$#|1!Mr~e6(DSFfZ literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-172811.raw.txt b/tests/fuzz-tests/images/bko-172811.raw.txt new file mode 100644 index 00000000..bbdf99b5 --- /dev/null +++ b/tests/fuzz-tests/images/bko-172811.raw.txt @@ -0,0 +1,55 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=172811 +Lukas Lueg 2016-09-23 18:34:15 UTC + +More news from the fuzzer. The attached image causes a segmentation fault when +running btrfsck over it; using btrfs-progs v4.7.2-55-g2b7c507 + +This may be the same cause as 156721, the call-tree is different, though. + +The juicy parts: + +==19342==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000000e5 (pc 0x7f3b12e1df50 bp 0x7ffeb50b4260 sp 0x7ffeb50b39e8 T0) + #0 0x7f3b12e1df4f in __memmove_avx_unaligned (/lib64/libc.so.6+0x149f4f) + #1 0x4a982c in __asan_memcpy (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x4a982c) + #2 0x5c2d59 in read_extent_buffer /home/lukas/dev/btrfsfuzz/src-asan/extent_io.c:867:2 + #3 0x52eaa6 in btrfs_node_key /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:1667:2 + #4 0x5436c7 in check_fs_root /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:3661:3 + #5 0x5224ef in check_fs_roots /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:3809:10 + #6 0x51e772 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11533:8 + #7 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #8 0x7f3b12cf4730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #9 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +parent transid verify failed on 4198400 wanted 65305493131755520 found 14 +parent transid verify failed on 4198400 wanted 65305493131755520 found 14 +Ignoring transid failure +ERROR: add_tree_backref failed: File exists +ERROR: add_tree_backref failed: File exists +parent transid verify failed on 131072 wanted 36283884678912 found 4 +parent transid verify failed on 131072 wanted 36283884678912 found 4 +Ignoring transid failure +ERROR: tree block bytenr 1280 is not aligned to sectorsize 4096 +checking free space cache +checking fs roots +root 5 root dir 41471 not found +parent transid verify failed on 4198400 wanted 4 found 14 +Ignoring transid failure +parent transid verify failed on 131072 wanted 36283884678912 found 4 +Ignoring transid failure +ASAN:DEADLYSIGNAL +================================================================= +==19342==ERROR: AddressSanitizer: SEGV on unknown address 0x0000000000e5 (pc 0x7f3b12e1df50 bp 0x7ffeb50b4260 sp 0x7ffeb50b39e8 T0) + #0 0x7f3b12e1df4f in __memmove_avx_unaligned (/lib64/libc.so.6+0x149f4f) + #1 0x4a982c in __asan_memcpy (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x4a982c) + #2 0x5c2d59 in read_extent_buffer /home/lukas/dev/btrfsfuzz/src-asan/extent_io.c:867:2 + #3 0x52eaa6 in btrfs_node_key /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:1667:2 + #4 0x5436c7 in check_fs_root /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:3661:3 + #5 0x5224ef in check_fs_roots /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:3809:10 + #6 0x51e772 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11533:8 + #7 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #8 0x7f3b12cf4730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #9 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV (/lib64/libc.so.6+0x149f4f) in __memmove_avx_unaligned +==19342==ABORTING diff --git a/tests/fuzz-tests/images/bko-172811.raw.xz b/tests/fuzz-tests/images/bko-172811.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..08546c2b23cc0e60345d96781f6b0701343dccd7 GIT binary patch literal 10900 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 G_J0A>l?25A literal 0 HcmV?d00001 diff --git a/tests/fuzz-tests/images/bko-172861.raw.txt b/tests/fuzz-tests/images/bko-172861.raw.txt new file mode 100644 index 00000000..f395333f --- /dev/null +++ b/tests/fuzz-tests/images/bko-172861.raw.txt @@ -0,0 +1,68 @@ +URL: https://bugzilla.kernel.org/show_bug.cgi?id=172861 +Lukas Lueg 2016-09-24 15:40:54 UTC + +More news from the fuzzer. The attached image causes a segmentation fault when +running btrfsck over it; using btrfs-progs v4.7.2-55-g2b7c507 + +The juicy parts: + +==12279==ERROR: AddressSanitizer: SEGV on unknown address 0x6210010719f9 (pc 0x0000005f30bd bp 0x7ffcf39cc670 sp 0x7ffcf39cc670 T0) + #0 0x5f30bc in btrfs_file_extent_type /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:2083:1 + #1 0x5f2f49 in add_refs_for_leaf_items /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:664:17 + #2 0x5f2ba9 in travel_tree /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:704:9 + #3 0x5f2c0a in travel_tree /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:719:9 + #4 0x5f299b in add_refs_for_implied /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:748:8 + #5 0x5efd39 in map_implied_refs /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:766:9 + #6 0x5eed89 in qgroup_verify_all /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:1366:8 + #7 0x51ea14 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11571:9 + #8 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #9 0x7f811e227730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #10 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +Extent back ref already exists for 0 parent 0 root 0 +Extent back ref already exists for 0 parent 0 root 0 +Extent back ref already exists for 0 parent 0 root 0 +Chunk[256, 228, 0]: length(4194304), offset(0), type(2) is not found in block group +Chunk[256, 228, 0] stripe[1, 0] is not found in dev extent +Chunk[256, 228, 4194304]: length(1638400), offset(4194304), type(5) is not found in block group +Chunk[256, 228, 4194304] stripe[1, 4194304] is not found in dev extent +Chunk[256, 228, 5832704]: length(1638400), offset(5832704), type(5) is not found in block group +Chunk[256, 228, 5832704] stripe[1, 5832704] is not found in dev extent +Chunk[256, 228, 7471104]: length(9306112), offset(7471104), type(5) is not found in block group +Chunk[256, 228, 7471104] stripe[1, 7471104] is not found in dev extent +ref mismatch on [0 4096] extent item 0, found 4 +Backref 0 parent 0 root 0 not found in extent tree +Incorrect global backref count on 0 found 1 wanted 4 +backpointer mismatch on [0 4096] +bad extent [0, 4096), type mismatch with chunk +ref mismatch on [135168 4096] extent item 0, found 1 +Backref 135168 parent 3 root 3 not found in extent tree +backpointer mismatch on [135168 4096] +ref mismatch on [4202496 4096] extent item 0, found 1 +Backref 4202496 parent 1 root 1 not found in extent tree +backpointer mismatch on [4202496 4096] +Dev extent's total-byte(0) is not equal to byte-used(16777216) in dev[1, 216, 1] +checking free space cache +checking fs roots +root 5 root dir 0 not found +checking csums +checking root refs +checking quota groups +ASAN:DEADLYSIGNAL +================================================================= +==12279==ERROR: AddressSanitizer: SEGV on unknown address 0x6210010719f9 (pc 0x0000005f30bd bp 0x7ffcf39cc670 sp 0x7ffcf39cc670 T0) + #0 0x5f30bc in btrfs_file_extent_type /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:2083:1 + #1 0x5f2f49 in add_refs_for_leaf_items /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:664:17 + #2 0x5f2ba9 in travel_tree /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:704:9 + #3 0x5f2c0a in travel_tree /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:719:9 + #4 0x5f299b in add_refs_for_implied /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:748:8 + #5 0x5efd39 in map_implied_refs /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:766:9 + #6 0x5eed89 in qgroup_verify_all /home/lukas/dev/btrfsfuzz/src-asan/qgroup-verify.c:1366:8 + #7 0x51ea14 in cmd_check /home/lukas/dev/btrfsfuzz/src-asan/cmds-check.c:11571:9 + #8 0x4f0ee1 in main /home/lukas/dev/btrfsfuzz/src-asan/btrfs.c:243:8 + #9 0x7f811e227730 in __libc_start_main (/lib64/libc.so.6+0x20730) + #10 0x421358 in _start (/home/lukas/dev/btrfsfuzz/bin-asan/bin/btrfs+0x421358) + +AddressSanitizer can not provide additional info. +SUMMARY: AddressSanitizer: SEGV /home/lukas/dev/btrfsfuzz/src-asan/./ctree.h:2083:1 in btrfs_file_extent_type +==12279==ABORTING diff --git a/tests/fuzz-tests/images/bko-172861.raw.xz b/tests/fuzz-tests/images/bko-172861.raw.xz new file mode 100644 index 0000000000000000000000000000000000000000..c57661d986418165b2c305786a10aceef448d00c GIT binary patch literal 10828 zcmeI2RZJz&wq=3Bp>TJ1_rl$!aEHR7aF>G|+?_%WURdGo?yiM92X}Yt+nxUCq~A?m z=iR)dll#3s_R8EdJ8SJZ-g$j=^dKOh4;CAwp&-a1i69^#(57`JK0h6yNem%88b5|? zVUP6T^G(u6O|=@0FXjpnJ=&^tbeukQ|KKjwBCDIW7M6`6ym)cv|7o$YsM9j|0}Vtd z6gOTL-Xr*)Imbm4Zik3eLn4IdWP8ev$hV=CZZ%NK#-Sp}X&jm&8DE@&U2S*3T+$PN zp_wfobG6%S7CjShep(;(S2DB|f<$**w=8c;Z%6v5T}wxU`q(&gXeEttV9Nvo@<}s| zq_6P4>mpebANE|TCvbOezIA$OmM=Z?g)`D1>(^<0XKdZQRz<*d7j(_k()s%QJRdNv zylONwvGgl5Gu4$Wo>-CgUXSQ*Xs_$K**J8Mnm89LEhpCTC(CHIw%{4U5O0byqb<*U z7q|IE6dSG{643$`!Aq1-`;Q9k9*2qG4hGv8GP=ib=FaIJSa8}%z&GKsaQUkV6$V0L z8_q(DBUPHyy2;Gft`0F5XGAeNLHcm%aW!O1Ds8sh2mO7QN4IaVvCr1x)-G`kxWykn z;IqG`V{%E0IFFk)a*~(@@m+VHV@GhI0R^)QEpFzk=&$2;ntG^Ci_g6rm}tfB((zQJ zJEyV$Tsl$BUU{oS{|^z#D9KKzO4W(4>wBPa5i@lb-sstdjN!eR2pB$)SD}xWO!VPP z!e9nRAf;772HA%G`qNMtKSy6oTH(AG>9<%{YRpF@#~m%;;VPQ9!GhQR9i-oSb`Na2 zQu_OH^+E#b0JZwleIgG#Oi|5+W3Q8v4DxIudRgTU;# zm+lkN>TDq%OEld?WZqrnZo&D4O(!gC8abR>vzF6 z+N}~zl9LS4Fq4_p0C4YAz<=Sh#HmQ!`xrv8F*v! zLk&4mT8-Bc+3<-eFP}wccy)2~B2>Iko|HqVjGyBW(ZW_w8GWM-3#zhOZwqKtI5(!o z!yzDDKz`DuZKN{%kO!aW2ZT{^?EWU-hb~svOrz3PW$p~@gs$TNm zRprZ0klP%~?%AO>DX9 zEk$gss5v;S>Y-4m$larD^u8jfGyKs+Py$H&MvkKx8q_gtMUR0Xz~RP-QV-fa34d68 zJt%@(fBE{#0?;JjK!~#^>{8{=Z)sGCNIhX&c8k9yYe!lv^J)kjYF&RPw^@o~+$y%i zY(7WQbLh&U;YwlP`-+h~#S_(N4S&8BBQ9T|i43<)0b@AA`o%7b^n1jYqF*4`$V}Jo zvT5;j-{F-O&Y_)l7`sKmE+GNnvCbD;u2==vDEEtn7+}q|qVy$aP?dGCl%!kig0Tu2 zmSrGW{z-!}l~#OcsxeJDoBtDD~M1^{yy_RnAIsSX3>w|a^Qf->jf ze^u(+ekCkUtDrt8@nqh#PH6};`ylzj-{#jPdQO5DH3iOz(@W}lZ#ve!v zS(3`(ro`BVkfMM)tL#lXEeqSIdTTZ6yBJhIi*EHXX9*r@W4JB_%P7?cE*|hLo$4e} zfw*=7i{2NOEjq59$3p;!=bCecjuotl#>4MkG%R#H2U$+9rJqmGeP(JmWbtP0a=~eF z-ObM-1lUVj*Pi)S+j{voz^>sq=T-bGIsK9&4@Kz^a;nd(CoCNrGEPXBCqyq_{?Lz~ zV=zLx{PxmupVm>(S9p*1MRzmUACuwY2g9~ZK#~|cn)Ah6323!a%Fz`9KDLkflx|U* zz@3{qZv&izKc~Qi%_b+;?Cjdr&=NJ~xYbF*33Ct9INzbvJg)&O6~Dj5l5V`ex#3&i z{}@_(g?eb9C>4Y*GimNAQ5qOfBzqIPrEl{+y6<1Ug9wX&lnUaipT1(ByBc4!)ZAeJ z^;>Ymp0x2OrfY zGUm>_pQS!QkA!n-V~hUeRM-=G5a@?#H2Jt~Gbty1vN%+5StdBo9i|J6+065vSEY~S zFntVZOio*4T}kmi;TA3yU0{HP>bHCev3SbPZNQyiUg##Q>D@IMpaw;Xn_{Y4ewKqX zqY@26bZP|;KQFI?NWjTp$7uX3T3`J__i3cwG-?7i_IUq7)y_GQp8eY@L01AoXcYC} zIg++<^4aVBfR+8Gd^kLdm`ACTe&Zl3#Iq5+^(I5~wJF7Dex{Jc8q|gj^>WJx)j)MB zc=vR zZ|vlyB|UYn@(=s3=88KqvJi9)137VJI!TE!qfS`7z-PW%xu4v1sj>T&IsRX+sj8p4 z76Sw1k8J~E;z*8=2spJJuH`1ZX#XY&_$GU%8G4JAQSG|9&h8{yVwDxrIStb4`@I4= zr;w_jXQ@sb>e5xGyEVU=n{EPB-}8GaMPWA_onTfq%YM{qKg3>L!wLF2;iHzkPM~fp zoKk7l3)!q+K@rdkBtq`1f726QD-X@kf@CIi>lc{y-raxAz}BONG8SSK%}sR+GQ?4l zkt%{KYHj69Ma+?wtETpNz%iNevr-Q$9%8^Or908=!n0wUAJTEyU&TY>>yYmh)Ktf#Hnt|m)9G4#UX{&!+F@U$hoj4)C2G#ii*5{wZS-xx?f9cOT zGI?-K3CCIh>0~mx<%WNgbY`cB+9<8rfBDmHziJ<5o*$%yi5ThZ`>W>qW>wmw;qs-n zx+&!5(oRn^O+6Q?fbUOMlC|Z?C9;ZP!EnJ&tcLt*&yG+!1UEIOh!dc*+_BqSiPF}{ z#W)h<5>Zz+ZQ8P%F9*8vzSAV9-V6F8S_%v`pxPRR%AsaPCS(?g&NJ20!eqtRJ`s1@ zMw>K);pMjFSh&65C76N;*YJJ~Qbiy^leoyP#rBPbM^x zG(M#L6dft9rcZik4%O-HYG0Qy{hRuR22>|f9;iC^zPkIn(~v{2%NarSmPt_Cm1u{z z2}KtqdexLS{(kkLAX5%muocCUU9U|sWe=ab4b@W93vFNUT6~L&(Z|uEuE$OX9^b%` zBnx7Rm(FGL^-9(JvDc=g6hz4|!I4%32(C}EMueh$!&C3viy%_uZU_<>9&IpR52Lx9B-v1y{a*i>jxof8~IP>`L0H;Wn4zJImFm>fr;o*lS)?< zJ?ewm({6#}gwOYIXLL;dHMwgY@*g?@+2XheRnhtnpG*oOmO`BBPWS0q8)sifhcahA z241fjf=Dbq9-&WkL`AQl3-6Uh*~U5hIh+PAR#JI&2z+(&*fCg4h!l<*MD#JqT=4E4 znLxAUcD@MtTbrX9M~NjVhw3DBOfJ`smN(S2KhKY6=xYSlI!v!%6*1a2r$u0$MnYlF zefp_pKO(sQC>7dVt?Lx$hABkVuNglISf>02Qp?w-r%Vcq(q~-1&Pw9p!*5(#n;^u< zeL$Se@LrHss3$QBL?v&04rB?C+C_8dKjB0BEg)hEF4M#kN#?p=Cu=k^2#kl4-e4YP zXD#tP1`R5J0|pb!8D9SJ8rh{e<|6c4L=MpaX7w_Ow4Tif=S5P@5^Kz7tFmx-qxBk_ z@XMjY2}920l7w>F%t=bUG@?*<2)_K>l3*T29#rPP@Bxhx?D_ZBeLEmj(SePEdNW^g zW+Rl7;5ETw!EEe9U4p`#D>2LdD6VnxZP+`>I&;|u3+|K489w6xzkP6;QD&~Vn10188l(`podKs zQ$NdwEqOswz1}NT)F~)*x6J@hFX?C#7#Focv{q};uD-nK!hMRwRuz0;7x)=|tgU2f zZmZ6&KtK{T{fSG`&SrIbTP#*!4_g}Yt+K9U%s~3`uu!a%s%+`EGV-}fgX*64J}s?% zzl63F9~uaa{}rThK|n)*xHkZp^)J3gfEgel&yE{>Mk;+7l;IzcZe5QtXCE`!Th)5% z>**8#II#Py^p=}tzwbfWPf={%Q>;0~7+r?;#eEaUq<2X^?n#qtgG^Tuirg0nyRiUp zsJf`4+De)%<R*EJ~j0R&FhU2YuNi_^qS4O}ynbVW&~dgFA4 zr1;5u4A9&IkWBaaaR{P-hM+Fuz&R?m3VIctSP0u>hm0huq5yfqfk#^zvD5v_b^tBE z=B3c2@ssy@Ve>oZk7%H{3=_PFSNN+7^&v~m%L3=;`p}O=#onPN!cZVYLHFcdw~>Ij z#qQHq!}f!V9D7R++rK|gbK|5acs7_^;1ub&P+^I&SBaYBD;X*W6U5sMBXknA({Gk+ zjAgceolHWhwF@oAf0i92k;{5>C9kfswc1W)PR)!BT>6G~iv`t5kX^qeG=B4+@Q7Ra z`Mees@K>Fg9OE2q^8Cu{Ho6&O{^PNaRwRO=PH8^15mqUwBhAJYVAFb&jn^R46j@>3 z{xORmJB@N#7-4bF;Z{<{E)_JWGwmmt!D@j{kQYGR@M-0z=;739!< zJ>yW#+T*PSUCK|c*qPx>hA;CTwqLHLItFAp{gUcOX{-WJe{y|0n-#>Io6u{I0AerG z-mp#+es%o;WT^oxs&$vgx;>h6qXmQ-4aDk1H5QanvJ8t$l4WI-a29uH9Do@L7)H$|}PeT*l-5lDaFO_j+ii!D4&6%!-+4Ar2p_hjkye zuCP1}-NHTq&|*R-Fv#xX-MySdbu8miUCJJ}E?6V85aNt)EP4F7LuBU7_M}=>xYtY8 zqgapkI^zk0X48hljV5NKY}R*sYvj6~al!ysst>HQ-o1_HQ(s+nZpn`qNXb5IL>8R9 zRInZvT>^y_%&xcBVwSeK<)C}2ZmdOm4tA4_YE}O1th^nFk-C%u1IWkuR%up(epoQ#$1I6>yS(!H=B%c zC4y>`DfKuL>X1)Pj~DUZPBszlW9XvR1hN!EY|6uVkOz4vc?ar|x7Xa;X%xeR-VS}hj{j$}Z1)Icdh^!`z?dCaJrRRp->fU%52(%OyGLaigOiv=UR z&9##}6hxbtR`Xu{cFj4`H`|YJ1I}#!{L8jHiH;wlt%$)eVkx3pOplxtDguRzc_PDYWqXoL12Ul>IalZ~Zg{>8qrR#(S8ANK{wGz+dwJzjIQ zKARjq+FxuD(II4$x5t_TdyW{*(CmY}dVVN+n)`U71pv`|2`!5(d<;GJ`Aa-Ez z83i{VR99lcn%JThq=7fOYaTgZv@()ptwg@ zqrN?ARaCB_Ud8+%b0D|Jg#IE>6b&rO3D!~Qyn$&J{ILg{)*7KH1;rTwWX3IU<~Vog z#9wWWozjC>ynjtwRSRNGMiGm+WD)QJ8Q53^Q@>yCNC!F_#-zBDbP3R7V-(4VjMK0d zT=nX0pW!7#>RR(be$DWRnwJdO5D&Y3jfK3XCFx3c1)7A)?mzP_2x??Go;`0@!eh#~ zV;Q6V{mtA7ug}iwUk3^UM}y&D^%MbPsahWXZivlk=Z@lTYo<7u+2!+_!}v#vxVpx^ zX--uQP@8D_%NPR5fCowXQm!pATy1VK9gnj9={dn^u!y4c7lt=&R*$(s0;oKL9oxYT;CWM8R_p^%hQOpUze{lQpkF$IeWzyUvXoMU<>&f=$rOD>+kJw z7(b3z+0iShD(Fms9q z>=#;p5}Y4eX>)_G%Q1y+o3k6@4|Tb^rZYX%OB-LSm(cB=hIGLVe?Us)jEnWw3gIK1r>i7+ZiJ=GIntaA?lne8-XtuF~BSK zl4m76RW;jcNV;1R&-w5!V2}3q8a)$xsGgxN8;1f(X+cCw7T;?^_5@=jvRZprH)4GF zbNy&~ZJx?iL#`DKws)4|gq7gI(A>?nUL*#f<&fcey35`1l1{=R3gUAB1`ZS+b!HWQ z!?}v))YY<^DSARaLI~;#$yda!yiFIokY?sfjn|NXU-CM_tgdjD9U=!wr+P*>-Fty2 zl&%7Jc+KjdTKt6mYL~Dm9iAOnZ!7S0dMxbbg(h_3w~0V+nf8{u0Hy`Rlr30#A2nO1#qG8))8Xay>e9ULipsm#)lrEyM%c*l( zEu&^>NzV1lDFbV<-sl6=Ki2FA5562By>?mb%tw*DXo~V_z$WFH3JGnM0(Wx0={pVA z#A`0g>H?ni&F@c75#R^baA(u0_I`QIV*9>qN*dD@A(lew-hFfwfZeh#Ujl2#)~}Av zY3?#F>gNf!^^Nw=1`Qiw(h{m&kFiX0Arf z3GFor^8VI+MvhV6GKJ@VwAqukLjtt5Dt(NDokvf%tojcQeK)mPuf;=Bn&827oR}sF z9QUTtg;DpY73>o`+;tRnB=idlqI=917)^cQCR5%e5r!`5a)z7RPSf4|kcN;SZE}HJ z5x``L-mvJjhhl7(1ml=e_12>B7iQzkRV=gCXH_3w-ye-%(iJ`F)*pN?cNM{rS6D~m zJqNp+B6aY4oN`kn-jl7VTqt@_#cJ}fKGsVk_k=L|O+Bmr$xxTS=he!g+AJjZ6+-h3d-AzpMq zk9e&Hbs38W_2ui&9xZ&Xls$o7k$jb>+vOsrhU8Dgvg`_ms+;cSg#u1>=%Dk@TkwJY z-m2|8SZ*HJN=eV=(eXL*YcJWUvmLzy4^^ZZze^(z;i9{SOn3Q_aR@%tbh?fJ^E6nR z`=L0hA8VK%^TKZ7%6@ovLLVmssFafl*6)SPsU7y}7VdYZ12J%ZkTi*K$2Jc4P z-N#?c_Sb%<(TFRE{}C-1897q!9QpG#r&}lm95^ablTG_W4loZBp;uwE!QNwAQ=TO~ z%i~l>M!N5qL|9k;&f&rMQra?%4;hiNTja&cV}mQW!$3#aN|&)!-u~EvH>&pn=nG;k z=#sSZ_5)UZYR-J!{F(I!Rez3$>@RX#_7~vgb{ARdNN2=8PSON>;sNI)a$69GXc$>} z5N5dR!`Kt%jP7zW(AbyH0AMNIk8&YNTGsQRDJSX-;pJ2Hk|f(d1zP!DDR)ZY>ULkc zsQ=XRQR~S_a8*B4`=#KW4H(CbcP2;Q4>v)IgXqXvVU~9yU)#O2N0u^ahATK?EM1PY zfcpuqyJ z`xCje_XyS$Y?P62OmIj`g(Q%7ZA%>AVq#@#TqeFj~R|Cjg(DgM3plpQIizhRH{CPt)Kcf#(ZCjp| zDV-2=W7TRCFb;E6M>^b<$nAuZzRUrvW1|!9_c8m+IQyl7-KSy6fc!A-?(-rEhHv6iF2cEZBE-Ez|UI89CEiU zW|N8~lQ$}V%?>dhv`#TaPS9~~Zw^Fgn4$4(@)T5Tdz!XqV*04YnIwSoEnIlfK1V*y zn;0LYE5e0=o^Q4dd8krb4q8D-oGF>s79Z&KHV}@Ek*yOi*ea3Zzs$7!csxp~IsryO z#rMe@yw^a7?@S*q`~|uRIe*W#$s}7(L7Kw(jeZD$E6bFzk;yk?~XSrAdoyFz=jPrEl&61VKFW9w+lVs4$4V1mQ-O z)CC{{`whL%jZKjY_Jnt__4w{0>YUhZ_+!At@lk?Z*_}I8>@^ka_xD}&&e1&x&>d}% z)XpM-5n(Wl7ly_f3%UtShG-1fM;+f0wwiN2x@9=D?H+TgPK#}Z)tSAa*TGCiYdIvE z+|gAdV~jKSocD_?p(#4Px$v%zJp+lW@Lp(NlISaUGXuq)z+ryl)=T-ll&Qttx;tbS z%TUzk>5haC47b0Q6TUEE`dbiW#_F*TMW&V4DR`RhIX6@8f#Z%#`{F01JKrE%*=D35vBbs;J@PWM?d>I>-A8+79^6H{hoD|$D7wP7CUq*{e<+S1C}`)k))O@ zM{Qh`;>oVwbGi0^K3UI_XCm`a2zjQ>bIm5W;%NXz1V+1;l_Va7=JNNw5`oyd=hs1?7rYIZ!jH=yc96M{@G0x!vg?kH zL0Sh9uxLm)h0fA_s`ikE^3M}&^vZp};#WcuKhN@DEOLk01)p1CEOpcWTB`rgveEw{ zP;f`nB#k&-(L*?ZcnJh5&v&xi4%F@rp=4nav!Ey;6xzNJr(rL*KC+umJoy%5?zG35 z;p2FdmXUcH>9%VxiffK9h9XcVgO;Z&zrO)#$3}i9ho~*W8U;EDPh{@!goBzh z_I{+y*41X!i>q6z7_QCcqiO(~u5(nK*OUZC>5fYsc~^i(buSby@^VSP_}WcxgP57{ zl6(Y-g*;dW&~Ugl_0#US57rn;hJw-UsQ#`pV=Sq;^sVqFH26%p*yi4I(&-!*#Nmtu5GDVBcDy;L z{D(>)LRWSonp3qanv`~Ih#g-QBGBx_$0I}xAmV3~t7+&`oJob^sdoO4d_J_6Bs}*s z7EirLd#7f)% literal 0 HcmV?d00001