// 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: {6e 73 bf 12 e1 0b c8 45 e0 80 72 91 37 6b 6a 9c 4c ce 5a 99 // f8 51 25 23 2d d3 d2 13 e8 dc e1 fd de ef f2 a7 d2 ab 97 c2 65 27 fc // 10 85 03 00 00 00 32 b8 30 10 5f 5c 4b 41 97 b7 2e 5b 4f d5 36 ec 5e // 46 df 54 da 98 31 37 22 f5 68 c0 f8 07 9e ce a9 26 ff 71 eb 41 98 96 // 7e 17 7c c9 78 52 5c 7a 9a 8c 52 4a 85 5c 75 b2 5c ed 42 34 b5 7a bb // ee bd 96 19 d1 98 eb e8 c1 75 8b f8 68 63 81 23 0d e8 f8 25 d9 7f 0d // 12 4d 00} (length 0x8a) // } // flags: mq_open_flags = 0x40 (8 bytes) // mode: open_mode = 0x0 (8 bytes) // attr: nil // ] // returns fd_mq memcpy( (void*)0x2000000000c0, "ns\277\022\341\v\310E\340\200r\2217kj\234L\316Z\231\370Q%#-" "\323\322\023\350\334\341\375\336\357\362\247\322\253\227\302e\'\374\020" "\205\003\000\000\0002\2700\020_\\KA\227\267.[O\3256\354^" "F\337T\332\23017\"\365h\300\370\a\236\316\251&\377q\353A\230\226~\027|" "\311xR\\z\232\214RJ\205\\u\262\\\355B4\265z\273\356\275\226\031\321\230" "\353\350\301u\213\370hc\201#\r\350\370%\331\177\r\022M\000", 138); syscall(__NR_mq_open, /*name=*/0x2000000000c0ul, /*flags=O_CREAT*/ 0x40ul, /*mode=*/0ul, /*attr=*/0ul); // mq_open arguments: [ // name: ptr[in, buffer] { // buffer: {6e 73 bf 12 e1 0b c8 45 e0 80 72 91 37 6b 6a 9c 4c ce 5a 99 // f8 51 25 23 2d d3 d2 13 e8 dc e1 fd de ef f2 a7 d2 ab 97 c2 65 27 fc // 10 85 03 00 00 00 32 b8 30 10 5f 5c 4b 41 97 b7 2e 5b 4f d5 36 ec 5e // 46 df 54 da 98 31 37 22 f5 68 c0 f8 07 9e ce a9 26 ff 71 eb 41 98 96 // 7e 17 7c c9 78 52 5c 7a 9a 8c 52 4a 85 5c 75 b2 5c ed 42 34 b5 7a bb // ee bd 96 19 d1 98 eb e8 c1 75 8b f8 68 63 81 23 0d e8 f8 25 d9 7f 0d // 12 4d 00} (length 0x8a) // } // flags: mq_open_flags = 0x40 (8 bytes) // mode: open_mode = 0x0 (8 bytes) // attr: nil // ] // returns fd_mq memcpy( (void*)0x2000000000c0, "ns\277\022\341\v\310E\340\200r\2217kj\234L\316Z\231\370Q%#-" "\323\322\023\350\334\341\375\336\357\362\247\322\253\227\302e\'\374\020" "\205\003\000\000\0002\2700\020_\\KA\227\267.[O\3256\354^" "F\337T\332\23017\"\365h\300\370\a\236\316\251&\377q\353A\230\226~\027|" "\311xR\\z\232\214RJ\205\\u\262\\\355B4\265z\273\356\275\226\031\321\230" "\353\350\301u\213\370hc\201#\r\350\370%\331\177\r\022M\000", 138); syscall(__NR_mq_open, /*name=*/0x2000000000c0ul, /*flags=O_CREAT*/ 0x40ul, /*mode=*/0ul, /*attr=*/0ul); return 0; }