// https://syzkaller.appspot.com/bug?id=0a885a86c3f396f8fb35dadea0d48618bf9eb4c4 // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include int main(void) { syscall(__NR_mmap, /*addr=*/0x1ffffffff000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200000000000ul, /*len=*/0x1000000ul, /*prot=PROT_WRITE|PROT_READ|PROT_EXEC*/ 7ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); syscall(__NR_mmap, /*addr=*/0x200001000000ul, /*len=*/0x1000ul, /*prot=*/0ul, /*flags=MAP_FIXED|MAP_ANONYMOUS|MAP_PRIVATE*/ 0x32ul, /*fd=*/(intptr_t)-1, /*offset=*/0ul); const char* reason; (void)reason; if (write(1, "executing program\n", sizeof("executing program\n") - 1)) { } // mq_open arguments: [ // name: ptr[in, buffer] { // buffer: {65 74 68 30 00 23 13 ae 75 e0 fb 75 30 2a f3 11 69 dd d9 c6 // 87 de bf 5f a0 f6 df 6b bf 2e 22 a6 c0 23 70 cd 1c 2f a6 f2 bc 79 4c // 85 61 b5 bb 7e 2b 3e bc 93 f8 ab 9a 33 85 6c 1d 15 11 1a 7b 40 21 32 // b6 21 ae f7 39 6b 90 88 0b 38 49 24 fd 51 1d 90 3d 72 d8 c0 d8 09 2f // 8d 76 b8 93 c3 43 ae 9d 63 d1 54 dd 14 d3 41 3d 7a ee bd 2f 58 be 6d // 4f 58 29 73 94 de be 5f 0b 01 be eb 08 4c 54 72 77 88 9e 30 09 c6 e2 // 9c ed 5c d8 5b c8 04 20 f3 ac 5d 56 1d 3a fc c3 9e 02 07 78 ef fe 1c // 2e 54 54 01 00 00 00 61 25 dc 51 b3 43 75 54 cc 37 8a 76 73 b2 07 fe // b3 6a 2a ad 18 49 cc e9 aa 7b 5d ef b7 f2 ee 2a f9 35 08 4a 74 d0 73 // c4 aa c8 13 7e b2 f2 30 bd 66 db ae 47 e3 fb ef 94 ef 3a 51 1b e3 a3 // a4 7d ef 60 65 cd 4c ab db 0d f2 79 9f 67 31 f4 09 18 69 2f 21 13 f1 // 2c 8c 75 aa bf 7e 29 94 1b 32 93 86 e7 9a f2 6a a8 96 a6 a2 fc 4e 81 // af 54 68 b3 1b 6f 3a e8 0b 71 37 53 e4 48 f3 4c a0 9c 97 42 12 10 9d // aa 7f 71 06 b9 28 f6 1c 83 b1 4a ec 92 36 b5 61 30 a0 42 ae 7c 00 17 // c0 a3 d5 f9 aa 98 2f a4 76 e4 29 49 f3 2b 5b 65 95 89 99 ca 8e c5 d3 // 5c 54 f0 1a 7c 35 ff 66 ff 99 a4 bb 9e 23 6f 52 a4 f1 ba 04 63 b3 2d // f7 52 b8 35 b5 db e9 3f fa 2f df b4 52 bf 78 3d 0b 5f 6a 8e b0 27 f4 // e5 ff 21 e1 bf 82 65 b1 9b 8d f3 4c 09 d2 31 9c 62 77 56 c8 cc e4 96 // 4d 5f 77 bc df 39 08 0d f6 95 ae b5 2c 92 8c c0 44 51 6d 80 d1 77 a2 // 1a 12 5a e5 f4 48 f7 44 0a 96 4a 93 fb f0 24 9f f7 a2 ae 24 4f a3 b6 // f5 98 d3 0b 00 86 a5 8b 81 04 af 03 73 e5 86 3e 0e a6 e6 1a 56 17 8b // ed a7 27 d0 0d 5f e8 2c 58 56 52 13 e5 25 b9 88 b8 57 40 44 27 17 41 // c8 80 02 4a d4 56 00 77 48 28 c5 76 0c c9 b6 df 2e 2e 24 e6 50 28 5f // f1 27 c1 3a a3 cb d9 d1 c7 13 99 4d 64 1d 63 f1 27 6a 03 21 13 d1 b8 // bf e6 b2 4d 08 2f 0d 70 a5 00 00 00 00} (length 0x232) // } // flags: mq_open_flags = 0x40 (8 bytes) // mode: open_mode = 0x9 (8 bytes) // attr: nil // ] // returns fd_mq memcpy((void*)0x200000000380, "eth0\000#\023\256u\340\373u0*\363\021i\335\331\306\207\336\277_" "\240\366\337k\277.\"\246\300#p\315\034/" "\246\362\274yL\205a\265\273~+>" "\274\223\370\253\2323\205l\035\025\021\032{@!2\266!" "\256\3679k\220\210\v8I$\375Q\035\220=r\330\300\330\t/" "\215v\270\223\303C\256\235c\321T\335\024\323A=z\356\275/" "X\276mOX)s\224\336\276_" "\v\001\276\353\bLTrw\210\2360\t\306\342\234\355\\\330[\310\004 " "\363\254]V\035:\374\303\236\002\ax\357\376\034.TT\001\000\000\000a%" "\334Q\263CuT\3147\212vs\262\a\376\263j*\255\030I\314\351\252{]" "\357\267\362\356*\3715\bJt\320s\304\252\310\023~" "\262\3620\275f\333\256G\343\373\357\224\357:Q\033\343\243\244}\357`" "e\315L\253\333\r\362y\237g1\364\t\030i/" "!\023\361,\214u\252\277~)" "\224\0332\223\206\347\232\362j\250\226\246\242\374N\201\257Th\263\033" "o:\350\vq7S\344H\363L\240\234\227B\022\020\235\252\177q\006\271(" "\366\034\203\261J\354\2226\265a0\240B\256|" "\000\027\300\243\325\371\252\230/" "\244v\344)I\363+[e\225\211\231\312\216\305\323\\T\360\032|" "5\377f\377\231\244\273\236#oR\244\361\272\004c\263-" "\367R\2705\265\333\351?\372/" "\337\264R\277x=\v_j\216\260\'\364\345\377!" "\341\277\202e\261\233\215\363L\t\3221\234bwV\310\314\344\226M_" "w\274\3379\b\r\366\225\256\265," "\222\214\300DQm\200\321w\242\032\022Z\345\364H\367D\n\226J\223\373" "\360$\237\367\242\256$" "O\243\266\365\230\323\v\000\206\245\213\201\004\257\003s\345\206>" "\016\246\346\032V\027\213\355\247\'\320\r_\350,XVR\023\345%" "\271\210\270W@D\'\027A\310\200\002J\324V\000wH(\305v\f\311\266\337..$" "\346P(_\361\'\301:\243\313\331\321\307\023\231Md\035c\361\'j\003!" "\023\321\270\277\346\262M\b/\rp\245\000\000\000\000", 562); syscall(__NR_mq_open, /*name=*/0x200000000380ul, /*flags=O_CREAT*/ 0x40ul, /*mode=S_IXOTH|S_IXGRP*/ 9ul, /*attr=*/0ul); // mq_unlink arguments: [ // name: ptr[in, buffer] { // buffer: {65 74 68 30 00} (length 0x5) // } // ] memcpy((void*)0x200000000340, "eth0\000", 5); syscall(__NR_mq_unlink, /*name=*/0x200000000340ul); return 0; }