ok github.com/google/syzkaller/dashboard/app (cached) ? github.com/google/syzkaller/dashboard/dashapi [no test files] ? github.com/google/syzkaller/executor [no test files] ok github.com/google/syzkaller/pkg/ast (cached) ok github.com/google/syzkaller/pkg/bisect 51.955s ok github.com/google/syzkaller/pkg/build 6.737s ? github.com/google/syzkaller/pkg/cmdprof [no test files] ok github.com/google/syzkaller/pkg/compiler (cached) ok github.com/google/syzkaller/pkg/config (cached) ? github.com/google/syzkaller/pkg/cover [no test files] --- FAIL: TestGenerate (4.89s) --- FAIL: TestGenerate/netbsd/amd64 (0.08s) csource_test.go:67: seed=1590045234116782850 --- FAIL: TestGenerate/netbsd/amd64/13 (1.45s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:true} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { fprintf(stderr, "### start\n"); int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); fprintf(stderr, "### call=0 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; res = syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); fprintf(stderr, "### call=1 errno=%u\n", res == -1 ? errno : 0); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); fprintf(stderr, "### call=2 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[1] = res; break; case 3: res = syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); fprintf(stderr, "### call=3 errno=%u\n", res == -1 ? errno : 0); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); fprintf(stderr, "### call=4 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; res = syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); fprintf(stderr, "### call=5 errno=%u\n", res == -1 ? errno : 0); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); res = syscall(SYS_rmdir, 0x20000140ul); fprintf(stderr, "### call=6 errno=%u\n", res == -1 ? errno : 0); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); fprintf(stderr, "### call=7 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); fprintf(stderr, "### call=8 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; res = syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); fprintf(stderr, "### call=9 errno=%u\n", res == -1 ? errno : 0); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); (void)res; break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); res = syz_execute_func(0x20000080); fprintf(stderr, "### call=11 errno=%u\n", res == -1 ? errno : 0); break; case 12: (void)res; break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); res = syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); fprintf(stderr, "### call=13 errno=%u\n", res == -1 ? errno : 0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); fprintf(stderr, "### call=14 errno=%u\n", res == -1 ? errno : 0); if (res != -1) r[5] = res; break; case 15: res = syz_usb_disconnect(r[5]); fprintf(stderr, "### call=15 errno=%u\n", res == -1 ? errno : 0); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :426:9: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :438:9: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :25:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor023685833 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/1 (1.51s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :412:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :422:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :25:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor537672800 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/5 (1.72s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:1 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :412:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :422:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :25:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor544302484 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/0 (2.19s) csource_test.go:123: opts: {Threaded:false Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_one(void) { intptr_t res = 0; memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; syz_usb_disconnect(r[5]); } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_one': :244:2: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :250:2: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :23:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor022248277 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/9 (2.20s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:true NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int tunfd = -1; #define MAX_TUN 64 #define TUN_IFACE "tap%d" #define TUN_DEVICE "/dev/tap%d" #define LOCAL_MAC "aa:aa:aa:aa:aa:aa" #define REMOTE_MAC "aa:aa:aa:aa:aa:bb" #define LOCAL_IPV4 "172.20.%d.170" #define REMOTE_IPV4 "172.20.%d.187" #define LOCAL_IPV6 "fe80::%02hxaa" #define REMOTE_IPV6 "fe80::%02hxbb" static void vsnprintf_check(char* str, size_t size, const char* format, va_list args) { int rv; rv = vsnprintf(str, size, format, args); if (rv < 0) exit(1); if ((size_t)rv >= size) exit(1); } static void snprintf_check(char* str, size_t size, const char* format, ...) { va_list args; va_start(args, format); vsnprintf_check(str, size, format, args); va_end(args); } #define COMMAND_MAX_LEN 128 #define PATH_PREFIX "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin " #define PATH_PREFIX_LEN (sizeof(PATH_PREFIX) - 1) static void execute_command(bool panic, const char* format, ...) { va_list args; char command[PATH_PREFIX_LEN + COMMAND_MAX_LEN]; int rv; va_start(args, format); memcpy(command, PATH_PREFIX, PATH_PREFIX_LEN); vsnprintf_check(command + PATH_PREFIX_LEN, COMMAND_MAX_LEN, format, args); va_end(args); rv = system(command); if (rv) { if (panic) exit(1); } } static void initialize_tun(int tun_id) { if (tun_id < 0 || tun_id >= MAX_TUN) { exit(1); } char tun_device[sizeof(TUN_DEVICE)]; snprintf_check(tun_device, sizeof(tun_device), TUN_DEVICE, tun_id); char tun_iface[sizeof(TUN_IFACE)]; snprintf_check(tun_iface, sizeof(tun_iface), TUN_IFACE, tun_id); execute_command(0, "ifconfig %s destroy", tun_iface); execute_command(0, "ifconfig %s create", tun_iface); tunfd = open(tun_device, O_RDWR | O_NONBLOCK); if (tunfd == -1) { printf("tun: can't open %s: errno=%d\n", tun_device, errno); return; } const int kTunFd = 240; if (dup2(tunfd, kTunFd) < 0) exit(1); close(tunfd); tunfd = kTunFd; char local_mac[sizeof(LOCAL_MAC)]; snprintf_check(local_mac, sizeof(local_mac), LOCAL_MAC); execute_command(1, "ifconfig %s link %s", tun_iface, local_mac); char local_ipv4[sizeof(LOCAL_IPV4)]; snprintf_check(local_ipv4, sizeof(local_ipv4), LOCAL_IPV4, tun_id); execute_command(1, "ifconfig %s inet %s netmask 255.255.255.0", tun_iface, local_ipv4); char remote_mac[sizeof(REMOTE_MAC)]; char remote_ipv4[sizeof(REMOTE_IPV4)]; snprintf_check(remote_mac, sizeof(remote_mac), REMOTE_MAC); snprintf_check(remote_ipv4, sizeof(remote_ipv4), REMOTE_IPV4, tun_id); execute_command(0, "arp -s %s %s", remote_ipv4, remote_mac); char local_ipv6[sizeof(LOCAL_IPV6)]; snprintf_check(local_ipv6, sizeof(local_ipv6), LOCAL_IPV6, tun_id); execute_command(1, "ifconfig %s inet6 %s", tun_iface, local_ipv6); char remote_ipv6[sizeof(REMOTE_IPV6)]; snprintf_check(remote_ipv6, sizeof(remote_ipv6), REMOTE_IPV6, tun_id); execute_command(0, "ndp -s %s%%%s %s", remote_ipv6, tun_iface, remote_mac); } static long syz_emit_ethernet(volatile long a0, volatile long a1) { if (tunfd < 0) return (uintptr_t)-1; size_t length = a0; const char* data = (char*)a1; return write(tunfd, data, length); } static int read_tun(char* data, int size) { if (tunfd < 0) return -1; int rv = read(tunfd, data, size); if (rv < 0) { if (errno == EAGAIN) return -1; exit(1); } return rv; } struct tcp_resources { uint32_t seq; uint32_t ack; }; static long syz_extract_tcp_res(volatile long a0, volatile long a1, volatile long a2) { if (tunfd < 0) return (uintptr_t)-1; char data[1000]; int rv = read_tun(&data[0], sizeof(data)); if (rv == -1) return (uintptr_t)-1; size_t length = rv; struct tcphdr* tcphdr; if (length < sizeof(struct ether_header)) return (uintptr_t)-1; struct ether_header* ethhdr = (struct ether_header*)&data[0]; if (ethhdr->ether_type == htons(ETHERTYPE_IP)) { if (length < sizeof(struct ether_header) + sizeof(struct ip)) return (uintptr_t)-1; struct ip* iphdr = (struct ip*)&data[sizeof(struct ether_header)]; if (iphdr->ip_p != IPPROTO_TCP) return (uintptr_t)-1; if (length < sizeof(struct ether_header) + iphdr->ip_hl * 4 + sizeof(struct tcphdr)) return (uintptr_t)-1; tcphdr = (struct tcphdr*)&data[sizeof(struct ether_header) + iphdr->ip_hl * 4]; } else { if (length < sizeof(struct ether_header) + sizeof(struct ip6_hdr)) return (uintptr_t)-1; struct ip6_hdr* ipv6hdr = (struct ip6_hdr*)&data[sizeof(struct ether_header)]; if (ipv6hdr->ip6_nxt != IPPROTO_TCP) return (uintptr_t)-1; if (length < sizeof(struct ether_header) + sizeof(struct ip6_hdr) + sizeof(struct tcphdr)) return (uintptr_t)-1; tcphdr = (struct tcphdr*)&data[sizeof(struct ether_header) + sizeof(struct ip6_hdr)]; } struct tcp_resources* res = (struct tcp_resources*)a0; res->seq = htonl((ntohl(tcphdr->th_seq) + (uint32_t)a1)); res->ack = htonl((ntohl(tcphdr->th_ack) + (uint32_t)a2)); return 0; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); initialize_tun(procid); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); syz_emit_ethernet(0x7f, 0x20000000); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: syz_extract_tcp_res(0x200000c0, 6, 9); break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :584:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :594:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor273132154 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/7 (1.75s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox: Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); loop(); return 0; } : In function 'execute_call': :385:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :395:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :24:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor819576399 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/8 (2.01s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:0 Sandbox:setuid Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int wait_for_loop(int pid) { if (pid < 0) exit(1); int status = 0; while (waitpid(-1, &status, WUNTRACED) != pid) { } return WEXITSTATUS(status); } static int do_sandbox_setuid(void) { int pid = fork(); if (pid != 0) return wait_for_loop(pid); sandbox_common(); char pwbuf[1024]; struct passwd *pw, pwres; if (getpwnam_r("nobody", &pwres, pwbuf, sizeof(pwbuf), &pw) != 0 || !pw) exit(1); if (setgroups(0, NULL)) exit(1); if (setgid(pw->pw_gid)) exit(1); if (setuid(pw->pw_uid)) exit(1); loop(); exit(1); } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_setuid(); return 0; } : In function 'execute_call': :435:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :445:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :25:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor367219376 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/6 (1.37s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:0 Procs:4 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0;; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22 + procid*4; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); for (procid = 0; procid < 4; procid++) { if (fork() == 0) { use_temporary_dir(); do_sandbox_none(); } } sleep(1000000); return 0; } : In function 'execute_call': :412:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :422:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor877458777 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/3 (1.16s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:false RepeatTimes:0 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void loop(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :338:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :348:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :21:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor585079012 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/4 (1.25s) csource_test.go:123: opts: {Threaded:true Collide:false Repeat:true RepeatTimes:10 Procs:0 Sandbox:none Fault:false FaultCall:0 FaultNth:0 Leak:false NetInjection:false NetDevices:false NetReset:false Cgroups:false BinfmtMisc:false CloseFDs:false KCSAN:false DevlinkPCI:false USB:false UseTmpDir:true HandleSegv:false Repro:false Trace:false} program: r0 = open(&(0x7f0000000000)='./file0\x00', 0x1000000, 0x118) setsockopt$sock_int(r0, 0xffff, 0x1000, &(0x7f0000000040)=0x1d, 0x4) r1 = shmget$private(0x0, 0x4000, 0x80, &(0x7f0000ffc000/0x4000)=nil) shmat(r1, &(0x7f0000ffd000/0x3000)=nil, 0x0) r2 = open(&(0x7f0000000080)='./file0\x00', 0x400, 0x8) sendto$unix(r2, &(0x7f00000000c0)="84209b44632c71ad984a1aa9bde9763748dc283778751f7ebd8a9a47e76492db71e3d278bcaec84dd729d01a971d126c400c621985", 0x35, 0x3, &(0x7f0000000100)=@abs={0x1, 0x0, 0x2}, 0x8) rmdir(&(0x7f0000000140)='./file0\x00') stat(&(0x7f0000000180)='./file0\x00', &(0x7f00000001c0)={0x0, 0x0, 0x0, 0x0, 0x0}) stat(&(0x7f0000000280)='./file0\x00', &(0x7f00000002c0)={0x0, 0x0, 0x0, 0x0, 0x0, 0x0}) shmctl$IPC_SET(r1, 0x1, &(0x7f0000000400)={{0x2, r3, r4, 0x0, 0x0, 0x0, 0x800}, 0x5, 0x7, 0x0, 0x0, 0x0, 0x0, 0x4cc}) syz_emit_ethernet(0x7f, &(0x7f0000000000)="8f78eed3c7cab7e0325743ca304c95b83b0e23a2472309ca14e915be75d2335aaca98719bf88d01ed4fd73a1a8b340b8155bd9f86ee9e8a6bc5c35d635b9f9ed8a8a09e07ac83dc96b9781a338723e7468680f08c06fdd395017cb6914d8d438dd61d6329eb2f1565aafb7dda51fb15427a6a1e8c99ea68814cb8c3007e07b") syz_execute_func(&(0x7f0000000080)="41d37d000faff5400f8c27900000c482e1ad91773c00004132427cc461a057c4c4c1fc119100000000660f3841c3c443dd7be800f20f5d4844") syz_extract_tcp_res(&(0x7f00000000c0), 0x6, 0x9) syz_usb_connect(0x9, 0xb0, &(0x7f0000000100)="5a8dcdeefafe30daa022f4370ca2aa42a6a326c215acc7e1f7295debfd623b58d8cfdbbd43066321026776d278eb0ebd99fd61912f3eb63bb1736009415b35e171bf0073da59ff87dee2be1dad7af77c510a70e494272ec26cb05880fa9b7ac9bf7b6a2b671e6dc59ef103fe58640bbf7eb65e555b793ef8d5742492e6b8434608524c6bb0ddf6f15f7a01b124213b7e82c2e311beeec97cf6c4247a358be0f43d169c5efd9bf4c409ac07795fa011cd", &(0x7f00000001c0)="479b188215ae1d75d88ee9561876f88919da2606dcb075a7b40e019608a933fbea3c00e7edaad21e30b64a3493aa26756bcd12c4e0d8987cc7f5e9f16700a52c11ef78a427d49fe66933755c266551177736e4df6a86271e31972809cd2170d0e63fe6e760fd8c97fea99d7d2b5d9fadde63f74726b0fd6b332506f1d06ba94a35d269dbfe165c326d0bfa28ba31df18f8475be6584139b52e26a22548119e88b089fb89babb3c3ab51485f1760bcaf843ac5edf0ef5c3f422b046303205ce9f0c738a2838d98707c1742b98666b283e7814e3495dccd3e8c53a99f8fb5c632b45da9ac69caebbb0d8") r5 = syz_usb_connect(0x0, 0x1000, &(0x7f00000002c0)="e88e46c7b3a7c9545da526a51e6c782e152077718d37744aab7ac11be54e09d86f5ed5537dad9baa401d9971e278cc8ef17b02d7bcee7c20c832a5754c321d27dd9767284b35f2a3d1e06cb1b3dee5ebc8b6b3b9ac515444062d9786aa8eef79c083f7574a2c6d9626e3e3561980b9e32d68bc6319d884649f3a9239b01a247a72cb285c365b43c2481c90e09366941247dce2a722eb46395a1c76b766ba4e4ffcb825a4b10ad734b49876d19ea7abc1f7a780792b175280d6de8d82aeb9d529ddaf744757bfc8981a328c0df07340d63752aff184eb9f0901e08be213d7ac2b9f50597fad83e93263cdba6db7cb1ffad02cdd2920707a6abb5cd7059ed921a57e6cd95e53dd5a6d327af260ebba499843400e40632d7189d0c7d18dc38c32161f181fd0d698f7f3010ad01d952346df4d94f0bb0bc0f4a4fc8c884a4ed86a2b09f32d26f9f76dffe2ac44636315af14ec01119cb32b292fb96e3e694ca7a3ee98d02f125abd1f6d2fef74339f2da39e97365c8540a145e38eaffcbe7c1f5c6a58d41dcb64afe12e989a24ce3a9707cf4c90fcdea76aeeeee9be875ef357476daac3a3d790145247de862d66300be223eee32158190e313d85cc0facb57e1132e816d918a134e574f0a6c5cc68961ad2b574ae1de5d4ea2537c711f0043799f1d4a385d4f875bc0ab34c155e4cefd6c287d2bd657ad53d1b117cc502c99e236034865a03cb46b98c09440c60012893dce1b921ede4455466372bbd9ebfcac93e5b3762bf86945f76576fd44418ebc40b9e27da93fb6efe631c3f83e500de8012b335592b5404bc500828d262e4147519e7bacc13041420770cae6fd1ea8fa797a332c9c4447d8086d4e0135dd6c5d5b80f0f41bd4acf07cbe8f10b5981a80513fc6c89d933dc4b85012720df3749ae4ee65bacd9bae1cfa9603d0f700058bee566b4b84713990dbfce556f3b3cd8430f235d7d5029e5585874760dd8f41f84a2a7e63a6b8486a557206922282d6f623f9aa579f2f0269984ae82e075e78d108c9eddd1e47829973342c8a8a4579949e0cdb64aa8c03eae172729037c199a3ed27bac766f705209f2b3884d63a9745f1b08b4ff851b1ec78f6a96c6bb1ad651708c550179acacdd6e98c439ae11ffa100900a29e7ab269d6157e352e71bc416645cf7a68716e4a06230d7ad3bb01fd9513e905e7a9bcf6f77acdf2d713c05b9f386c0191ff15f8153f1fe0e5b8b3327ead7b1722df2b506504ea56dd7e908dbf5d12edf175642c309d5b80ea07dc78853a7ed28959a2880481289726fb7a174b8411381a6d127e0b255a5a17385b06dabe678516c723dc8c72e0dbfbce2dfc7dbdf536fd80d48528848e9a9ac0598be1cd9036c7b0cc96a33071d279f488adabb14b870dea1d154311ed3511b0cee5c5d1c9abc784e671880f1c9269bfc9e06f4a4718ddbbd13858d9d558f3488fcbe2db69c048f7da28f8fbec33503e2bba64731e1cca1ba0092b83630632f5134a907e53a73e64e97d21536aab43ee5abf175a416df215c683050ad6d429ed6f2879e36195d215d54ffb2dff5d976d9d4800dd899942ac1545c78bcb9402f99cfe29bada8adfd6546c5b87eaf9ccd26547183223971f9c1512c5ec022ea86c3ae14791cabc1db8655a6df49599d0f7ffed93b8800197d9a56788870e4ec56842cbb5c730d2786baf19fec60c5768b032d4710ddb03d96eaf2c49da8426a9681b897d6eb2111baa715143a7954432a540babbb8862dca057584f6b5b28fd5fe8f7d8c016c1912abf717bb56f2e435274cbd3c211d5e1cf125c27e6d66104637440ae295122c1b7c0166cfa03aa2d83530d9e6513f008891622f9b0f8e0ec627344fb41ecabd4bdc85484403b17a54abd61c148e5b61eec10e5cb14ddde4e0bd72f8cbe2cefbfa0600b7f587ab1e95c3914c4024aad89cd746746b33b2d5983eb38ef89c2d71faf4889e4c60f82755a06eb406ef1ae215aaa42b45e7db75daecdc855028e4c201c1f5eb283421309064ad9137071c333d8c027b8d6b6f6944d2e585018cce77bb44d09ce25679e55285c3e20421c8c2d19e53b4490eb6e2101bf2b181ec250dd2f4cf04312431619539f5cae6904cb3867fc6a1ee9f388f4c0f2dd5e52a9b1f877c8d7a161f5cd98b4015db01ad497676252a023d15a10a1c902e176ba3a6242540ddb2455f4961de7423b1b8d7dc1face00139eb5e3ad57331b122978687f6b1553805601ce208034ec4dff10f95d89768f1d85a3148c33b23919bedee2a12f6d532866bdde04794baadd23302fbaca7cb4e5991cad09e57258f7417b9f4f3c066f03f6047671303c3f9280216a8f79daafdb411bf772b2c68fb0f225a8649570f27d57eb0831f6435abe3efa196e6d7d8450af5ff085b1dff8d278498acee5902cbfda97cc8f6d6d21af6628b260113d09a9828adfa8ceeef83fdacdeaca8a925faaf4c340883c485630ae3a58334a9e80784f04342d9cdc02b4d6cb14c6a6bebca34a6843909774bfcc18e753c22e92cd40601246e2241ce1bcb92328fc1d2154f18c8496d09ba5f74af1546b77f92c47d178cc975e2c9ea0da1207ae8e7ba2e4144d180926d8ab3fc7cdb2da451fc36ea3ecb229cb7f682cc50e15d18b8849e70ad2f5d157dfa77e0ddbd0b3c47142c97a0f3d1ee367ee8b58077453f0718a9220e09cc7db8d397ff75c556ba7d9522969b4efe563d3a3803ad46dcc3f4c412e331c7d339cbd6f2851f8d7dbc750a555be9135c9573dcd72e67c6ae9d80ece8903a82911dae1ebf4bdd5c2f6139c59f8727315c4261359a511382900d20f5ac6ed70920d5403d4d938adcb7c0c2434d51408717a9d360910ac333d87795069fd33fb92173d34e7b61525488e489e66e67479015fd7dec6cc10e4e5cece767b9c9b66c8b19c0b805b02fed5af5615025d988278f3b8d25ad00f69b3a548a6451d8be3bce2b1b2cbfb4f4317d2e7f5780d03fe41a1fde7ca899e197663d3bce79b0f04e180c18080c6dcdfe2ad39eedae90bdb2d057321e288f4c81633f6187e1deed003d33ccbaa2aa6e684364dbf729d31d5c34a1e0fa94ba86fc5d4d7bd2cd3806a82106598c0f1804bceca56b5dc5eb4d63009664ff789e62fdb790b34a4cdbc7b703943a2e7aa9617ac25b354c2b322205533f64c39e236387412331a0b5cee77ea86f56252eb2633a3b879acbf3607096704c01a9284cc5d562f117c17b12cff11a371e091c84ea64cabf4f7d5b9ac92eb17c91d2cb92e5faf1773d9ca26c00c4691cc44007633389745e00b80241f2645707f8b03bf35cfe99f39e975ad525cc2002f00298b7f4ac2e7efe727bd6d8f17e97f8eb47fd11a58dd79a6b21b576b41d13972a796a2856c3892668a28fb224bc4a4de613d7fff07decb5b43cc768f72fea118182c7949338e2c22605096ba6861ffda6b853cae9512b1efa386eb4adeea22ca4e70185a4a0bf49b2bcfbf32944e8fcec485ff961c59529f9de630a9a888e90dcd0465b7e39feb4dfd1edcf99a53a0312d40b10b6b9c963ee7e394bfe831c130cb313f8ba41ceb86447411de5c4d5a99e38dc093ffe205badaf352843c04c23043e37ca4391d80b6d2d54361c968e03e537744b98f24b9c380d862d6a4c5f9b411e98ef156c3b3ccd13d99d5d06da426ea12ae5c3969553bd26e95b1339a7353653b6d004cf5c46ebe8ab6c3d760373910d5bfbcd13b3759e45ab8ffa7541e6645caa51aa8a07be08c279558ca18b0ff3fb77b87543baf0d02258fc3d3e7cf253a633c55af5df4ceb8dc4fee832bd0fce827952def7c357140eb33529d1913cbd6bac854817c082afca6842cebdcd2ed53ec8a8fbe1dc7db363bd4a1b355ce1094a065e14356482d89a8c25eaf1ba9cb95c2cd7bead9b8696beceedfccd71e4a5bd4263641b85b08db18b8580906406a7b74a0045f7bd91859c4df94eec2e51a8a64d88e5d5698e1188fca838ea253b9b92a13581d455225848f51b39b0c0bc8e9ea8ff0de43797c77a3f9b8099b123397472202038addbe29bfb4835cc6d0f61210455215b2151572d977fcb6f3b506d73199c4305d72dc1feb8ac7674841c8015f7c0b67c6330c1391eda41771724a1f732a54311c7946074c33dce9975db07572f012cd35472f32224bd4335272d2e56f3325f4e9466a7b0a3812eeb22bfa8867725714df645c2ead7b4a3c1ca8c84ba7d42131fb23bb465411c6fe244e7983f571f6c750835104315d20665734304e14a06dc00eb18bfaff38355c5033c2f70f0c000916fc18ba01a75641ccb18acf9882bc49f3a8fe8fc66297422cd18edb94ceeb0f531705e819f773e27e91a9a089faf4e8b0f635c84938720b78b020bd1ee1f6f708924f436188ec073b3e38099af5fa8d7581605f0b63e1e9cbcbdd64d6d2c61fef1022333b9e11d1b65fb483d2a345351a6df008c55eb4007823f8ea54d5d2e1b11444b1634c53304886944046180c302189b4e57568916a10258334ae658018e4e94b84a02204498ebd47c224cf297b2271199ec7d47f6fa7a6d80e52707f1bb95805f432ce0f7226eb3cd0472343934b3848b6e7ac229f5a83ed93f0c27dc2addbafe2dbaddcdeae248d31ff7dc632765d867793f53107357c6e938a6950cab5dc6a674aeebb602c4c1cea8c3cfb7d3e883c04ed5344705597874598ec0438521ea5a514f34e731519257a65238d08d72f4d41bdbbaac9b18e254a056a3e4b30de7fde8ba7e88eb54346e38b9acbd0b072fd3c324155c325869a0d2fd137b3e87e5c7818636ce82935475205db3241f9076ae612cf8cd3b6d1e9185b60019bcdfc867fd248ed575331dd22fdacf31833d698d40316e8603b106f7fcf37f64fa99d0057df2d722c7c43bdcb56b1690af5a3130b38247eca1984d0580877e5db9137e3f315c38a7324ad7e09a816a1dd8d9577f07ef93557b4eeec9b4c538b09c6584bdaa48bc39411a4a361bd45f39a3cf4e2fc15b896733c5f9a0021124afb79a690a9c36828847a0862dec7af5d3a111f58749f5cdd6e8c26d5845ce450dae19bb6e97f388f61181de32f19ba1eff5c0d64f9b7daf172c28e9d1bec5cebdd8c29347f9fdd2202fde1dd39eb722b4dfcbcd87f16c00438c2783a55ef8ca3e2ccc92cffe389822175b0563290eb1a2b5be70d23dbafa699bab711dc21f0eb8658feef84de86b20a655f7272125048b29102c4cfb84554650774effb03f3a4fcaa831afa5cef1d239e74190a74cac46cd109fd0bbbc1163df85aa7939d1cd0581b17d64ea94af53529ce08a2fc4dac00488240a852cac403961c97d3df7bf852f1d247db3dd22a7ddd482e32b45883ac927b3dc04235f5d3ba95d851c63d5dd7838778831e190125308422bed04a8e6c6c9344587d43d7cf2a5217b44e47cb179216138a43afcf0359c8f61ca89f779c132a529e96a2d7e9e405b0d3f1977cccdb0bef40a693b99f9650bf9c98b28e623b13a0c874d0e5577f6c7567a33b3de0296624226dd2213085de62c792ea09e26a09cd1a5228f9d7b9fdf5ee1f94246c49018d21172923bbb2df3276ffaef9c3b6a640ac40884f63998aaa78dd519c799011e04f77a1d30aa94d577a95cfc4556fa8bf4d3bb2b343aa388149dbac7eadea2d82156f27a940723facad6fd05ec95f85fee91e351eac0713e66403fee879fcce0212f140211734733e947fd3932c298aa64af12532668e4dc8fe6aaba82d4993d31ceeb462721777602f032f48527a9792b1a89de31baa01dc2a36b5261f", &(0x7f00000012c0)="5a1b08b6fb7da95cbfcbef2459ac0a079284790683f14664436f33a93ef55e04f6295a36e98e87666d18e532b8c0be0704f83d06f5ff3051e0aee2ad0708cbbc64309d555f60e14a3c1700764fff82dbc37f4a40ad575a63beace3c5eb7e21f34d52e18912f59c2c0fa83e93807aadfb44fc089ce6494ffa1fd3ea8b86ecea25df8a628a4d44") syz_usb_disconnect(r5) csource_test.go:124: failed to build program: // autogenerated by syzkaller (https://github.com/google/syzkaller) #define _GNU_SOURCE #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include static unsigned long long procid; static void kill_and_wait(int pid, int* status) { kill(pid, SIGKILL); while (waitpid(-1, status, 0) != pid) { } } static void sleep_ms(uint64_t ms) { usleep(ms * 1000); } static uint64_t current_time_ms(void) { struct timespec ts; if (clock_gettime(CLOCK_MONOTONIC, &ts)) exit(1); return (uint64_t)ts.tv_sec * 1000 + (uint64_t)ts.tv_nsec / 1000000; } static void use_temporary_dir(void) { char tmpdir_template[] = "./syzkaller.XXXXXX"; char* tmpdir = mkdtemp(tmpdir_template); if (!tmpdir) exit(1); if (chmod(tmpdir, 0777)) exit(1); if (chdir(tmpdir)) exit(1); } static void remove_dir(const char* dir) { DIR* dp; struct dirent* ep; dp = opendir(dir); if (dp == NULL) exit(1); while ((ep = readdir(dp))) { if (strcmp(ep->d_name, ".") == 0 || strcmp(ep->d_name, "..") == 0) continue; char filename[FILENAME_MAX]; snprintf(filename, sizeof(filename), "%s/%s", dir, ep->d_name); struct stat st; if (lstat(filename, &st)) exit(1); if (S_ISDIR(st.st_mode)) { remove_dir(filename); continue; } if (unlink(filename)) exit(1); } closedir(dp); if (rmdir(dir)) exit(1); } static void thread_start(void* (*fn)(void*), void* arg) { pthread_t th; pthread_attr_t attr; pthread_attr_init(&attr); pthread_attr_setstacksize(&attr, 128 << 10); int i; for (i = 0; i < 100; i++) { if (pthread_create(&th, &attr, fn, arg) == 0) { pthread_attr_destroy(&attr); return; } if (errno == EAGAIN) { usleep(50); continue; } break; } exit(1); } typedef struct { pthread_mutex_t mu; pthread_cond_t cv; int state; } event_t; static void event_init(event_t* ev) { if (pthread_mutex_init(&ev->mu, 0)) exit(1); if (pthread_cond_init(&ev->cv, 0)) exit(1); ev->state = 0; } static void event_reset(event_t* ev) { ev->state = 0; } static void event_set(event_t* ev) { pthread_mutex_lock(&ev->mu); if (ev->state) exit(1); ev->state = 1; pthread_mutex_unlock(&ev->mu); pthread_cond_broadcast(&ev->cv); } static void event_wait(event_t* ev) { pthread_mutex_lock(&ev->mu); while (!ev->state) pthread_cond_wait(&ev->cv, &ev->mu); pthread_mutex_unlock(&ev->mu); } static int event_isset(event_t* ev) { pthread_mutex_lock(&ev->mu); int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static int event_timedwait(event_t* ev, uint64_t timeout) { uint64_t start = current_time_ms(); uint64_t now = start; pthread_mutex_lock(&ev->mu); for (;;) { if (ev->state) break; uint64_t remain = timeout - (now - start); struct timespec ts; ts.tv_sec = remain / 1000; ts.tv_nsec = (remain % 1000) * 1000 * 1000; pthread_cond_timedwait(&ev->cv, &ev->mu, &ts); now = current_time_ms(); if (now - start > timeout) break; } int res = ev->state; pthread_mutex_unlock(&ev->mu); return res; } static void sandbox_common() { if (setsid() == -1) exit(1); struct rlimit rlim; rlim.rlim_cur = rlim.rlim_max = 8 << 20; setrlimit(RLIMIT_MEMLOCK, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_FSIZE, &rlim); rlim.rlim_cur = rlim.rlim_max = 1 << 20; setrlimit(RLIMIT_STACK, &rlim); rlim.rlim_cur = rlim.rlim_max = 0; setrlimit(RLIMIT_CORE, &rlim); rlim.rlim_cur = rlim.rlim_max = 256; setrlimit(RLIMIT_NOFILE, &rlim); } static void loop(); static int do_sandbox_none(void) { sandbox_common(); loop(); return 0; } static long syz_execute_func(volatile long text) { volatile long p[8] = {0}; (void)p; asm volatile("" ::"r"(0l), "r"(1l), "r"(2l), "r"(3l), "r"(4l), "r"(5l), "r"(6l), "r"(7l), "r"(8l), "r"(9l), "r"(10l), "r"(11l), "r"(12l), "r"(13l)); ((void (*)(void))(text))(); return 0; } struct thread_t { int created, call; event_t ready, done; }; static struct thread_t threads[16]; static void execute_call(int call); static int running; static void* thr(void* arg) { struct thread_t* th = (struct thread_t*)arg; for (;;) { event_wait(&th->ready); event_reset(&th->ready); execute_call(th->call); __atomic_fetch_sub(&running, 1, __ATOMIC_RELAXED); event_set(&th->done); } return 0; } static void execute_one(void) { int i, call, thread; for (call = 0; call < 16; call++) { for (thread = 0; thread < (int)(sizeof(threads) / sizeof(threads[0])); thread++) { struct thread_t* th = &threads[thread]; if (!th->created) { th->created = 1; event_init(&th->ready); event_init(&th->done); event_set(&th->done); thread_start(thr, th); } if (!event_isset(&th->done)) continue; event_reset(&th->done); th->call = call; __atomic_fetch_add(&running, 1, __ATOMIC_RELAXED); event_set(&th->ready); event_timedwait(&th->done, 45 + (call == 13 ? 3000 : 0) + (call == 14 ? 3000 : 0) + (call == 15 ? 300 : 0)); break; } } for (i = 0; i < 100 && __atomic_load_n(&running, __ATOMIC_RELAXED); i++) sleep_ms(1); } static void execute_one(void); #define WAIT_FLAGS 0 static void loop(void) { int iter; for (iter = 0; iter < 10; iter++) { char cwdbuf[32]; sprintf(cwdbuf, "./%d", iter); if (mkdir(cwdbuf, 0777)) exit(1); int pid = fork(); if (pid < 0) exit(1); if (pid == 0) { if (chdir(cwdbuf)) exit(1); execute_one(); exit(0); } int status = 0; uint64_t start = current_time_ms(); for (;;) { if (waitpid(-1, &status, WNOHANG | WAIT_FLAGS) == pid) break; sleep_ms(1); if (current_time_ms() - start < 5 * 1000) continue; kill_and_wait(pid, &status); break; } remove_dir(cwdbuf); } } #ifndef SYS_mmap #define SYS_mmap 197 #endif #ifndef SYS_open #define SYS_open 5 #endif #ifndef SYS_rmdir #define SYS_rmdir 137 #endif #ifndef SYS_sendto #define SYS_sendto 133 #endif #ifndef SYS_setsockopt #define SYS_setsockopt 105 #endif #ifndef SYS_shmat #define SYS_shmat 228 #endif #ifndef SYS_shmctl #define SYS_shmctl 443 #endif #ifndef SYS_shmget #define SYS_shmget 231 #endif #ifndef SYS_stat #define SYS_stat 439 #endif uint64_t r[6] = {0xffffffffffffffff, 0x0, 0xffffffffffffffff, 0x0, 0x0, 0xffffffffffffffff}; void execute_call(int call) { intptr_t res = 0; switch (call) { case 0: memcpy((void*)0x20000000, "./file0\000", 8); res = syscall(SYS_open, 0x20000000ul, 0x1000000ul, 0x118ul); if (res != -1) r[0] = res; break; case 1: *(uint32_t*)0x20000040 = 0x1d; syscall(SYS_setsockopt, r[0], 0xffff, 0x1000, 0x20000040ul, 4ul); break; case 2: res = syscall(SYS_shmget, 0ul, 0x4000ul, 0x80ul, 0x20ffc000ul); if (res != -1) r[1] = res; break; case 3: syscall(SYS_shmat, r[1], 0x20ffd000ul, 0ul); break; case 4: memcpy((void*)0x20000080, "./file0\000", 8); res = syscall(SYS_open, 0x20000080ul, 0x400ul, 8ul); if (res != -1) r[2] = res; break; case 5: memcpy((void*)0x200000c0, "\x84\x20\x9b\x44\x63\x2c\x71\xad\x98\x4a\x1a\xa9\xbd\xe9\x76\x37\x48\xdc\x28\x37\x78\x75\x1f\x7e\xbd\x8a\x9a\x47\xe7\x64\x92\xdb\x71\xe3\xd2\x78\xbc\xae\xc8\x4d\xd7\x29\xd0\x1a\x97\x1d\x12\x6c\x40\x0c\x62\x19\x85", 53); *(uint16_t*)0x20000100 = 1; *(uint8_t*)0x20000102 = 0; *(uint32_t*)0x20000104 = 0x4e22; syscall(SYS_sendto, r[2], 0x200000c0ul, 0x35ul, 3ul, 0x20000100ul, 8ul); break; case 6: memcpy((void*)0x20000140, "./file0\000", 8); syscall(SYS_rmdir, 0x20000140ul); break; case 7: memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(SYS_stat, 0x20000180ul, 0x200001c0ul); if (res != -1) r[3] = *(uint32_t*)0x200001dc; break; case 8: memcpy((void*)0x20000280, "./file0\000", 8); res = syscall(SYS_stat, 0x20000280ul, 0x200002c0ul); if (res != -1) r[4] = *(uint32_t*)0x200002e0; break; case 9: *(uint32_t*)0x20000400 = 2; *(uint32_t*)0x20000404 = r[3]; *(uint32_t*)0x20000408 = r[4]; *(uint32_t*)0x2000040c = 0; *(uint32_t*)0x20000410 = 0; *(uint32_t*)0x20000414 = 0; *(uint16_t*)0x20000418 = 0x800; *(uint16_t*)0x2000041a = 0; *(uint64_t*)0x20000420 = 0; *(uint64_t*)0x20000428 = 0; *(uint32_t*)0x20000430 = 5; *(uint16_t*)0x20000434 = 7; *(uint32_t*)0x20000438 = 0; *(uint32_t*)0x2000043c = 0; *(uint64_t*)0x20000440 = 0; *(uint64_t*)0x20000448 = 0; *(uint64_t*)0x20000450 = 0x4cc; *(uint16_t*)0x20000458 = 0; *(uint64_t*)0x20000460 = 0; *(uint64_t*)0x20000468 = 0; syscall(SYS_shmctl, r[1], 1ul, 0x20000400ul); break; case 10: memcpy((void*)0x20000000, "\x8f\x78\xee\xd3\xc7\xca\xb7\xe0\x32\x57\x43\xca\x30\x4c\x95\xb8\x3b\x0e\x23\xa2\x47\x23\x09\xca\x14\xe9\x15\xbe\x75\xd2\x33\x5a\xac\xa9\x87\x19\xbf\x88\xd0\x1e\xd4\xfd\x73\xa1\xa8\xb3\x40\xb8\x15\x5b\xd9\xf8\x6e\xe9\xe8\xa6\xbc\x5c\x35\xd6\x35\xb9\xf9\xed\x8a\x8a\x09\xe0\x7a\xc8\x3d\xc9\x6b\x97\x81\xa3\x38\x72\x3e\x74\x68\x68\x0f\x08\xc0\x6f\xdd\x39\x50\x17\xcb\x69\x14\xd8\xd4\x38\xdd\x61\xd6\x32\x9e\xb2\xf1\x56\x5a\xaf\xb7\xdd\xa5\x1f\xb1\x54\x27\xa6\xa1\xe8\xc9\x9e\xa6\x88\x14\xcb\x8c\x30\x07\xe0\x7b", 127); break; case 11: memcpy((void*)0x20000080, "\x41\xd3\x7d\x00\x0f\xaf\xf5\x40\x0f\x8c\x27\x90\x00\x00\xc4\x82\xe1\xad\x91\x77\x3c\x00\x00\x41\x32\x42\x7c\xc4\x61\xa0\x57\xc4\xc4\xc1\xfc\x11\x91\x00\x00\x00\x00\x66\x0f\x38\x41\xc3\xc4\x43\xdd\x7b\xe8\x00\xf2\x0f\x5d\x48\x44", 57); syz_execute_func(0x20000080); break; case 12: break; case 13: memcpy((void*)0x20000100, "\x5a\x8d\xcd\xee\xfa\xfe\x30\xda\xa0\x22\xf4\x37\x0c\xa2\xaa\x42\xa6\xa3\x26\xc2\x15\xac\xc7\xe1\xf7\x29\x5d\xeb\xfd\x62\x3b\x58\xd8\xcf\xdb\xbd\x43\x06\x63\x21\x02\x67\x76\xd2\x78\xeb\x0e\xbd\x99\xfd\x61\x91\x2f\x3e\xb6\x3b\xb1\x73\x60\x09\x41\x5b\x35\xe1\x71\xbf\x00\x73\xda\x59\xff\x87\xde\xe2\xbe\x1d\xad\x7a\xf7\x7c\x51\x0a\x70\xe4\x94\x27\x2e\xc2\x6c\xb0\x58\x80\xfa\x9b\x7a\xc9\xbf\x7b\x6a\x2b\x67\x1e\x6d\xc5\x9e\xf1\x03\xfe\x58\x64\x0b\xbf\x7e\xb6\x5e\x55\x5b\x79\x3e\xf8\xd5\x74\x24\x92\xe6\xb8\x43\x46\x08\x52\x4c\x6b\xb0\xdd\xf6\xf1\x5f\x7a\x01\xb1\x24\x21\x3b\x7e\x82\xc2\xe3\x11\xbe\xee\xc9\x7c\xf6\xc4\x24\x7a\x35\x8b\xe0\xf4\x3d\x16\x9c\x5e\xfd\x9b\xf4\xc4\x09\xac\x07\x79\x5f\xa0\x11\xcd", 176); memcpy((void*)0x200001c0, "\x47\x9b\x18\x82\x15\xae\x1d\x75\xd8\x8e\xe9\x56\x18\x76\xf8\x89\x19\xda\x26\x06\xdc\xb0\x75\xa7\xb4\x0e\x01\x96\x08\xa9\x33\xfb\xea\x3c\x00\xe7\xed\xaa\xd2\x1e\x30\xb6\x4a\x34\x93\xaa\x26\x75\x6b\xcd\x12\xc4\xe0\xd8\x98\x7c\xc7\xf5\xe9\xf1\x67\x00\xa5\x2c\x11\xef\x78\xa4\x27\xd4\x9f\xe6\x69\x33\x75\x5c\x26\x65\x51\x17\x77\x36\xe4\xdf\x6a\x86\x27\x1e\x31\x97\x28\x09\xcd\x21\x70\xd0\xe6\x3f\xe6\xe7\x60\xfd\x8c\x97\xfe\xa9\x9d\x7d\x2b\x5d\x9f\xad\xde\x63\xf7\x47\x26\xb0\xfd\x6b\x33\x25\x06\xf1\xd0\x6b\xa9\x4a\x35\xd2\x69\xdb\xfe\x16\x5c\x32\x6d\x0b\xfa\x28\xba\x31\xdf\x18\xf8\x47\x5b\xe6\x58\x41\x39\xb5\x2e\x26\xa2\x25\x48\x11\x9e\x88\xb0\x89\xfb\x89\xba\xbb\x3c\x3a\xb5\x14\x85\xf1\x76\x0b\xca\xf8\x43\xac\x5e\xdf\x0e\xf5\xc3\xf4\x22\xb0\x46\x30\x32\x05\xce\x9f\x0c\x73\x8a\x28\x38\xd9\x87\x07\xc1\x74\x2b\x98\x66\x6b\x28\x3e\x78\x14\xe3\x49\x5d\xcc\xd3\xe8\xc5\x3a\x99\xf8\xfb\x5c\x63\x2b\x45\xda\x9a\xc6\x9c\xae\xbb\xb0\xd8", 233); syz_usb_connect(9, 0xb0, 0x20000100, 0x200001c0); break; case 14: memcpy((void*)0x200002c0, "\xe8\x8e\x46\xc7\xb3\xa7\xc9\x54\x5d\xa5\x26\xa5\x1e\x6c\x78\x2e\x15\x20\x77\x71\x8d\x37\x74\x4a\xab\x7a\xc1\x1b\xe5\x4e\x09\xd8\x6f\x5e\xd5\x53\x7d\xad\x9b\xaa\x40\x1d\x99\x71\xe2\x78\xcc\x8e\xf1\x7b\x02\xd7\xbc\xee\x7c\x20\xc8\x32\xa5\x75\x4c\x32\x1d\x27\xdd\x97\x67\x28\x4b\x35\xf2\xa3\xd1\xe0\x6c\xb1\xb3\xde\xe5\xeb\xc8\xb6\xb3\xb9\xac\x51\x54\x44\x06\x2d\x97\x86\xaa\x8e\xef\x79\xc0\x83\xf7\x57\x4a\x2c\x6d\x96\x26\xe3\xe3\x56\x19\x80\xb9\xe3\x2d\x68\xbc\x63\x19\xd8\x84\x64\x9f\x3a\x92\x39\xb0\x1a\x24\x7a\x72\xcb\x28\x5c\x36\x5b\x43\xc2\x48\x1c\x90\xe0\x93\x66\x94\x12\x47\xdc\xe2\xa7\x22\xeb\x46\x39\x5a\x1c\x76\xb7\x66\xba\x4e\x4f\xfc\xb8\x25\xa4\xb1\x0a\xd7\x34\xb4\x98\x76\xd1\x9e\xa7\xab\xc1\xf7\xa7\x80\x79\x2b\x17\x52\x80\xd6\xde\x8d\x82\xae\xb9\xd5\x29\xdd\xaf\x74\x47\x57\xbf\xc8\x98\x1a\x32\x8c\x0d\xf0\x73\x40\xd6\x37\x52\xaf\xf1\x84\xeb\x9f\x09\x01\xe0\x8b\xe2\x13\xd7\xac\x2b\x9f\x50\x59\x7f\xad\x83\xe9\x32\x63\xcd\xba\x6d\xb7\xcb\x1f\xfa\xd0\x2c\xdd\x29\x20\x70\x7a\x6a\xbb\x5c\xd7\x05\x9e\xd9\x21\xa5\x7e\x6c\xd9\x5e\x53\xdd\x5a\x6d\x32\x7a\xf2\x60\xeb\xba\x49\x98\x43\x40\x0e\x40\x63\x2d\x71\x89\xd0\xc7\xd1\x8d\xc3\x8c\x32\x16\x1f\x18\x1f\xd0\xd6\x98\xf7\xf3\x01\x0a\xd0\x1d\x95\x23\x46\xdf\x4d\x94\xf0\xbb\x0b\xc0\xf4\xa4\xfc\x8c\x88\x4a\x4e\xd8\x6a\x2b\x09\xf3\x2d\x26\xf9\xf7\x6d\xff\xe2\xac\x44\x63\x63\x15\xaf\x14\xec\x01\x11\x9c\xb3\x2b\x29\x2f\xb9\x6e\x3e\x69\x4c\xa7\xa3\xee\x98\xd0\x2f\x12\x5a\xbd\x1f\x6d\x2f\xef\x74\x33\x9f\x2d\xa3\x9e\x97\x36\x5c\x85\x40\xa1\x45\xe3\x8e\xaf\xfc\xbe\x7c\x1f\x5c\x6a\x58\xd4\x1d\xcb\x64\xaf\xe1\x2e\x98\x9a\x24\xce\x3a\x97\x07\xcf\x4c\x90\xfc\xde\xa7\x6a\xee\xee\xe9\xbe\x87\x5e\xf3\x57\x47\x6d\xaa\xc3\xa3\xd7\x90\x14\x52\x47\xde\x86\x2d\x66\x30\x0b\xe2\x23\xee\xe3\x21\x58\x19\x0e\x31\x3d\x85\xcc\x0f\xac\xb5\x7e\x11\x32\xe8\x16\xd9\x18\xa1\x34\xe5\x74\xf0\xa6\xc5\xcc\x68\x96\x1a\xd2\xb5\x74\xae\x1d\xe5\xd4\xea\x25\x37\xc7\x11\xf0\x04\x37\x99\xf1\xd4\xa3\x85\xd4\xf8\x75\xbc\x0a\xb3\x4c\x15\x5e\x4c\xef\xd6\xc2\x87\xd2\xbd\x65\x7a\xd5\x3d\x1b\x11\x7c\xc5\x02\xc9\x9e\x23\x60\x34\x86\x5a\x03\xcb\x46\xb9\x8c\x09\x44\x0c\x60\x01\x28\x93\xdc\xe1\xb9\x21\xed\xe4\x45\x54\x66\x37\x2b\xbd\x9e\xbf\xca\xc9\x3e\x5b\x37\x62\xbf\x86\x94\x5f\x76\x57\x6f\xd4\x44\x18\xeb\xc4\x0b\x9e\x27\xda\x93\xfb\x6e\xfe\x63\x1c\x3f\x83\xe5\x00\xde\x80\x12\xb3\x35\x59\x2b\x54\x04\xbc\x50\x08\x28\xd2\x62\xe4\x14\x75\x19\xe7\xba\xcc\x13\x04\x14\x20\x77\x0c\xae\x6f\xd1\xea\x8f\xa7\x97\xa3\x32\xc9\xc4\x44\x7d\x80\x86\xd4\xe0\x13\x5d\xd6\xc5\xd5\xb8\x0f\x0f\x41\xbd\x4a\xcf\x07\xcb\xe8\xf1\x0b\x59\x81\xa8\x05\x13\xfc\x6c\x89\xd9\x33\xdc\x4b\x85\x01\x27\x20\xdf\x37\x49\xae\x4e\xe6\x5b\xac\xd9\xba\xe1\xcf\xa9\x60\x3d\x0f\x70\x00\x58\xbe\xe5\x66\xb4\xb8\x47\x13\x99\x0d\xbf\xce\x55\x6f\x3b\x3c\xd8\x43\x0f\x23\x5d\x7d\x50\x29\xe5\x58\x58\x74\x76\x0d\xd8\xf4\x1f\x84\xa2\xa7\xe6\x3a\x6b\x84\x86\xa5\x57\x20\x69\x22\x28\x2d\x6f\x62\x3f\x9a\xa5\x79\xf2\xf0\x26\x99\x84\xae\x82\xe0\x75\xe7\x8d\x10\x8c\x9e\xdd\xd1\xe4\x78\x29\x97\x33\x42\xc8\xa8\xa4\x57\x99\x49\xe0\xcd\xb6\x4a\xa8\xc0\x3e\xae\x17\x27\x29\x03\x7c\x19\x9a\x3e\xd2\x7b\xac\x76\x6f\x70\x52\x09\xf2\xb3\x88\x4d\x63\xa9\x74\x5f\x1b\x08\xb4\xff\x85\x1b\x1e\xc7\x8f\x6a\x96\xc6\xbb\x1a\xd6\x51\x70\x8c\x55\x01\x79\xac\xac\xdd\x6e\x98\xc4\x39\xae\x11\xff\xa1\x00\x90\x0a\x29\xe7\xab\x26\x9d\x61\x57\xe3\x52\xe7\x1b\xc4\x16\x64\x5c\xf7\xa6\x87\x16\xe4\xa0\x62\x30\xd7\xad\x3b\xb0\x1f\xd9\x51\x3e\x90\x5e\x7a\x9b\xcf\x6f\x77\xac\xdf\x2d\x71\x3c\x05\xb9\xf3\x86\xc0\x19\x1f\xf1\x5f\x81\x53\xf1\xfe\x0e\x5b\x8b\x33\x27\xea\xd7\xb1\x72\x2d\xf2\xb5\x06\x50\x4e\xa5\x6d\xd7\xe9\x08\xdb\xf5\xd1\x2e\xdf\x17\x56\x42\xc3\x09\xd5\xb8\x0e\xa0\x7d\xc7\x88\x53\xa7\xed\x28\x95\x9a\x28\x80\x48\x12\x89\x72\x6f\xb7\xa1\x74\xb8\x41\x13\x81\xa6\xd1\x27\xe0\xb2\x55\xa5\xa1\x73\x85\xb0\x6d\xab\xe6\x78\x51\x6c\x72\x3d\xc8\xc7\x2e\x0d\xbf\xbc\xe2\xdf\xc7\xdb\xdf\x53\x6f\xd8\x0d\x48\x52\x88\x48\xe9\xa9\xac\x05\x98\xbe\x1c\xd9\x03\x6c\x7b\x0c\xc9\x6a\x33\x07\x1d\x27\x9f\x48\x8a\xda\xbb\x14\xb8\x70\xde\xa1\xd1\x54\x31\x1e\xd3\x51\x1b\x0c\xee\x5c\x5d\x1c\x9a\xbc\x78\x4e\x67\x18\x80\xf1\xc9\x26\x9b\xfc\x9e\x06\xf4\xa4\x71\x8d\xdb\xbd\x13\x85\x8d\x9d\x55\x8f\x34\x88\xfc\xbe\x2d\xb6\x9c\x04\x8f\x7d\xa2\x8f\x8f\xbe\xc3\x35\x03\xe2\xbb\xa6\x47\x31\xe1\xcc\xa1\xba\x00\x92\xb8\x36\x30\x63\x2f\x51\x34\xa9\x07\xe5\x3a\x73\xe6\x4e\x97\xd2\x15\x36\xaa\xb4\x3e\xe5\xab\xf1\x75\xa4\x16\xdf\x21\x5c\x68\x30\x50\xad\x6d\x42\x9e\xd6\xf2\x87\x9e\x36\x19\x5d\x21\x5d\x54\xff\xb2\xdf\xf5\xd9\x76\xd9\xd4\x80\x0d\xd8\x99\x94\x2a\xc1\x54\x5c\x78\xbc\xb9\x40\x2f\x99\xcf\xe2\x9b\xad\xa8\xad\xfd\x65\x46\xc5\xb8\x7e\xaf\x9c\xcd\x26\x54\x71\x83\x22\x39\x71\xf9\xc1\x51\x2c\x5e\xc0\x22\xea\x86\xc3\xae\x14\x79\x1c\xab\xc1\xdb\x86\x55\xa6\xdf\x49\x59\x9d\x0f\x7f\xfe\xd9\x3b\x88\x00\x19\x7d\x9a\x56\x78\x88\x70\xe4\xec\x56\x84\x2c\xbb\x5c\x73\x0d\x27\x86\xba\xf1\x9f\xec\x60\xc5\x76\x8b\x03\x2d\x47\x10\xdd\xb0\x3d\x96\xea\xf2\xc4\x9d\xa8\x42\x6a\x96\x81\xb8\x97\xd6\xeb\x21\x11\xba\xa7\x15\x14\x3a\x79\x54\x43\x2a\x54\x0b\xab\xbb\x88\x62\xdc\xa0\x57\x58\x4f\x6b\x5b\x28\xfd\x5f\xe8\xf7\xd8\xc0\x16\xc1\x91\x2a\xbf\x71\x7b\xb5\x6f\x2e\x43\x52\x74\xcb\xd3\xc2\x11\xd5\xe1\xcf\x12\x5c\x27\xe6\xd6\x61\x04\x63\x74\x40\xae\x29\x51\x22\xc1\xb7\xc0\x16\x6c\xfa\x03\xaa\x2d\x83\x53\x0d\x9e\x65\x13\xf0\x08\x89\x16\x22\xf9\xb0\xf8\xe0\xec\x62\x73\x44\xfb\x41\xec\xab\xd4\xbd\xc8\x54\x84\x40\x3b\x17\xa5\x4a\xbd\x61\xc1\x48\xe5\xb6\x1e\xec\x10\xe5\xcb\x14\xdd\xde\x4e\x0b\xd7\x2f\x8c\xbe\x2c\xef\xbf\xa0\x60\x0b\x7f\x58\x7a\xb1\xe9\x5c\x39\x14\xc4\x02\x4a\xad\x89\xcd\x74\x67\x46\xb3\x3b\x2d\x59\x83\xeb\x38\xef\x89\xc2\xd7\x1f\xaf\x48\x89\xe4\xc6\x0f\x82\x75\x5a\x06\xeb\x40\x6e\xf1\xae\x21\x5a\xaa\x42\xb4\x5e\x7d\xb7\x5d\xae\xcd\xc8\x55\x02\x8e\x4c\x20\x1c\x1f\x5e\xb2\x83\x42\x13\x09\x06\x4a\xd9\x13\x70\x71\xc3\x33\xd8\xc0\x27\xb8\xd6\xb6\xf6\x94\x4d\x2e\x58\x50\x18\xcc\xe7\x7b\xb4\x4d\x09\xce\x25\x67\x9e\x55\x28\x5c\x3e\x20\x42\x1c\x8c\x2d\x19\xe5\x3b\x44\x90\xeb\x6e\x21\x01\xbf\x2b\x18\x1e\xc2\x50\xdd\x2f\x4c\xf0\x43\x12\x43\x16\x19\x53\x9f\x5c\xae\x69\x04\xcb\x38\x67\xfc\x6a\x1e\xe9\xf3\x88\xf4\xc0\xf2\xdd\x5e\x52\xa9\xb1\xf8\x77\xc8\xd7\xa1\x61\xf5\xcd\x98\xb4\x01\x5d\xb0\x1a\xd4\x97\x67\x62\x52\xa0\x23\xd1\x5a\x10\xa1\xc9\x02\xe1\x76\xba\x3a\x62\x42\x54\x0d\xdb\x24\x55\xf4\x96\x1d\xe7\x42\x3b\x1b\x8d\x7d\xc1\xfa\xce\x00\x13\x9e\xb5\xe3\xad\x57\x33\x1b\x12\x29\x78\x68\x7f\x6b\x15\x53\x80\x56\x01\xce\x20\x80\x34\xec\x4d\xff\x10\xf9\x5d\x89\x76\x8f\x1d\x85\xa3\x14\x8c\x33\xb2\x39\x19\xbe\xde\xe2\xa1\x2f\x6d\x53\x28\x66\xbd\xde\x04\x79\x4b\xaa\xdd\x23\x30\x2f\xba\xca\x7c\xb4\xe5\x99\x1c\xad\x09\xe5\x72\x58\xf7\x41\x7b\x9f\x4f\x3c\x06\x6f\x03\xf6\x04\x76\x71\x30\x3c\x3f\x92\x80\x21\x6a\x8f\x79\xda\xaf\xdb\x41\x1b\xf7\x72\xb2\xc6\x8f\xb0\xf2\x25\xa8\x64\x95\x70\xf2\x7d\x57\xeb\x08\x31\xf6\x43\x5a\xbe\x3e\xfa\x19\x6e\x6d\x7d\x84\x50\xaf\x5f\xf0\x85\xb1\xdf\xf8\xd2\x78\x49\x8a\xce\xe5\x90\x2c\xbf\xda\x97\xcc\x8f\x6d\x6d\x21\xaf\x66\x28\xb2\x60\x11\x3d\x09\xa9\x82\x8a\xdf\xa8\xce\xee\xf8\x3f\xda\xcd\xea\xca\x8a\x92\x5f\xaa\xf4\xc3\x40\x88\x3c\x48\x56\x30\xae\x3a\x58\x33\x4a\x9e\x80\x78\x4f\x04\x34\x2d\x9c\xdc\x02\xb4\xd6\xcb\x14\xc6\xa6\xbe\xbc\xa3\x4a\x68\x43\x90\x97\x74\xbf\xcc\x18\xe7\x53\xc2\x2e\x92\xcd\x40\x60\x12\x46\xe2\x24\x1c\xe1\xbc\xb9\x23\x28\xfc\x1d\x21\x54\xf1\x8c\x84\x96\xd0\x9b\xa5\xf7\x4a\xf1\x54\x6b\x77\xf9\x2c\x47\xd1\x78\xcc\x97\x5e\x2c\x9e\xa0\xda\x12\x07\xae\x8e\x7b\xa2\xe4\x14\x4d\x18\x09\x26\xd8\xab\x3f\xc7\xcd\xb2\xda\x45\x1f\xc3\x6e\xa3\xec\xb2\x29\xcb\x7f\x68\x2c\xc5\x0e\x15\xd1\x8b\x88\x49\xe7\x0a\xd2\xf5\xd1\x57\xdf\xa7\x7e\x0d\xdb\xd0\xb3\xc4\x71\x42\xc9\x7a\x0f\x3d\x1e\xe3\x67\xee\x8b\x58\x07\x74\x53\xf0\x71\x8a\x92\x20\xe0\x9c\xc7\xdb\x8d\x39\x7f\xf7\x5c\x55\x6b\xa7\xd9\x52\x29\x69\xb4\xef\xe5\x63\xd3\xa3\x80\x3a\xd4\x6d\xcc\x3f\x4c\x41\x2e\x33\x1c\x7d\x33\x9c\xbd\x6f\x28\x51\xf8\xd7\xdb\xc7\x50\xa5\x55\xbe\x91\x35\xc9\x57\x3d\xcd\x72\xe6\x7c\x6a\xe9\xd8\x0e\xce\x89\x03\xa8\x29\x11\xda\xe1\xeb\xf4\xbd\xd5\xc2\xf6\x13\x9c\x59\xf8\x72\x73\x15\xc4\x26\x13\x59\xa5\x11\x38\x29\x00\xd2\x0f\x5a\xc6\xed\x70\x92\x0d\x54\x03\xd4\xd9\x38\xad\xcb\x7c\x0c\x24\x34\xd5\x14\x08\x71\x7a\x9d\x36\x09\x10\xac\x33\x3d\x87\x79\x50\x69\xfd\x33\xfb\x92\x17\x3d\x34\xe7\xb6\x15\x25\x48\x8e\x48\x9e\x66\xe6\x74\x79\x01\x5f\xd7\xde\xc6\xcc\x10\xe4\xe5\xce\xce\x76\x7b\x9c\x9b\x66\xc8\xb1\x9c\x0b\x80\x5b\x02\xfe\xd5\xaf\x56\x15\x02\x5d\x98\x82\x78\xf3\xb8\xd2\x5a\xd0\x0f\x69\xb3\xa5\x48\xa6\x45\x1d\x8b\xe3\xbc\xe2\xb1\xb2\xcb\xfb\x4f\x43\x17\xd2\xe7\xf5\x78\x0d\x03\xfe\x41\xa1\xfd\xe7\xca\x89\x9e\x19\x76\x63\xd3\xbc\xe7\x9b\x0f\x04\xe1\x80\xc1\x80\x80\xc6\xdc\xdf\xe2\xad\x39\xee\xda\xe9\x0b\xdb\x2d\x05\x73\x21\xe2\x88\xf4\xc8\x16\x33\xf6\x18\x7e\x1d\xee\xd0\x03\xd3\x3c\xcb\xaa\x2a\xa6\xe6\x84\x36\x4d\xbf\x72\x9d\x31\xd5\xc3\x4a\x1e\x0f\xa9\x4b\xa8\x6f\xc5\xd4\xd7\xbd\x2c\xd3\x80\x6a\x82\x10\x65\x98\xc0\xf1\x80\x4b\xce\xca\x56\xb5\xdc\x5e\xb4\xd6\x30\x09\x66\x4f\xf7\x89\xe6\x2f\xdb\x79\x0b\x34\xa4\xcd\xbc\x7b\x70\x39\x43\xa2\xe7\xaa\x96\x17\xac\x25\xb3\x54\xc2\xb3\x22\x20\x55\x33\xf6\x4c\x39\xe2\x36\x38\x74\x12\x33\x1a\x0b\x5c\xee\x77\xea\x86\xf5\x62\x52\xeb\x26\x33\xa3\xb8\x79\xac\xbf\x36\x07\x09\x67\x04\xc0\x1a\x92\x84\xcc\x5d\x56\x2f\x11\x7c\x17\xb1\x2c\xff\x11\xa3\x71\xe0\x91\xc8\x4e\xa6\x4c\xab\xf4\xf7\xd5\xb9\xac\x92\xeb\x17\xc9\x1d\x2c\xb9\x2e\x5f\xaf\x17\x73\xd9\xca\x26\xc0\x0c\x46\x91\xcc\x44\x00\x76\x33\x38\x97\x45\xe0\x0b\x80\x24\x1f\x26\x45\x70\x7f\x8b\x03\xbf\x35\xcf\xe9\x9f\x39\xe9\x75\xad\x52\x5c\xc2\x00\x2f\x00\x29\x8b\x7f\x4a\xc2\xe7\xef\xe7\x27\xbd\x6d\x8f\x17\xe9\x7f\x8e\xb4\x7f\xd1\x1a\x58\xdd\x79\xa6\xb2\x1b\x57\x6b\x41\xd1\x39\x72\xa7\x96\xa2\x85\x6c\x38\x92\x66\x8a\x28\xfb\x22\x4b\xc4\xa4\xde\x61\x3d\x7f\xff\x07\xde\xcb\x5b\x43\xcc\x76\x8f\x72\xfe\xa1\x18\x18\x2c\x79\x49\x33\x8e\x2c\x22\x60\x50\x96\xba\x68\x61\xff\xda\x6b\x85\x3c\xae\x95\x12\xb1\xef\xa3\x86\xeb\x4a\xde\xea\x22\xca\x4e\x70\x18\x5a\x4a\x0b\xf4\x9b\x2b\xcf\xbf\x32\x94\x4e\x8f\xce\xc4\x85\xff\x96\x1c\x59\x52\x9f\x9d\xe6\x30\xa9\xa8\x88\xe9\x0d\xcd\x04\x65\xb7\xe3\x9f\xeb\x4d\xfd\x1e\xdc\xf9\x9a\x53\xa0\x31\x2d\x40\xb1\x0b\x6b\x9c\x96\x3e\xe7\xe3\x94\xbf\xe8\x31\xc1\x30\xcb\x31\x3f\x8b\xa4\x1c\xeb\x86\x44\x74\x11\xde\x5c\x4d\x5a\x99\xe3\x8d\xc0\x93\xff\xe2\x05\xba\xda\xf3\x52\x84\x3c\x04\xc2\x30\x43\xe3\x7c\xa4\x39\x1d\x80\xb6\xd2\xd5\x43\x61\xc9\x68\xe0\x3e\x53\x77\x44\xb9\x8f\x24\xb9\xc3\x80\xd8\x62\xd6\xa4\xc5\xf9\xb4\x11\xe9\x8e\xf1\x56\xc3\xb3\xcc\xd1\x3d\x99\xd5\xd0\x6d\xa4\x26\xea\x12\xae\x5c\x39\x69\x55\x3b\xd2\x6e\x95\xb1\x33\x9a\x73\x53\x65\x3b\x6d\x00\x4c\xf5\xc4\x6e\xbe\x8a\xb6\xc3\xd7\x60\x37\x39\x10\xd5\xbf\xbc\xd1\x3b\x37\x59\xe4\x5a\xb8\xff\xa7\x54\x1e\x66\x45\xca\xa5\x1a\xa8\xa0\x7b\xe0\x8c\x27\x95\x58\xca\x18\xb0\xff\x3f\xb7\x7b\x87\x54\x3b\xaf\x0d\x02\x25\x8f\xc3\xd3\xe7\xcf\x25\x3a\x63\x3c\x55\xaf\x5d\xf4\xce\xb8\xdc\x4f\xee\x83\x2b\xd0\xfc\xe8\x27\x95\x2d\xef\x7c\x35\x71\x40\xeb\x33\x52\x9d\x19\x13\xcb\xd6\xba\xc8\x54\x81\x7c\x08\x2a\xfc\xa6\x84\x2c\xeb\xdc\xd2\xed\x53\xec\x8a\x8f\xbe\x1d\xc7\xdb\x36\x3b\xd4\xa1\xb3\x55\xce\x10\x94\xa0\x65\xe1\x43\x56\x48\x2d\x89\xa8\xc2\x5e\xaf\x1b\xa9\xcb\x95\xc2\xcd\x7b\xea\xd9\xb8\x69\x6b\xec\xee\xdf\xcc\xd7\x1e\x4a\x5b\xd4\x26\x36\x41\xb8\x5b\x08\xdb\x18\xb8\x58\x09\x06\x40\x6a\x7b\x74\xa0\x04\x5f\x7b\xd9\x18\x59\xc4\xdf\x94\xee\xc2\xe5\x1a\x8a\x64\xd8\x8e\x5d\x56\x98\xe1\x18\x8f\xca\x83\x8e\xa2\x53\xb9\xb9\x2a\x13\x58\x1d\x45\x52\x25\x84\x8f\x51\xb3\x9b\x0c\x0b\xc8\xe9\xea\x8f\xf0\xde\x43\x79\x7c\x77\xa3\xf9\xb8\x09\x9b\x12\x33\x97\x47\x22\x02\x03\x8a\xdd\xbe\x29\xbf\xb4\x83\x5c\xc6\xd0\xf6\x12\x10\x45\x52\x15\xb2\x15\x15\x72\xd9\x77\xfc\xb6\xf3\xb5\x06\xd7\x31\x99\xc4\x30\x5d\x72\xdc\x1f\xeb\x8a\xc7\x67\x48\x41\xc8\x01\x5f\x7c\x0b\x67\xc6\x33\x0c\x13\x91\xed\xa4\x17\x71\x72\x4a\x1f\x73\x2a\x54\x31\x1c\x79\x46\x07\x4c\x33\xdc\xe9\x97\x5d\xb0\x75\x72\xf0\x12\xcd\x35\x47\x2f\x32\x22\x4b\xd4\x33\x52\x72\xd2\xe5\x6f\x33\x25\xf4\xe9\x46\x6a\x7b\x0a\x38\x12\xee\xb2\x2b\xfa\x88\x67\x72\x57\x14\xdf\x64\x5c\x2e\xad\x7b\x4a\x3c\x1c\xa8\xc8\x4b\xa7\xd4\x21\x31\xfb\x23\xbb\x46\x54\x11\xc6\xfe\x24\x4e\x79\x83\xf5\x71\xf6\xc7\x50\x83\x51\x04\x31\x5d\x20\x66\x57\x34\x30\x4e\x14\xa0\x6d\xc0\x0e\xb1\x8b\xfa\xff\x38\x35\x5c\x50\x33\xc2\xf7\x0f\x0c\x00\x09\x16\xfc\x18\xba\x01\xa7\x56\x41\xcc\xb1\x8a\xcf\x98\x82\xbc\x49\xf3\xa8\xfe\x8f\xc6\x62\x97\x42\x2c\xd1\x8e\xdb\x94\xce\xeb\x0f\x53\x17\x05\xe8\x19\xf7\x73\xe2\x7e\x91\xa9\xa0\x89\xfa\xf4\xe8\xb0\xf6\x35\xc8\x49\x38\x72\x0b\x78\xb0\x20\xbd\x1e\xe1\xf6\xf7\x08\x92\x4f\x43\x61\x88\xec\x07\x3b\x3e\x38\x09\x9a\xf5\xfa\x8d\x75\x81\x60\x5f\x0b\x63\xe1\xe9\xcb\xcb\xdd\x64\xd6\xd2\xc6\x1f\xef\x10\x22\x33\x3b\x9e\x11\xd1\xb6\x5f\xb4\x83\xd2\xa3\x45\x35\x1a\x6d\xf0\x08\xc5\x5e\xb4\x00\x78\x23\xf8\xea\x54\xd5\xd2\xe1\xb1\x14\x44\xb1\x63\x4c\x53\x30\x48\x86\x94\x40\x46\x18\x0c\x30\x21\x89\xb4\xe5\x75\x68\x91\x6a\x10\x25\x83\x34\xae\x65\x80\x18\xe4\xe9\x4b\x84\xa0\x22\x04\x49\x8e\xbd\x47\xc2\x24\xcf\x29\x7b\x22\x71\x19\x9e\xc7\xd4\x7f\x6f\xa7\xa6\xd8\x0e\x52\x70\x7f\x1b\xb9\x58\x05\xf4\x32\xce\x0f\x72\x26\xeb\x3c\xd0\x47\x23\x43\x93\x4b\x38\x48\xb6\xe7\xac\x22\x9f\x5a\x83\xed\x93\xf0\xc2\x7d\xc2\xad\xdb\xaf\xe2\xdb\xad\xdc\xde\xae\x24\x8d\x31\xff\x7d\xc6\x32\x76\x5d\x86\x77\x93\xf5\x31\x07\x35\x7c\x6e\x93\x8a\x69\x50\xca\xb5\xdc\x6a\x67\x4a\xee\xbb\x60\x2c\x4c\x1c\xea\x8c\x3c\xfb\x7d\x3e\x88\x3c\x04\xed\x53\x44\x70\x55\x97\x87\x45\x98\xec\x04\x38\x52\x1e\xa5\xa5\x14\xf3\x4e\x73\x15\x19\x25\x7a\x65\x23\x8d\x08\xd7\x2f\x4d\x41\xbd\xbb\xaa\xc9\xb1\x8e\x25\x4a\x05\x6a\x3e\x4b\x30\xde\x7f\xde\x8b\xa7\xe8\x8e\xb5\x43\x46\xe3\x8b\x9a\xcb\xd0\xb0\x72\xfd\x3c\x32\x41\x55\xc3\x25\x86\x9a\x0d\x2f\xd1\x37\xb3\xe8\x7e\x5c\x78\x18\x63\x6c\xe8\x29\x35\x47\x52\x05\xdb\x32\x41\xf9\x07\x6a\xe6\x12\xcf\x8c\xd3\xb6\xd1\xe9\x18\x5b\x60\x01\x9b\xcd\xfc\x86\x7f\xd2\x48\xed\x57\x53\x31\xdd\x22\xfd\xac\xf3\x18\x33\xd6\x98\xd4\x03\x16\xe8\x60\x3b\x10\x6f\x7f\xcf\x37\xf6\x4f\xa9\x9d\x00\x57\xdf\x2d\x72\x2c\x7c\x43\xbd\xcb\x56\xb1\x69\x0a\xf5\xa3\x13\x0b\x38\x24\x7e\xca\x19\x84\xd0\x58\x08\x77\xe5\xdb\x91\x37\xe3\xf3\x15\xc3\x8a\x73\x24\xad\x7e\x09\xa8\x16\xa1\xdd\x8d\x95\x77\xf0\x7e\xf9\x35\x57\xb4\xee\xec\x9b\x4c\x53\x8b\x09\xc6\x58\x4b\xda\xa4\x8b\xc3\x94\x11\xa4\xa3\x61\xbd\x45\xf3\x9a\x3c\xf4\xe2\xfc\x15\xb8\x96\x73\x3c\x5f\x9a\x00\x21\x12\x4a\xfb\x79\xa6\x90\xa9\xc3\x68\x28\x84\x7a\x08\x62\xde\xc7\xaf\x5d\x3a\x11\x1f\x58\x74\x9f\x5c\xdd\x6e\x8c\x26\xd5\x84\x5c\xe4\x50\xda\xe1\x9b\xb6\xe9\x7f\x38\x8f\x61\x18\x1d\xe3\x2f\x19\xba\x1e\xff\x5c\x0d\x64\xf9\xb7\xda\xf1\x72\xc2\x8e\x9d\x1b\xec\x5c\xeb\xdd\x8c\x29\x34\x7f\x9f\xdd\x22\x02\xfd\xe1\xdd\x39\xeb\x72\x2b\x4d\xfc\xbc\xd8\x7f\x16\xc0\x04\x38\xc2\x78\x3a\x55\xef\x8c\xa3\xe2\xcc\xc9\x2c\xff\xe3\x89\x82\x21\x75\xb0\x56\x32\x90\xeb\x1a\x2b\x5b\xe7\x0d\x23\xdb\xaf\xa6\x99\xba\xb7\x11\xdc\x21\xf0\xeb\x86\x58\xfe\xef\x84\xde\x86\xb2\x0a\x65\x5f\x72\x72\x12\x50\x48\xb2\x91\x02\xc4\xcf\xb8\x45\x54\x65\x07\x74\xef\xfb\x03\xf3\xa4\xfc\xaa\x83\x1a\xfa\x5c\xef\x1d\x23\x9e\x74\x19\x0a\x74\xca\xc4\x6c\xd1\x09\xfd\x0b\xbb\xc1\x16\x3d\xf8\x5a\xa7\x93\x9d\x1c\xd0\x58\x1b\x17\xd6\x4e\xa9\x4a\xf5\x35\x29\xce\x08\xa2\xfc\x4d\xac\x00\x48\x82\x40\xa8\x52\xca\xc4\x03\x96\x1c\x97\xd3\xdf\x7b\xf8\x52\xf1\xd2\x47\xdb\x3d\xd2\x2a\x7d\xdd\x48\x2e\x32\xb4\x58\x83\xac\x92\x7b\x3d\xc0\x42\x35\xf5\xd3\xba\x95\xd8\x51\xc6\x3d\x5d\xd7\x83\x87\x78\x83\x1e\x19\x01\x25\x30\x84\x22\xbe\xd0\x4a\x8e\x6c\x6c\x93\x44\x58\x7d\x43\xd7\xcf\x2a\x52\x17\xb4\x4e\x47\xcb\x17\x92\x16\x13\x8a\x43\xaf\xcf\x03\x59\xc8\xf6\x1c\xa8\x9f\x77\x9c\x13\x2a\x52\x9e\x96\xa2\xd7\xe9\xe4\x05\xb0\xd3\xf1\x97\x7c\xcc\xdb\x0b\xef\x40\xa6\x93\xb9\x9f\x96\x50\xbf\x9c\x98\xb2\x8e\x62\x3b\x13\xa0\xc8\x74\xd0\xe5\x57\x7f\x6c\x75\x67\xa3\x3b\x3d\xe0\x29\x66\x24\x22\x6d\xd2\x21\x30\x85\xde\x62\xc7\x92\xea\x09\xe2\x6a\x09\xcd\x1a\x52\x28\xf9\xd7\xb9\xfd\xf5\xee\x1f\x94\x24\x6c\x49\x01\x8d\x21\x17\x29\x23\xbb\xb2\xdf\x32\x76\xff\xae\xf9\xc3\xb6\xa6\x40\xac\x40\x88\x4f\x63\x99\x8a\xaa\x78\xdd\x51\x9c\x79\x90\x11\xe0\x4f\x77\xa1\xd3\x0a\xa9\x4d\x57\x7a\x95\xcf\xc4\x55\x6f\xa8\xbf\x4d\x3b\xb2\xb3\x43\xaa\x38\x81\x49\xdb\xac\x7e\xad\xea\x2d\x82\x15\x6f\x27\xa9\x40\x72\x3f\xac\xad\x6f\xd0\x5e\xc9\x5f\x85\xfe\xe9\x1e\x35\x1e\xac\x07\x13\xe6\x64\x03\xfe\xe8\x79\xfc\xce\x02\x12\xf1\x40\x21\x17\x34\x73\x3e\x94\x7f\xd3\x93\x2c\x29\x8a\xa6\x4a\xf1\x25\x32\x66\x8e\x4d\xc8\xfe\x6a\xab\xa8\x2d\x49\x93\xd3\x1c\xee\xb4\x62\x72\x17\x77\x60\x2f\x03\x2f\x48\x52\x7a\x97\x92\xb1\xa8\x9d\xe3\x1b\xaa\x01\xdc\x2a\x36\xb5\x26\x1f", 4096); memcpy((void*)0x200012c0, "\x5a\x1b\x08\xb6\xfb\x7d\xa9\x5c\xbf\xcb\xef\x24\x59\xac\x0a\x07\x92\x84\x79\x06\x83\xf1\x46\x64\x43\x6f\x33\xa9\x3e\xf5\x5e\x04\xf6\x29\x5a\x36\xe9\x8e\x87\x66\x6d\x18\xe5\x32\xb8\xc0\xbe\x07\x04\xf8\x3d\x06\xf5\xff\x30\x51\xe0\xae\xe2\xad\x07\x08\xcb\xbc\x64\x30\x9d\x55\x5f\x60\xe1\x4a\x3c\x17\x00\x76\x4f\xff\x82\xdb\xc3\x7f\x4a\x40\xad\x57\x5a\x63\xbe\xac\xe3\xc5\xeb\x7e\x21\xf3\x4d\x52\xe1\x89\x12\xf5\x9c\x2c\x0f\xa8\x3e\x93\x80\x7a\xad\xfb\x44\xfc\x08\x9c\xe6\x49\x4f\xfa\x1f\xd3\xea\x8b\x86\xec\xea\x25\xdf\x8a\x62\x8a\x4d\x44", 134); res = syz_usb_connect(0, 0x1000, 0x200002c0, 0x200012c0); if (res != -1) r[5] = res; break; case 15: syz_usb_disconnect(r[5]); break; } } int main(void) { syscall(SYS_mmap, 0x20000000ul, 0x1000000ul, 3ul, 0x1012ul, -1, 0ul, 0ul); use_temporary_dir(); do_sandbox_none(); return 0; } : In function 'execute_call': :412:3: error: implicit declaration of function 'syz_usb_connect'; did you mean 'SYS_connect'? [-Werror=implicit-function-declaration] :422:3: error: implicit declaration of function 'syz_usb_disconnect' [-Werror=implicit-function-declaration] At top level: :25:27: error: 'procid' defined but not used [-Werror=unused-variable] cc1: all warnings being treated as errors compiler invocation: /syzkaller/netbsd/src/../tools/bin/x86_64--netbsd-g++ [-o /tmp/syz-executor213189558 -DGOOS_netbsd=1 -DGOARCH_amd64=1 -DHOSTGOOS_linux=1 -x c - -m64 --sysroot /syzkaller/netbsd/src/../dest/ -O2 -pthread -Wall -Werror -Wparentheses -Wframe-larger-than=16384] --- FAIL: TestGenerate/netbsd/amd64/10 (1.09s) csource_test.go:121: --- FAIL: TestGenerate/netbsd/amd64/11 (1.61s) csource_test.go:121: --- FAIL: TestGenerate/netbsd/amd64/12 (1.41s) csource_test.go:121: --- FAIL: TestGenerate/netbsd/amd64/14 (1.19s) csource_test.go:121: --- FAIL: TestGenerate/netbsd/amd64/2 (1.18s) csource_test.go:121: FAIL FAIL github.com/google/syzkaller/pkg/csource 14.927s ok github.com/google/syzkaller/pkg/db (cached) ok github.com/google/syzkaller/pkg/email (cached) ? github.com/google/syzkaller/pkg/gce [no test files] ? github.com/google/syzkaller/pkg/gcs [no test files] ? github.com/google/syzkaller/pkg/hash [no test files] ok github.com/google/syzkaller/pkg/host (cached) ? github.com/google/syzkaller/pkg/html [no test files] ok github.com/google/syzkaller/pkg/ifuzz (cached) ? github.com/google/syzkaller/pkg/ifuzz/gen [no test files] ? github.com/google/syzkaller/pkg/ifuzz/generated [no test files] ok github.com/google/syzkaller/pkg/instance 5.294s ok github.com/google/syzkaller/pkg/ipc (cached) ? github.com/google/syzkaller/pkg/ipc/ipcconfig [no test files] ok github.com/google/syzkaller/pkg/kd (cached) ok github.com/google/syzkaller/pkg/log (cached) ok github.com/google/syzkaller/pkg/mgrconfig (cached) ok github.com/google/syzkaller/pkg/osutil (cached) ok github.com/google/syzkaller/pkg/report (cached) ok github.com/google/syzkaller/pkg/repro 2.746s ? github.com/google/syzkaller/pkg/rpctype [no test files] ok github.com/google/syzkaller/pkg/runtest 27.755s ok github.com/google/syzkaller/pkg/serializer (cached) ? github.com/google/syzkaller/pkg/signal [no test files] ok github.com/google/syzkaller/pkg/symbolizer (cached) ok github.com/google/syzkaller/pkg/vcs (cached) ok github.com/google/syzkaller/prog (cached) ok github.com/google/syzkaller/prog/test (cached) ? github.com/google/syzkaller/sys [no test files] ? github.com/google/syzkaller/sys/akaros [no test files] ? github.com/google/syzkaller/sys/akaros/gen [no test files] ? github.com/google/syzkaller/sys/freebsd [no test files] ? github.com/google/syzkaller/sys/freebsd/gen [no test files] ? github.com/google/syzkaller/sys/fuchsia [no test files] ? github.com/google/syzkaller/sys/fuchsia/fidlgen [no test files] ? github.com/google/syzkaller/sys/fuchsia/gen [no test files] ? github.com/google/syzkaller/sys/fuchsia/layout [no test files] ok github.com/google/syzkaller/sys/linux (cached) ? github.com/google/syzkaller/sys/linux/gen [no test files] ? github.com/google/syzkaller/sys/netbsd [no test files] ? github.com/google/syzkaller/sys/netbsd/gen [no test files] ok github.com/google/syzkaller/sys/openbsd (cached) ? github.com/google/syzkaller/sys/openbsd/gen [no test files] ? github.com/google/syzkaller/sys/syz-extract [no test files] ? github.com/google/syzkaller/sys/syz-sysgen [no test files] ? github.com/google/syzkaller/sys/targets [no test files] ? github.com/google/syzkaller/sys/test [no test files] ? github.com/google/syzkaller/sys/test/gen [no test files] ? github.com/google/syzkaller/sys/trusty [no test files] ? github.com/google/syzkaller/sys/trusty/gen [no test files] ? github.com/google/syzkaller/sys/windows [no test files] ? github.com/google/syzkaller/sys/windows/gen [no test files] ok github.com/google/syzkaller/syz-ci 2.238s ok github.com/google/syzkaller/syz-fuzzer (cached) ok github.com/google/syzkaller/syz-hub (cached) ok github.com/google/syzkaller/syz-hub/state (cached) ? github.com/google/syzkaller/syz-manager [no test files] ? github.com/google/syzkaller/tools/syz-benchcmp [no test files] ? github.com/google/syzkaller/tools/syz-bisect [no test files] ? github.com/google/syzkaller/tools/syz-check [no test files] ? github.com/google/syzkaller/tools/syz-cover [no test files] ? github.com/google/syzkaller/tools/syz-crush [no test files] ? github.com/google/syzkaller/tools/syz-db [no test files] ? github.com/google/syzkaller/tools/syz-execprog [no test files] ? github.com/google/syzkaller/tools/syz-expand [no test files] ? github.com/google/syzkaller/tools/syz-fmt [no test files] ? github.com/google/syzkaller/tools/syz-imagegen [no test files] ? github.com/google/syzkaller/tools/syz-make [no test files] ? github.com/google/syzkaller/tools/syz-mutate [no test files] ? github.com/google/syzkaller/tools/syz-prog2c [no test files] ? github.com/google/syzkaller/tools/syz-repro [no test files] ? github.com/google/syzkaller/tools/syz-reprolist [no test files] ? github.com/google/syzkaller/tools/syz-runtest [no test files] ? github.com/google/syzkaller/tools/syz-showprio [no test files] ? github.com/google/syzkaller/tools/syz-stress [no test files] ? github.com/google/syzkaller/tools/syz-symbolize [no test files] ? github.com/google/syzkaller/tools/syz-testbuild [no test files] ? github.com/google/syzkaller/tools/syz-trace2syz [no test files] ok github.com/google/syzkaller/tools/syz-trace2syz/parser (cached) ok github.com/google/syzkaller/tools/syz-trace2syz/proggen (cached) ? github.com/google/syzkaller/tools/syz-tty [no test files] ? github.com/google/syzkaller/tools/syz-upgrade [no test files] ? github.com/google/syzkaller/tools/syz-usbgen [no test files] ok github.com/google/syzkaller/vm 13.663s ? github.com/google/syzkaller/vm/adb [no test files] ? github.com/google/syzkaller/vm/bhyve [no test files] ? github.com/google/syzkaller/vm/gce [no test files] ? github.com/google/syzkaller/vm/gvisor [no test files] ok github.com/google/syzkaller/vm/isolated 0.120s ? github.com/google/syzkaller/vm/kvm [no test files] ? github.com/google/syzkaller/vm/odroid [no test files] ? github.com/google/syzkaller/vm/qemu [no test files] ok github.com/google/syzkaller/vm/vmimpl (cached) ? github.com/google/syzkaller/vm/vmm [no test files]