// https://syzkaller.appspot.com/bug?id=41a096cb3739b5592ef14e65c9607524e55d904d // 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 #ifndef __NR_lsetxattr #define __NR_lsetxattr 6 #endif #ifndef __NR_memfd_create #define __NR_memfd_create 279 #endif #ifndef __NR_mmap #define __NR_mmap 222 #endif #ifndef __NR_openat #define __NR_openat 56 #endif #ifndef __NR_unlinkat #define __NR_unlinkat 35 #endif static unsigned long long procid; //% This code is derived from puff.{c,h}, found in the zlib development. The //% original files come with the following copyright notice: //% Copyright (C) 2002-2013 Mark Adler, all rights reserved //% version 2.3, 21 Jan 2013 //% This software is provided 'as-is', without any express or implied //% warranty. In no event will the author be held liable for any damages //% arising from the use of this software. //% Permission is granted to anyone to use this software for any purpose, //% including commercial applications, and to alter it and redistribute it //% freely, subject to the following restrictions: //% 1. The origin of this software must not be misrepresented; you must not //% claim that you wrote the original software. If you use this software //% in a product, an acknowledgment in the product documentation would be //% appreciated but is not required. //% 2. Altered source versions must be plainly marked as such, and must not be //% misrepresented as being the original software. //% 3. This notice may not be removed or altered from any source distribution. //% Mark Adler madler@alumni.caltech.edu //% BEGIN CODE DERIVED FROM puff.{c,h} #define MAXBITS 15 #define MAXLCODES 286 #define MAXDCODES 30 #define MAXCODES (MAXLCODES + MAXDCODES) #define FIXLCODES 288 struct puff_state { unsigned char* out; unsigned long outlen; unsigned long outcnt; const unsigned char* in; unsigned long inlen; unsigned long incnt; int bitbuf; int bitcnt; jmp_buf env; }; static int puff_bits(struct puff_state* s, int need) { long val = s->bitbuf; while (s->bitcnt < need) { if (s->incnt == s->inlen) longjmp(s->env, 1); val |= (long)(s->in[s->incnt++]) << s->bitcnt; s->bitcnt += 8; } s->bitbuf = (int)(val >> need); s->bitcnt -= need; return (int)(val & ((1L << need) - 1)); } static int puff_stored(struct puff_state* s) { s->bitbuf = 0; s->bitcnt = 0; if (s->incnt + 4 > s->inlen) return 2; unsigned len = s->in[s->incnt++]; len |= s->in[s->incnt++] << 8; if (s->in[s->incnt++] != (~len & 0xff) || s->in[s->incnt++] != ((~len >> 8) & 0xff)) return -2; if (s->incnt + len > s->inlen) return 2; if (s->outcnt + len > s->outlen) return 1; for (; len--; s->outcnt++, s->incnt++) { if (s->in[s->incnt]) s->out[s->outcnt] = s->in[s->incnt]; } return 0; } struct puff_huffman { short* count; short* symbol; }; static int puff_decode(struct puff_state* s, const struct puff_huffman* h) { int first = 0; int index = 0; int bitbuf = s->bitbuf; int left = s->bitcnt; int code = first = index = 0; int len = 1; short* next = h->count + 1; while (1) { while (left--) { code |= bitbuf & 1; bitbuf >>= 1; int count = *next++; if (code - count < first) { s->bitbuf = bitbuf; s->bitcnt = (s->bitcnt - len) & 7; return h->symbol[index + (code - first)]; } index += count; first += count; first <<= 1; code <<= 1; len++; } left = (MAXBITS + 1) - len; if (left == 0) break; if (s->incnt == s->inlen) longjmp(s->env, 1); bitbuf = s->in[s->incnt++]; if (left > 8) left = 8; } return -10; } static int puff_construct(struct puff_huffman* h, const short* length, int n) { int len; for (len = 0; len <= MAXBITS; len++) h->count[len] = 0; int symbol; for (symbol = 0; symbol < n; symbol++) (h->count[length[symbol]])++; if (h->count[0] == n) return 0; int left = 1; for (len = 1; len <= MAXBITS; len++) { left <<= 1; left -= h->count[len]; if (left < 0) return left; } short offs[MAXBITS + 1]; offs[1] = 0; for (len = 1; len < MAXBITS; len++) offs[len + 1] = offs[len] + h->count[len]; for (symbol = 0; symbol < n; symbol++) if (length[symbol] != 0) h->symbol[offs[length[symbol]]++] = symbol; return left; } static int puff_codes(struct puff_state* s, const struct puff_huffman* lencode, const struct puff_huffman* distcode) { static const short lens[29] = {3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31, 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258}; static const short lext[29] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 0}; static const short dists[30] = { 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193, 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145, 8193, 12289, 16385, 24577}; static const short dext[30] = {0, 0, 0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 13, 13}; int symbol; do { symbol = puff_decode(s, lencode); if (symbol < 0) return symbol; if (symbol < 256) { if (s->outcnt == s->outlen) return 1; if (symbol) s->out[s->outcnt] = symbol; s->outcnt++; } else if (symbol > 256) { symbol -= 257; if (symbol >= 29) return -10; int len = lens[symbol] + puff_bits(s, lext[symbol]); symbol = puff_decode(s, distcode); if (symbol < 0) return symbol; unsigned dist = dists[symbol] + puff_bits(s, dext[symbol]); if (dist > s->outcnt) return -11; if (s->outcnt + len > s->outlen) return 1; while (len--) { if (dist <= s->outcnt && s->out[s->outcnt - dist]) s->out[s->outcnt] = s->out[s->outcnt - dist]; s->outcnt++; } } } while (symbol != 256); return 0; } static int puff_fixed(struct puff_state* s) { static int virgin = 1; static short lencnt[MAXBITS + 1], lensym[FIXLCODES]; static short distcnt[MAXBITS + 1], distsym[MAXDCODES]; static struct puff_huffman lencode, distcode; if (virgin) { lencode.count = lencnt; lencode.symbol = lensym; distcode.count = distcnt; distcode.symbol = distsym; short lengths[FIXLCODES]; int symbol; for (symbol = 0; symbol < 144; symbol++) lengths[symbol] = 8; for (; symbol < 256; symbol++) lengths[symbol] = 9; for (; symbol < 280; symbol++) lengths[symbol] = 7; for (; symbol < FIXLCODES; symbol++) lengths[symbol] = 8; puff_construct(&lencode, lengths, FIXLCODES); for (symbol = 0; symbol < MAXDCODES; symbol++) lengths[symbol] = 5; puff_construct(&distcode, lengths, MAXDCODES); virgin = 0; } return puff_codes(s, &lencode, &distcode); } static int puff_dynamic(struct puff_state* s) { static const short order[19] = {16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15}; int nlen = puff_bits(s, 5) + 257; int ndist = puff_bits(s, 5) + 1; int ncode = puff_bits(s, 4) + 4; if (nlen > MAXLCODES || ndist > MAXDCODES) return -3; short lengths[MAXCODES]; int index; for (index = 0; index < ncode; index++) lengths[order[index]] = puff_bits(s, 3); for (; index < 19; index++) lengths[order[index]] = 0; short lencnt[MAXBITS + 1], lensym[MAXLCODES]; struct puff_huffman lencode = {lencnt, lensym}; int err = puff_construct(&lencode, lengths, 19); if (err != 0) return -4; index = 0; while (index < nlen + ndist) { int symbol; int len; symbol = puff_decode(s, &lencode); if (symbol < 0) return symbol; if (symbol < 16) lengths[index++] = symbol; else { len = 0; if (symbol == 16) { if (index == 0) return -5; len = lengths[index - 1]; symbol = 3 + puff_bits(s, 2); } else if (symbol == 17) symbol = 3 + puff_bits(s, 3); else symbol = 11 + puff_bits(s, 7); if (index + symbol > nlen + ndist) return -6; while (symbol--) lengths[index++] = len; } } if (lengths[256] == 0) return -9; err = puff_construct(&lencode, lengths, nlen); if (err && (err < 0 || nlen != lencode.count[0] + lencode.count[1])) return -7; short distcnt[MAXBITS + 1], distsym[MAXDCODES]; struct puff_huffman distcode = {distcnt, distsym}; err = puff_construct(&distcode, lengths + nlen, ndist); if (err && (err < 0 || ndist != distcode.count[0] + distcode.count[1])) return -8; return puff_codes(s, &lencode, &distcode); } static int puff(unsigned char* dest, unsigned long* destlen, const unsigned char* source, unsigned long sourcelen) { struct puff_state s = { .out = dest, .outlen = *destlen, .outcnt = 0, .in = source, .inlen = sourcelen, .incnt = 0, .bitbuf = 0, .bitcnt = 0, }; int err; if (setjmp(s.env) != 0) err = 2; else { int last; do { last = puff_bits(&s, 1); int type = puff_bits(&s, 2); err = type == 0 ? puff_stored(&s) : (type == 1 ? puff_fixed(&s) : (type == 2 ? puff_dynamic(&s) : -1)); if (err != 0) break; } while (!last); } *destlen = s.outcnt; return err; } //% END CODE DERIVED FROM puff.{c,h} #define ZLIB_HEADER_WIDTH 2 static int puff_zlib_to_file(const unsigned char* source, unsigned long sourcelen, int dest_fd) { if (sourcelen < ZLIB_HEADER_WIDTH) return 0; source += ZLIB_HEADER_WIDTH; sourcelen -= ZLIB_HEADER_WIDTH; const unsigned long max_destlen = 132 << 20; void* ret = mmap(0, max_destlen, PROT_WRITE | PROT_READ, MAP_PRIVATE | MAP_ANON, -1, 0); if (ret == MAP_FAILED) return -1; unsigned char* dest = (unsigned char*)ret; unsigned long destlen = max_destlen; int err = puff(dest, &destlen, source, sourcelen); if (err) { munmap(dest, max_destlen); errno = -err; return -1; } if (write(dest_fd, dest, destlen) != (ssize_t)destlen) { munmap(dest, max_destlen); return -1; } return munmap(dest, destlen); } static int setup_loop_device(unsigned char* data, unsigned long size, const char* loopname, int* loopfd_p) { int err = 0, loopfd = -1; int memfd = syscall(__NR_memfd_create, "syzkaller", 0); if (memfd == -1) { err = errno; goto error; } if (puff_zlib_to_file(data, size, memfd)) { err = errno; goto error_close_memfd; } loopfd = open(loopname, O_RDWR); if (loopfd == -1) { err = errno; goto error_close_memfd; } if (ioctl(loopfd, LOOP_SET_FD, memfd)) { if (errno != EBUSY) { err = errno; goto error_close_loop; } ioctl(loopfd, LOOP_CLR_FD, 0); usleep(1000); if (ioctl(loopfd, LOOP_SET_FD, memfd)) { err = errno; goto error_close_loop; } } close(memfd); *loopfd_p = loopfd; return 0; error_close_loop: close(loopfd); error_close_memfd: close(memfd); error: errno = err; return -1; } static long syz_mount_image(volatile long fsarg, volatile long dir, volatile long flags, volatile long optsarg, volatile long change_dir, volatile unsigned long size, volatile long image) { unsigned char* data = (unsigned char*)image; int res = -1, err = 0, loopfd = -1, need_loop_device = !!size; char* mount_opts = (char*)optsarg; char* target = (char*)dir; char* fs = (char*)fsarg; char* source = NULL; char loopname[64]; if (need_loop_device) { memset(loopname, 0, sizeof(loopname)); snprintf(loopname, sizeof(loopname), "/dev/loop%llu", procid); if (setup_loop_device(data, size, loopname, &loopfd) == -1) return -1; source = loopname; } mkdir(target, 0777); char opts[256]; memset(opts, 0, sizeof(opts)); if (strlen(mount_opts) > (sizeof(opts) - 32)) { } strncpy(opts, mount_opts, sizeof(opts) - 32); if (strcmp(fs, "iso9660") == 0) { flags |= MS_RDONLY; } else if (strncmp(fs, "ext", 3) == 0) { if (strstr(opts, "errors=panic") || strstr(opts, "errors=remount-ro") == 0) strcat(opts, ",errors=continue"); } else if (strcmp(fs, "xfs") == 0) { strcat(opts, ",nouuid"); } res = mount(source, target, fs, flags, opts); if (res == -1) { err = errno; goto error_clear_loop; } res = open(target, O_RDONLY | O_DIRECTORY); if (res == -1) { err = errno; goto error_clear_loop; } if (change_dir) { res = chdir(target); if (res == -1) { err = errno; } } error_clear_loop: if (need_loop_device) { ioctl(loopfd, LOOP_CLR_FD, 0); close(loopfd); } errno = err; return res; } uint64_t r[1] = {0xffffffffffffffff}; int main(void) { syscall(__NR_mmap, 0x1ffff000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); syscall(__NR_mmap, 0x20000000ul, 0x1000000ul, 7ul, 0x32ul, -1, 0ul); syscall(__NR_mmap, 0x21000000ul, 0x1000ul, 0ul, 0x32ul, -1, 0ul); intptr_t res = 0; memcpy((void*)0x20000780, "ext4\000", 5); memcpy((void*)0x200007c0, "./file0\000", 8); memcpy( (void*)0x20000400, "\x62\x61\x72\x72\x69\x65\x72\x2c\x64\x69\x73\x63\x61\x72\x64\x2c\x64\x69" "\x6f\x72\x65\x61\x64\x5f\x6e\x6f\x6c\x6f\x63\x6b\x2c\x6f\x6c\x64\x61\x6c" "\x6c\x6f\x63\x2c\x00\xbc\xaa\xb1\x9e\xca\x28\x28\x0f\x89\xc3\xc5\x01\x00" "\xc3\xc0\xe1\xeb\xcd\xbe\x47\xb3\x2f\xbd\xd3\x31\xc3\xc4\xea\x5b\x65\x27" "\xeb\xf4\x0e\xf6\x81\xad\x2a\x8d\xfa\x33\xf4\x2b\x6a\xa2\x2c\xb8\x87\xbb" "\xaf\x57\xbe\xeb\xb3\x36\x8f\x50\xe7\x7c\x77\xcd\x55\x3b\x53\x08\x30\xe2" "\xcb\xa4\x19\x47\xc2\x8d\xd0\xad\x55\x7b\xee\x3b\x19\x4b\x95\x0e\x9b\xf4" "\x69\xb7\xff\x78\xe1\x05\xf2\x20\x95\x88\xf4\xd1\x0f\xe2\x3d\x9d\xff\xfc" "\x25\x51\x8d\xe7\xca\xc8\x1c\xb2\xf5\xb7\xd3\x62\xd1\xc6\x31\x91\xf8\x9d" "\x43\x21\x7f\x65\x04\xdb\xa3\x7e\x0b\x5d\xa5\x1c\x2d\xd4\x2a\xc5\x32\xd7" "\xbd\x66\x98\x3d\xb8\xc7\xd0\x49\x55\x8a\x71\x07\xd7\xa8\xa2\xd5\xb9\xc6" "\xb4\x1e\x5d\x41\x09\x45\xfa\xd8\xcb\xbd\x1a\x26\x80\x8e\x68\x44\x8c\x58" "\x11\x26\x42\xfc\xdc\x94\xfa\x82\x84\x65\x5b\x60\xc8\x1c\x55\xd0\x98\x05" "\xb8\x3e\xa3\x9b\xd5\x30\x90\x28\xd4\xd4\xf9\x40\x75\x5b\xde\x14\xea\x9e" "\x6b\x61\x43\x82\xe2\x4a\x9c\x63\x80\x99\xd2\x2f\x9d\x09\x38\xbd\x4a\x96" "\x1d\x52\x60\x5b\x52\xfa\x01\x99\xda\xe4\x99\xbe\x5c\x23\xe9\x46\x31\x26" "\xc8\xdc\x78\xa7\xd7\x70\xdb\x95\x60\xae\x28\x77\x3e\xe9\x95\x67\xcf\x5e" "\x63\x60\x58\x4a\x6a\x1d\x47\x88\x5d\xea\xa7\xe3\x6b\xca\x71\xc1\xa9\xe8" "\xcd\xfd\x02\x94\xa1\x37\xfa\x73\x05\xad\xd0\xf2\x22\x93\x09\x3b\x0e\xbb" "\xae\x4d\x09\x07\x80\xad\x30\x0f\x82\x1f\xae\xef\xb8\xb8\x58\x66\x3f\xc7" "\x29\x65\xae\xfc\x7f\xe9\xd6\x9b\xee\xa7\xe6\xfa\xdb\xe7\x93\x1a\x03\xb8" "\x79\xac\x18\x77\x1a\x82\x3f\xcc\xaa\xef\x3b\x74\x49\xd0\x5f\xce\x45\x20" "\xc3\x09\x0c\x66\xf3\x35\xf0\x9d\x68\xd7\x19\x9b\x16\x63\x5e\xd5\xb1\x86" "\xe9\x0a\x88\x2f\xe6\x56\xed\x7d\xd4\xb1\x4d\x5e\xde\x05\x51\x14\xae\x6e" "\xf7\xc0\x1a\x9c\x9a\x92\xa5\xbb\x81\xb0\xd8\xd9\x91\xb2\x45\x82\xde\xb9" "\xed\x6a\x8e\x86\x7b\xd8\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00", 467); memcpy( (void*)0x20001700, "\x78\x9c\xec\xdd\xcb\x6b\x5c\xd5\x1f\x00\xf0\xef\x9d\xe6\xd1\x5f\xda\x9f" "\x89\x20\xd8\xba\x0a\x28\x1a\x28\x9d\x98\x1a\x5b\x05\xc1\x8a\x0b\x11\x2c" "\x14\x74\x6d\x1b\x92\x69\xa8\x99\x64\x4a\x66\x52\x9a\x10\xd0\x22\x82\x1b" "\x41\x8b\x0b\x41\x37\x5d\xfb\xa8\x3b\xb7\x3e\xb6\xfa\x37\xb8\x11\x91\x96" "\x5a\xd3\x62\xc5\x85\x44\xee\x64\x26\x9d\x34\x33\xc9\x24\x4d\x66\x6a\xe7" "\xf3\x81\xdb\x9e\x33\xf7\xdc\x9c\xf3\x9d\x73\x1f\x67\xe6\x1e\xe6\x06\xd0" "\xb1\x06\xd3\x7f\x32\x11\x07\x23\xe2\xc3\x24\xa2\xbf\xf2\x7a\x12\x11\xdd" "\xe5\x54\x57\xc4\xf1\x95\x72\xb7\x97\x16\xc7\xd3\x25\x89\xe5\xe5\xd7\x6f" "\x24\xe5\x32\xb7\x96\x16\xc7\xa3\x66\x9b\xd4\xbe\x4a\xe6\x40\x44\x7c\xff" "\x5e\xc4\xa1\xcc\xfa\x7a\x8b\xf3\x0b\x53\x63\xf9\x7c\x6e\xb6\x92\x1f\x2e" "\x4d\x9f\x1b\x2e\xce\x2f\x1c\x3e\x3b\x3d\x36\x99\x9b\xcc\xcd\x1c\x1d\x19" "\x1d\x3d\x72\xec\xd9\x63\x47\x77\x2e\xd6\x3f\x7f\x5a\xd8\x7f\xed\xa3\x57" "\x9e\xfa\xea\xf8\xdf\xef\x3e\x7a\xe5\x83\x1f\x92\x38\x1e\xfb\x2b\xeb\x6a" "\xe3\xd8\x29\x83\x31\x58\x79\x4f\xba\xd3\xb7\x70\x8d\x97\x77\xba\xb2\x36" "\x4b\xda\xdd\x00\xb6\x25\x3d\x34\x7b\x56\x8e\xf2\x38\x18\xfd\xb1\xa7\x9c" "\x02\x00\x1e\x64\x6f\x47\xc4\x32\x00\xd0\x61\x12\xd7\x7f\x00\xe8\x30\xd5" "\xef\x01\x6e\x2d\x2d\x8e\x57\x97\xf6\x7e\x23\xd1\x5a\xd7\x5f\x8a\x88\xbd" "\x2b\xf1\x57\xef\x6f\xae\xac\xe9\xaa\xdc\xb3\xdb\x5b\xbe\x0f\xda\x77\x2b" "\x59\x73\x67\x24\x89\x88\x81\x1d\xa8\x7f\x30\x22\x3e\xfb\xe6\xcd\x2f\xd2" "\x25\x2a\xfd\x50\xe7\x76\x29\xc0\x8e\x7b\xe7\x62\x44\x9c\x1e\x18\x5c\x7f" "\xfe\x4f\xd6\xcd\x59\xd8\xaa\xa7\x9b\x28\x33\x78\x57\xbe\xd3\xae\x3f\xd0" "\x4e\xdf\xa6\xe3\x9f\xe7\xea\x8d\xff\x32\xab\xe3\x9f\x54\x6f\xac\x1d\xff" "\xf4\xd6\x39\x76\xb7\x63\x70\x65\xfa\xc9\xaa\xf5\xc7\x7f\xe6\xea\x0e\x54" "\xd3\x50\x3a\xfe\x7b\xa1\x66\x6e\xdb\xed\x9a\xf8\x2b\x06\xf6\x54\x72\xff" "\x2f\x8f\xf9\xba\x93\x33\x67\xf3\xb9\xf4\xdc\xf6\x50\x44\x0c\x45\x77\x6f" "\x9a\x1f\xd9\xa0\x8e\xa1\x9b\xff\xdc\x6c\xb4\xae\x76\xfc\xf7\xc7\xa5\xb7" "\x3e\x4f\xeb\x4f\xff\xbf\x53\x22\x73\xb5\xab\x77\xed\x36\x13\x63\xa5\xb1" "\x7b\x89\xb9\xd6\xf5\x8b\x11\x8f\x75\xd5\x8b\x3f\x59\xed\xff\xa4\xc1\xf8" "\xf7\x64\x93\x75\xbc\xfa\xfc\xfb\x9f\x36\x5a\x97\xc6\x9f\xc6\x5b\x5d\xd6" "\xc7\xbf\xbb\x96\x2f\x47\x3c\x59\xb7\xff\xef\xcc\x68\x4b\x36\x9c\x9f\x38" "\x5c\xde\x1d\x86\xab\x3b\x45\x1d\x5f\xff\xf2\x49\x5f\xa3\xfa\x6b\xfb\x3f" "\x5d\xd2\xfa\xab\x9f\x05\x5a\x21\xed\xff\xbe\x8d\xe3\x1f\x48\x6a\xe7\x6b" "\x16\xb7\x5e\xc7\x8f\x97\xfb\xbf\x6b\xb4\x6e\xf3\xf8\xeb\xef\xff\x3d\xc9" "\x1b\xe5\x74\xf5\xe4\x71\x61\xac\x54\x9a\x1d\x89\xe8\x49\x5e\x5b\xff\xfa" "\x91\x3b\xdb\x56\xf3\xd5\xf2\x69\xfc\x43\x8f\xd7\x3f\xfe\x37\xda\xff\xd3" "\xcf\x84\xa7\x9b\x8c\xbf\xeb\xda\xef\x5f\x6e\x3f\xfe\xdd\x95\xc6\x3f\xb1" "\xa5\xfe\xdf\x7a\xe2\xca\xed\xa9\x3d\x8d\xea\x6f\xae\xff\x47\xcb\xa9\xa1" "\xca\x2b\xcd\x9c\xff\x9a\x6d\xe0\xbd\xbc\x77\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xd0\xac\x4c\x44\xec\x8f" "\x24\x93\x5d\x4d\x67\x32\xd9\xec\xca\x33\xbc\x1f\x89\xbe\x4c\xbe\x50\x2c" "\x1d\x3a\x53\x98\x9b\x99\x88\xf2\xb3\xb2\x07\xa2\x3b\x53\xfd\xa9\xcb\xfe" "\x9a\xdf\x43\x1d\xa9\xfc\x1e\x7e\x35\x7f\xe4\xae\xfc\x33\x11\xf1\x70\x44" "\x7c\xdc\xfb\xbf\x72\x3e\x3b\x5e\xc8\x4f\xb4\x3b\x78\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\xa8\xd8\xd7\xe0\xf9\xff\xa9\xdf\x7a\xdb" "\xdd\x3a\x00\x60\xd7\xec\xdd\xb4\xc4\xcd\x5c\x4b\x1a\x02\x00\xb4\x4c\xcd" "\xf5\xff\xc5\x76\xb6\x03\x00\x68\x9d\x4d\x3f\xff\xf7\xb4\xa6\x1d\x00\x40" "\xeb\x6c\xfe\xfd\x3f\x00\xf0\xa0\x71\xfd\x07\x80\xce\xe3\xfa\x0f\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xc0\x2e\x3b\x79\xe2\x44" "\xba\x2c\xff\xb5\xb4\x38\x9e\xe6\x27\xce\xcf\xcf\x4d\x15\xce\x1f\x9e\xc8" "\x15\xa7\xb2\xd3\x73\xe3\xd9\xf1\xc2\xec\xb9\xec\x64\xa1\x30\x99\xcf\x65" "\x6f\xc4\xf4\x66\x7f\x2f\x5f\x28\x9c\x1b\x8d\x99\xb9\x0b\xc3\xa5\x5c\xb1" "\x34\x5c\x9c\x5f\x38\x35\x5d\x98\x9b\x29\x9d\x3a\x3b\x3d\x36\x99\x3b\x95" "\xeb\x6e\x49\x54\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\xb0" "\x35\xc5\xf9\x85\xa9\xb1\x7c\x3e\x37\xdb\x59\x89\xee\xb8\x2f\x9a\xd1\x64" "\xa2\xe7\xfe\x68\x46\x9d\xc4\x13\xcb\x2b\xb6\xb1\x79\x12\x11\x4d\x16\xfe" "\xf5\xf0\xcf\x07\x36\x2a\x73\xa9\x53\x77\xe3\xdd\x4c\xb4\xfb\xcc\x04\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00" "\x00\x00\x00\x00\x00\x00\x00\x00\xf0\xdf\xf0\x6f\x00\x00\x00\xff\xff\x55" "\x0a\x2b\xed", 1947); syz_mount_image(0x20000780, 0x200007c0, 0x10, 0x20000400, 1, 0x79b, 0x20001700); memcpy((void*)0x20000280, "./file0\000", 8); memcpy((void*)0x200002c0, "trusted.overlay.upper\000", 22); *(uint8_t*)0x20001ec0 = 0; *(uint8_t*)0x20001ec1 = 0xfb; *(uint8_t*)0x20001ec2 = 0x15; *(uint8_t*)0x20001ec3 = 2; *(uint8_t*)0x20001ec4 = 0xc0; memcpy((void*)0x20001ec5, "\xa4\xb1\x27\x4b\x7f\xaa\x1c\xf9\xd3\x47\xb2\x8d\x42\x81\xdd\x88", 16); memcpy( (void*)0x20001ed5, "\x18\x20\xc6\xd5\xb1\x47\x2a\xac\x92\x30\x25\x17\xd8\x86\xa6\xab\x58\x83" "\x2f\x1c\xc5\xb2\x37\xa4\xd3\xa5\x8b\x80\x68\xfd\xef\x7a\x42\xb3\xca\x24" "\xfc\xc5\xcf\xf0\x69\xd1\xfa\x0f\xb7\xc4\xf1\xd8\x01\xcf\x11\xee\xa6\xd9" "\xaf\x28\x16\xc5\x19\x9d\xe6\x21\x5a\x25\xee\xba\x40\x12\xd0\x3b\x0a\xa8" "\x4b\x94\xc2\x7a\x36\x92\x05\x55\xcc\x19\x6d\x25\xf7\x1e\xa3\x74\xbf\x86" "\xae\xed\x57\x07\x1c\x85\xc4\x99\x26\xaa\xd1\xce\xc0\xd6\xcd\x5f\xaa\xcf" "\x99\x8f\x14\x85\xd3\x65\x08\x1f\x17\xc0\x92\xab\xff\x23\xee\x73\x02\xe0" "\x5c\x13\x5b\x6a\xc8\x24\xc1\x52\x90\x13\xb1\x9f\xa1\xe9\x6f\x20\xda\xc4" "\xbd\xac\x1c\x28\x60\xc9\x64\x44\x76\x71\xe2\x4f\x2b\x67\x3d\x81\xdf\x42" "\xf3\xfc\xfb\x06\xfb\xb1\x54\xaa\xe3\x4c\xf4\xa7\xe9\x34\x0d\xe4\x6e\xf3" "\xaa\x96\xa3\xc9\x95\xc0\xf0\x92\x89\x93\x2a\x3c\xa2\xfe\xe4\xa8\x60\xe3" "\x15\xbf\xb4\x58\x89\x8c\x29\x4a\x3c\x39\x2b\xef\x61\x29\xae\xc8\x1b\x84" "\x79\x49\xe9\x4b\xdf\xed\x87\x73\x74\x87\x68\xad\xcc\x84\xa1\xac\xcc\xc4" "\x39\xa3\xd9\x59\x5b\x65\x25\xa1\xeb\x90\x7e\x73\xb9\x42\x6d\xb1\x06\x14" "\xc9\xca\x95\x78\x26\xfd\x9d\x25\xa0\xf9\x37\x2a\xfc\xd5\x57\x4c\x34\x54" "\x96\x1b\x5d\xd3\x1f\x28\x9b\xa2\x0e\x35\x4f\x67\xa2\xd7\xbc\x39\xd0\x5d" "\xfd\xf4\x85\x4a\x68\xf0\xdd\x97\x37\x88\x86\xa1\x7f\x95\xc3\xb8\x0e\xc2" "\x7b\x26\xd7\x7b\x60\x5c\xe7\x0f\x6b\x96\x20\x8d\x9b\x62\x39\xc4\x06\x6f" "\xbe\xba\x97\x71\xb6\x36\xf1\x68\x3d\x4c\xa8\x96\x73\x94\xac\xdd\x2b\xad" "\x20\xe7\x04\xbf\x1b\x2a\xd2\xc8\x96\x0e\xd8\x8e\xf5\xae\x31\x86\xd9\xf7" "\x9a\xe2\xce\x9a\x3e\x08\xb2\xd1\xc3\x6a\x8b\x98\x65\x3f\x2c\xc3\xb2\x4e" "\x0a\x92\x0e\x5f\x97\xdd\xd1\x95\xbf\x72\xe8\xc1\x0e\xf4\x69\x1b\x62\x2f" "\xa9\x74\xd0\x28\xf9\x74\x59\x61\xc1\x0c\xd1\xd8\xbf\x82\x85\xd0\x5b\x5c" "\x89\x36\x33\xa6\xbc\x61\x8a\x76\x7c\x20\x43\xf9\x3d\x5f\x9a\x52\xee\x6d" "\x89\x18\x13\x38\xda\x47\x5a\x2a\xd8\xa4\x94\x13\xb5\xc7\x7a\x81\x6b\xee" "\xd7\x8f\xf0\xc7\x00\x22\xfb\xfc\x4b\x6a\x2c\xe2\x45\x5b\x58\xc2\x05\x90" "\x2c\x8a\x5b\x73\xf2\xf1\xb8\x74\xea\x8c\x87\x01\x83\xa6\x87\x3c\x01\x9d" "\x3b\x5c\xbb\xca\x16\x9d\x3f\x7d\xf6\x59\x8c\x63\x3c\x0f\xff\x7e\x7c\x67" "\x6c\x80\x19\xbc\x06\x49\x2a\x59\x65\x16\xb6\x22\x44\xc5\x9c\x6e\x6f\x11" "\x87\x77\xce\xb9\x25\x25\x09\xc4\xa4\x63\x3d\x11\x2c\x8a\xcf\xcc\x71\xd1" "\x15\x2f\xed\x4a\x22\xa5\x18\x88\xf1\x53\x60\x82\x33\xca\x88\x5e\xba\x64" "\xe9\xd2\x3d\xd6\xa8\x9c\x19\x71\xe8\x91\xf7\x8e\xcb\x9e\xd2\x12\x55\x43" "\xb6\x4b\xab\x86\xcc\xe7\xbb\xc0\x2d\xfe\x87\x20\x07\xc4\x3f\xc2\xae\xb9" "\x6e\x23\x68\x91\x02\x4a\xff\xf9\xb7\xcf\xf0\xda\xf9\xc1\xb7\x39\x69\x5e" "\x25\x56\x5a\xb2\x17\x2a\xd6\xf3\xb0\x79\x74\xef\x91\x07\xab\xba\x60\x68" "\x2b\xac\x9c\x26\x63\x36\x97\x2e\x82\xf5\x85\x8e\x8e\x88\x5e\x35\x30\x96" "\x94\xad\x5d\xc1\x57\x00\x38\x99\xac\xe2\x83\x65\x4b\x97\xea\x24\xb9\x83" "\xb8\x48\x51\x04\x99\xbf\xe3\x3a\x87\x29\x9d\xcb\xb4\x1c\x6c\x81\xfd\xbc" "\x63\x60\xb2\x56\x50\xa1\xcb\xb4\x7f\x2d\xea\x3b\xa6\xf2\xe6\x94\x67\xb6" "\xd7\xb3\x07\xb0\xc3\xe4\x06\x9b\x1d\x27\x8a\x83\x73\x2d\xa3\xca\x4d\x4e" "\xe6\x74\x0d\xef\x4f\x83\x73\xff\x45\xe9\x6f\x4d\x4b\x89\xf5\xa0\xc6\x21" "\xe7\xc6\xe3\xbd\x9d\x0c\x13\x94\xdb\x28\x95\xc4\x50\x44\xae\xa0\xce\xe8" "\x05\x65\xe2\xb1\xce\x9d\x1a\x42\x04\x7d\xff\xd5\x9c\x80\x60\x38\x15\xfa" "\x2f\xd0\x12\x4f\xcc\x0d\x64\xef\x7d\x38\x3e\xd3\x0a\x61\xb8\xe7\x8e\x32" "\x2f\x60\xa3\x10\x0a\xf8\xf5\xc7\x23\xee\x6c\x05\x46\x52\xd0\xe0\xe2\x58" "\x59\x9b\x1c\x51\x69\x19\x3a\x83\xcf\xc6\x51\x0d\xd8\xda\xcc\x1d\x16\x68" "\x4b\x42\xd8\x5d\x59\xa5\x83\x75\x20\xbb\x1d\xb5\x56\x31\x32\xa4\xf8\x2d" "\x78\x7b\xe4\xa2\xdb\x29\xfa\x86\x2a\x28\x71\x34\x12\x50\xeb\x9d\x3c\x65" "\xc0\x4b\xdf\x0f\x1c\x9f\xbc\xff\x1f\x56\x45\xec\x24\x86\xf5\x56\x94\xd6" "\x62\x05\x00\x34\x8b\xa9\x1a\xba\x02\x93\x2c\x81\xd6\x72\xe3\x17\x52\x13" "\xab\x3e\x00\x63\x34\x23\xc7\xe2\xcc\x5b\xe6\x91\xb7\x01\xb4\x66\x03\xbf" "\x92\x18\xa6\xff\x44\x7d\x4f\xf2\x62\x72\x5e\xb3\x52\x42\x20\xe3\x09\xa1" "\x5b\xab\xeb\xf5\x95\xf9\x9b\x0d\x53\x90\x18\xb2\xd7\xbd\xb3\xb8\xdc\x87" "\xac\xd0\x85\xf9\x6f\x8b\xe4\x45\x50\xfc\x3b\x59\x24\x84\x1d\x74\x8c\x25" "\x9c\x1a\x88\x9a\x1d\x92\x49\x28\x24\x33\x5e\xd0\x75\x94\x16\x82\x8c\x3b" "\xa7\x1f\xe3\xa5\xe6\xf5\xb1\x5d\x77\xdc\x1b\xa7\x19\x19\xc1\x1b\xb2\xef" "\x15\x1f\x83\xa8\xd2\xb4\x95\x5d\x8f\x99\x65\x36\x84\x1f\xfa\x84\xea\x6a" "\x01\x58\x5e\x82\x85\x26\xab\x0b\xfd\xb4\x94\xf3\xea\x89\xee\xaf\xb9\x3b" "\x7f\x6f\x25\x08\x75\xa6\x63\x81\xd4\xde\x71\xe9\x27\x15\x63\xfa\x28\xb8" "\x0a\x8a\x2e\x7a\xcb\xd0\xf3\x50\x54\x4e\x8a\x28\x7f\x98\x8f\xa2\xc6\xc3" "\xd2\x9b\xcd\x43\x27\xa3\x53\xed\xbf\xc2\xc0\xd0\x64\x8c\x6a\x93\xa5\xe2" "\xba\x56\xe6\x41\x9c\x64\xc1\x96\xb5\x83\xf3\x9d\x23\x8a\x35\x6f\xed\x38" "\xed\x22\x87\xde\x92\x9b\xc4\x20\xef\x97\xf5\x9a\x3a\xf9\xac\xe1\x0a\x11" "\xc3\x46\x29\x64\xae\x1c\x20\x48\x2a\x8b\xcc\x91\x28\x5a\x1c\x12\xd1\x18" "\xfc\xac\x5f\x54\x58\x61\xb6\xbe\x73\xa2\x18\xbc\xf8\x15\x53\x13\x48\x8c" "\xb3\x6c\x84\x93\xd0\xf7\xf1\xff\xc2\x99\xf5\x22\x9f\x9c\xdc\x62\x88\x81" "\x4d\xbe\x7f\xc0\x16\x2d\x20\x4c\x42\x8e\xb5\x10\x2b\xcd\xd6\xbb\xd4\x23" "\x2e\x08\x9a\x12\x7a\xdc\xd0\x8e\xbb\x52\x47\xbd\xee\x3d\x09\x31\x70\xcb" "\xe3\xb2\x7b\x5d\x49\xfa\xe9\x01\x92\x8f\xff\xb1\x64\x67\x05\xc1\xaa\x81" "\xab\x23\x54\x1f\x0f\x0e\x29\xac\x1b\xa7\x5e\x54\xca\xf2\x7d\xd3\x56\x6d" "\x82\xc5\xd4\x54\x01\x66\x0b\x31\x8d\x9b\x82\x30\x60\xd3\xf0\x6a\x1e\x5b" "\xda\x96\x2a\x9c\x49\x20\x73\x86\xd1\x01\xde\x8d\x56\xc8\x97\x37\x75\x4a" "\x25\xb5\x1f\x81\x86\x48\xbd\x2c\x18\x92\xa0\x65\x6b\x6b\xa6\xf2\x39\xb1" "\x94\xc0\xd6\x9d\x97\xaf\x8b\xe9\xd3\x07\x4c\x22\x2c\x57\x5d\x35\x04\xb3" "\x7d\x9c\xb8\x4f\x74\x9e\xc8\x16\x5a\xe8\xf1\x1a\x6f\x72\xef\x62\x56\x2d" "\xaf\xda\x57\xad\xc3\x62\x08\x77\xe8\x01\x8d\x8e\xaa\xc6\x36\x46\x3e\x38" "\x31\xbf\x24\xbf\xd3\xe5\x17\x39\xe4\x21\xcf\xca\x7e\x23\x6d\x35\xd9\x01" "\x7c\x51\x28\x6b\x5a\xc5\xb1\x9c\xfc\x7d\x07\x7e\xc9\x24\xfa\xdd\x0a\xb7" "\xda\x00\xd9\xe6\x35\x96\x69\xf4\x6f\xf1\x29\x0d\xe3\x26\x2c\x44\xab\x86" "\x2b\x0b\x9c\xcb\x73\xb0\x61\x31\x3b\x82\xdb\x89\x0b\x64\xff\xd0\x73\xad" "\xb9\xcc\x01\xd4\x28\xa2\x48\x26\x29\x23\xa4\xba\xc7\x6d\x9e\x83\x3e\xb7" "\x8c\x82\x07\x78\xe7\xf1\xf5\x29\x7e\x0b\xe9\x7f\xf3\x75\x5b\x0b\xdc\xf3" "\x5b\x90\x23\x4d\x5f\xdf\xff\x9f\x63\xc6\xe5\x4f\x29\xaa\xc2\xee\x72\x94" "\xda\x8a\x85\xe5\x46\xa7\xde\x1f\x6c\xcd\x19\xe5\xa3\xaa\xef\x64\xca\x39" "\xe5\x71\x64\x78\x7f\x3b\xb0\xc7\x0f\xde\x13\x1e\x66\xf1\x6c\x71\xf2\xc2" "\x51\xa5\x60\xe5\x37\x32\x07\x54\xa9\x2c\x15\x97\x3d\xde\xdb\x4c\xc8\x85" "\x64\xb9\x69\x2e\x26\x42\x4f\x20\xde\x27\x3f\xad\x89\x8a\x5d\xdb\xc1\x07" "\xc2\x5a\x90\x76\xb2\x5a\xda\xab\xcd\xdb\xa0\xa4\xb8\x3d\x7f\xf4\x06\xc4" "\x85\x82\xda\xb8\xf4\x34\x6e\x0d\x44\xa2\x6c\x60\x42\xf3\x41\x0f\xfc\x43" "\x2b\xb5\x11\xf4\x78\xd3\xf7\x8d\xb7\x8a\x32\x0c\xd7\x07\x3a\xf3\x1a\xc1" "\x16\xeb\x8a\x3e\x73\xbc\xe4\x48\x81\x03\xfc\xd3\x6c\x8f\xe6\x09\x48\xbc" "\x6c\xea\x44\x2e\x74\xb8\xb3\xbe\x6e\x06\xe8\x9e\x5c\x4f\x3a\xa3\x2c\xe3" "\xdb\x3d\x83\x51\x30\x99\x55\x82\xda\x15\x97\x25\x36\x11\x08\xf7\x9e\xc6" "\xae\xfd\x08\x2e\x4e\x63\x0f\xb4\x2f\xf9\x97\x36\xb4\xfb\xa8\xb0\x69\x54" "\xe8\xff\x73\xeb\xcd\x5c\x9c\xd7\x3d\xcc\xc4\xe0\x65\x96\xe0\xf1\xa6\x9b" "\x34\x34\x44\x6f\x4f\xf5\x71\x4b\x2c\x7d\x96\x16\x5c\x91\xdd\x4e\x4b\x31" "\x1f\x03\xd7\x7c\x19\xfc\x12\x21\xea\xa1\x0a\x89\x1c\xac\xc6\x1d\xda\x0a" "\x28\xfc\x3b\x85\x1b\xef\xdf\x87\x3a\x1b\xb1\x35\xde\xe1\xfb\x88\xfe\x1b" "\x50\x28\x53\x4d\x2d\x9e\xa2\x3e\xbd\x31\x32\xb5\x59\xcc\x51\x27\x3e\xbf" "\x5c\xbb\x39\xa7\x0b\x59\x9b\x1e\xd8\x8c\x2a\x98\x5f\x61\xdc\xe5\xb1\x83" "\x9f\x12\x0e\x94\x33\x15\xf5\x63\xff\xde\x0f\x7d\x50\x43\xa0\xd7\xf0\x56" "\x28\x98\x14\x1f\x0c\xb0\xeb\x14\x80\x58\x51\x4e\xf2\x22\x60\x04\xe7\xa6" "\xd6\xab\x08\x55\xea\x8f\x27\x16\xc1\xdf\x6c\x77\x5c\x4c\xc7\x0c\x5c\x8e" "\x02\x2f\x71\xa0\x2a\x39\x0d\xbf\x27\xec\xe0\x9b\x0f\xef\x25\x17\x48\x43" "\x76\x08\x75\xb9\x51\x93\x25\xd9\xa7\xe7\xf7\xd5\xe5\x0c\xa2\x02\xa3\x83" "\x14\x8e\x48\xe8\xed\x69\xcc\xc9\x84\x7c\x7f\xf7\x4e\x22\x89\x8b\x10\x6d" "\x52\x05\xe8\x84\x7c\xe4\x93\xe0\x24\x59\xb0\xa8\xb7\x7d\x5e\x32\xec\xd1" "\x53\xb8\xcc\xaf\x44\xcf\x74\x5c\xf1\xb2\xb7\xdf\xc8\x14\xc1\xef\x61\x7c" "\x96\x66\xdc\x08\xe5\xf9\x48\xbe\xd5\xff\x17\x85\x27\x46\x11\x0c\xa9\x6c" "\x13\x72\xcc\xd1\x00\x01\x7a\x78\x22\xd3\x1e\x7b\x04\xf5\xa0\x89\x56\xb3" "\xd7\xbe\xd4\x19\x56\x13\x39\xcd\x19\xdf\x81\x06\x7f\x13\x68\x85\xfd\x38" "\x13\xfd\xce\x1b\x81\xdf\xfa\xe3\x21\x0d\xff\xf4\x59\xe4\x89\xf5\x93\xfb" "\xb4\x44\xff\x98\xed\x65\x92\xfe\x15\x0c\xcc\xe5\xa1\xdd\x40\x7a\xad\x6e" "\x39\x60\x4c\x8c\xab\x2f\xd7\x38\x03\xa1\x0e\x31\xde\xec\x81\x5a\xa1\x79" "\xc9\x87\xe6\x85\xdf\xdd\x62\xd2\xc6\x3a\xa2\x17\x44\xb6\x1a\x67\xd9\xc3" "\xd7\xa7\xac\x1e\x1e\xf7\x13\x27\x8b\x51\x6e\xdc\xd1\x6a\x0d\x73\x91\xff" "\xb7\xf0\xf5\x8b\x5e\xf9\x6e\x35\x5a\xae\x02\xf2\xed\x2c\xd8\x78\x08\xa6" "\xac\xc5\xc5\x42\x78\x21\x3a\x8d\x3a\x16\x7b\x8b\x19\x52\xe9\xc0\xc5\x47" "\x47\x0d\x55\x12\x0d\x84\xbe\x90\x2a\x79\x30\x19\xae\x32\x40\x6f\xd4\x5d" "\x49\x4f\x97\x20\x34\x8b\x50\x8e\x72\x00\x25\x6f\x6d\x5c\x8f\x4f\x3b\xc8" "\x44\xf3\xa4\xf2\xb5\x88\x95\x76\xf4\x29\xa5\x46\x83\x42\x51\xde\x98\x3b" "\xe6\xea\x18\x20\xe0\x89\x29\x34\x21\x13\xd4\x2a\x1e\x36\x2b\x92\x36\x52" "\x67\x5b\xde\x97\x5a\x38\x10\x87\xc3\xb5\x6c\xee\xf6\xe2\x95\xd9\x09\x3a" "\xc3\x58\x09\x4e\xf0\x0e\x15\xbd\x00\x83\xb1\xf0\xc0\x2d\x71\xb2\x84\x84" "\xc9\x8e\xb4\x94\x75\xc8\xa4\x6d\x90\x61\x82\x6b\x8f\x8a\x66\x48\x24\x15" "\x42\x09\x72\x46\xc4\xbd\xb7\xb3\x62\x74\x71\x45\xc2\x5c\x44\x03\x65\x98" "\x1f\x52\xba\xee\x12\x65\x40\xb7\xf1\x03\xda\xbf\xd3\xad\xf1\x61\x13\xd8" "\x59\xa2\xaf\xe4\x3e\x96\xce\xa2\x60\x3a\xaf\x7f\x60\xb5\xe5\x15\xc9\x0e" "\xd7\x49\x46\x76\x2c\x11\x6d\x11\xc5\xb8\x2a\xaa\x3d\x43\x65\x22\x5b\xd1" "\x50\x12\xc5\xf6\x05\x7c\x9c\x3b\x6f\x3f\x20\x12\x6c\xc1\x1a\x1c\x33\x34" "\x63\xec\xe5\xc1\x48\xb7\xa7\x3a\xa4\xd9\x44\x66\x5b\x96\xd8\x0d\xf0\x28" "\x63\x71\x87\xf1\x0b\xa6\xc0\x3d\xdb\x6a\xbe\x59\xc9\x53\x1b\x40\x7a\x06" "\x16\xab\xe4\x6a\xf7\xf8\xf7\xd1\xee\x8c\xb4\x79\xd6\xd7\x47\x52\xfa\xf5" "\x1a\x61\x65\x1f\x9a\x7f\xaa\x6d\xe5\x9b\x76\xdc\xfd\xcf\x2c\xbc\xc6\x74" "\x85\xc9\xc0\x49\x2e\xa7\x9d\x84\xcf\xf0\x66\x63\x56\x4d\x08\x81\x7b\x9b" "\xff\x26\xdd\xc5\x4c\xf6\x40\xa8\xab\xf5\x7b\xdb\xd0\x7b\xf1\x8c\x97\x3b" "\x6d\xbf\x52\xa7\xca\x85\x98\x3d\xd6\xf1\x41\x7e\xa2\xd6\x5a\x8f\xd6\x55" "\xcb\x43\x12\x8e\x47\xbf\x32\x69\x28\x35\x9e\x0b\xf8\xe3\xf6\x6c\x9b\xe7" "\x6d\x2e\x13\x6a\x40\x01\x24\xd6\x1b\xb7\xbf\xa4\x06\xc6\x7e\x09\x15\x5e" "\x1b\x51\x4e\x4e\x0a\x34\x8c\xc3\xea\x2d\xf9\xa0\xce\xd5\x70\x77\x0f\xe2" "\x2d\xb8\xf5\x66\x63\x22\xee\x7c\x3a\x16\xe5\x4e\x45\xc4\xfe\x8f\x0c\x89" "\xd3\xd9\xf5\x10\x05\x72\xce\xdb\x79\x01\xa6\x53\x7f\x71\x26\xaf\xb5\xd7" "\x5b\x5c\x96\x2f\xa1\xc7\x69\x65\xdc\xdf\xae\x0a\xa7\xc2\xf2\x2c\x86\xe6" "\x16\x43\x87\xfa\x1c\x64\xf1\x31\x06\x0d\x9a\x1c\x6b\x01\x68\x12\x5c\xbc" "\x36\x95\x9e\x69\xf1\x46\xfc\x85\x8f\x04\xc1\x6c\x77\x34\x10\x3a\xdc\x9b" "\xfb\x2e\x17\x85\xf9\xe4\xb6\xa2\x9c\x31\x30\x37\xd5\xf9\xaa\x5a\x2e\xc6" "\x72\x82\x27\x79\x7d\x54\xd7\xad\x83\x01\xb7\x88\xd9\xf7\xba\x15\xdf\xc7" "\x6f\x52\x3e\x1a\x4d\xf3\x9b\xd6\xe5\x79\x2c\x8f\x06\x7e\x00\xbc\x5d\x26" "\x30\x5c\xc7\xe1\x9b\x07\x36\xde\x36\xc5\xd4\xbf\x5e\x4d\x83\xaa\xed\x4a" "\xb4\xda\x9c\x11\x1b\x2f\x26\xff\x12\xaa\xf8\x60\xf0\x1e\x53\x4c\xd9\x67" "\x7a\xea\xd1\x5a\xd4\xe0\xb8\x39\x22\x19\x20\xb3\x9c\x28\xa1\x96\xbe\x6a" "\xad\xd2\xc9\xa8\xd6\xcd\x33\xe3\xd7\x82\xfd\x9b\x38\x88\x8b\xf7\xe9\x68" "\x14\x94\xe6\xf6\xbd\x42\xa7\xf6\xf2\x73\xd9\xfc\x93\xe8\x5b\x90\x03\x2b" "\xf8\xec\x75\xdf\x2e\x38\xd9\xad\x5d\xb3\x25\x57\x80\x04\x98\xab\xb8\x34" "\x91\xab\xd5\x10\x7b\xf4\x94\x8d\x77\xde\xa1\x83\x69\xdf\x8b\xe6\xf5\x51" "\x01\x39\x17\x4f\xcb\xca\x91\x82\x58\x1a\x0f\x70\x69\x4d\xa9\x24\x5c\x58" "\xc8\x1c\x10\x97\x8e\x61\xfe\xfb\x54\x63\xb4\x83\x3b\x69\xab\x89\xbf\x17" "\xbe\xcb\x95\x5b\xdf\x48\x1f\x62\xf4\xdb\x18\x61\x64\x77\x98\x5c\x57\x67" "\xf4\x2a\x53\xa7\xa4\x0a\x65\xac\xef\x57\x7a\x2b\x22\xdd\x26\xde\x47\x2d" "\xcf\x14\x6f\x98\x09\x10\xaf\xb4\xa3\x41\x89\xf4\x9d\xe0\xbf\x32\x23\x22" "\x9f\x1d\x52\xed\x31\xf2\x45\xcc\x91\xa8\x03\xaf\x09\x8a\xda\x85\xdd\xe8" "\xf1\xfd\x68\xd3\xbd\xd7\xf8\xdd\x09\xbd\xc2\x4d\x10\x8f\xd2\x1f\x6d\xe7" "\x27\x4c\xd8\x35\x0a\x68\xc4\x8b\x36\x01\xf9\x41\x4a\x7d\xa1\xcc\x75\x06" "\x38\xf9\x62\x9f\x9c\xe8\xf3\x07\xc9\x51\xfa\x6a\xf9\x38\xab\x43\x0f\xcc" "\x62\x94\x85\x58\xb4\xe1\x77\x76\xc6\xfe\x0c\x02\xd3\x5b\xd1\x78\x10\x5f" "\xf2\x9a\xa4\x55\x54\x8f\xb4\x9e\x33\xd3\x79\x9c\x1f\x37\x5f\x80\x92\x98" "\x8e\xb5\x3b\x9c\x5f\x7e\x21\xad\xa5\x7b\x36\xd2\x77\x17\xfd\x9d\xa8\x25" "\x77\x93\xd5\xf9\x2f\x5d\xd3\xba\x11\xd3\xb2\xb9\xe8\x5e\xc6\x54\x32\x8a" "\x37\xa1\xb0\xc7\xdd\xdc\x42\x85\x86\xe2\x2e\xd9\x4f\x25\x7e\x5e\xc9\xe4" "\xa1\xf9\xdc\x3c\xa0\x50\xec\x4b\x6f\x86\x1a\x0f\x1a\x0f\x42\xbb\x87\x55" "\x6c\x8e\x8e\xd7\x2a\x58\xcd\x6d\xa1\xeb\x12\x2f\x6f\xdb\xb4\x7b\xdb\xf1" "\xe3\x8f\xc2\xf0\x52\xae\xa3\x87\x45\xf4\x68\xf0\x4a\x21\xb1\x4f\xd3\xec" "\x8b\xe3\xee\xda\x82\x55\x00\xe6\x0e\x9d\x6c\x0a\x39\x34\xb2\xb3\xc5\xa2" "\x90\xe4\x2b\xdf\x58\x4c\x48\x73\xdf\xd6\x24\xff\x3a\xa7\xe4\x18\x43\x89" "\x00\x36\xa9\x0a\x2b\x55\xe7\x4f\xd4\xad\x43\xaf\xca\x5c\xcd\x92\xf0\xc4" "\xa4\xf1\xfd\x19\x1f\xf9\x40\xb1\x63\x6b\x7c\x47\x80\x5e\x0c\x9f\xb9\x7c" "\x4c\x47\x4e\xcd\xdd\x16\xdd\x64\x9a\xeb\x09\x8f\xa3\xd9\x90\x97\x89\xef" "\x83\x5f\x19\x2e\x5a\x73\x52\x75\x6a\x2c\x9d\x93\xbd\x2f\xd6\xe9\xe6\x93" "\x12\x71\x8b\xc8\xfe\x23\x0c\x14\x1d\x03\x42\xa6\xed\xf6\x98\x11\xbd\xa4" "\x27\xc6\x6f\xfe\xc5\xb6\x8f\x89\xda\x22\xd1\xf4\xc4\x7f\x85\xfb\xd4\x4f" "\xcc\xe8\x0c\x76\x9c\x5c\xde\x2e\x87\x6e\xb4\x12\x9b\xe9\xee\x5e\x51\xac" "\x74\x2d\x6f\x74\x2e\x68\x2c\x65\xfc\x22\x6a\x02\xa1\x66\x2e\x3e\xf8\x99" "\xa5\xdf\x04\xae\x58\xa9\xb8\x8e\xab\x57\x64\xfe\x1d\x67\x93\x84\x6f\xe1" "\x83\x58\x89\x4a\x4c\xa8\x28\xcd\xfa\x95\xd2\x60\x4a\xa9\xc3\x20\x7f\x52" "\x3e\x81\x1d\xc3\x13\xfc\xf0\x3c\x78\x8d\xe1\x2d\xf0\xc7\xe1\xe3\xb7\x19" "\x88\xba\x38\x43\x10\x8c\x73\x62\xe1\x58\x65\x8a\x54\x26\xc4\x56\xd1\x71" "\xbd\x83\xe7\xd5\x02\x9c\xec\xe5\x97\xff\x17\x48\x20\x60\xdd\xc0\x01\xe0" "\x87\xad\x99\xe9\x96\x13\x31\x03\x5a\x98\x91\xc7\xd2\xfd\xb6\x0e\x44\x2d" "\xa7\x5a\x30\x08\xc2\xcd\x62\xc2\x2c\xd3\x59\xd5\x27\x25\x38\x51\xf7\xaf" "\xe2\xd5\x0c\x59\x50\xb8\x7b\x95\xa2\x91\x73\x31\x06\x0c\xcb\xda\xf4\x5c" "\xf3\xef\xbf\xf9\x55\xb2\x9c\x5a\x63\xec\x3b\x22\x83\x3b\x12\x15\xba\xeb" "\xe8\xd8\xde\x40\x22\x66\x2f\x41\x8d\x76\xc0\xf2\x52\xfe\xba\xf6\x81\x35" "\xa1\xee\x9b\x73\xb7\x93\x59\x7d\x51\x78\x53\xb1\x59\x6d\xa8\x2d\xc7\xe0" "\xf9\x96\x47\xb6\xb2\x14\xbc\x9b\x04\xcb\x46\x40\x26\xe2\xc3\x3f\xe4\xc9" "\x03\x02\x70\xb9\x6e\x72\xae\xcf\x40\x6a\x0e\xb7\x0b\xc3\xf2\x2c\x52\x42" "\xd3\xcd\x2c\xd5\xa5\xcf\xc3\xac\xeb\xb0\x4d\xf5\x56\xdb\x5f\x74\x1f\xf8" "\xc7\x16\x37\xaa\x2f\x68\xb5\x79\xe5\xce\x31\x72\x28\xa3\xfc\x04\x06\xca" "\x27\xec\xa0\x6e\x30\xfe\x18\x52\xe2\x64\xd2\xba\x23\xc6\x93\xa3\xc0\x48" "\x65\xe7\x57\x49\x56\x96\x4c\x1f\x03\xfa\x46\x0b\xf4\xc5\xfb\xee\xff\x18" "\xb0\x33\xf1\x71\x55\x97\x60\x33\x34\x50\xbd\x0b\x26\x6f\xe3\x2c\x64\x40" "\x61\xd9\xc6\x2d\x36\x6e\x15\x87\xa4\x70\x00\x8a\x7e\xdd\x1d\x2a\x20\xf4" "\xb3\xa5\x2c\xcf\x56\x9a\x8e\xeb\xfa\xb2\x39\xc9\x89\x4f\xe9\xd0\x27\xba" "\x9d\x44\x66\x0e\x8f\xc8\xc3\xe5\x39\xaf\x62\x24\x7c\x33\xc1\xae\x3a\x57" "\x5e\x30\x78\x17\xe0\x4a\x17\xdc\xdc\xa5\x7d\xb3\x28\xc6\x63\xb6\xfd\x62" "\xaa\xc4\x1d\x83\xc1\x1e\x89\xbf\x93\x2f\x10\x7e\x82\x56\xc0\xc9\xfc\x1d" "\x89\x97\xe3\x38\xe4\x28\xe9\xa0\xd4\x4e\xaa\x36\xd8\xc6\x05\x71\x16\x95" "\x6b\xbb\xd1\xf7\x76\x4b\x4b\x5b\x9a\xe1\xf4\x53\x19\x51\xd6\x7e\xdd\x13" "\x43\xc9\xa8\x81\xc5\xc0\x72\xf2\x3b\x3d\x95\x94\x02\x54\xe7\x03\x77\xd3" "\x82\xaf\x2f\xce\x44\x8b\x65\x7d\x71\x8a\x2d\xf4\x8f\xeb\x32\x24\xfb\xe2" "\x39\x25\x7b\x67\x6d\xed\x00\xef\xd1\xba\x6e\xf9\xe6\x5a\xfe\x59\x90\xcf" "\x43\x30\xa7\x6d\xb8\x35\x65\x48\xa9\x54\x44\x74\x9f\xd1\x54\x6f\x09\xb9" "\xe8\x71\x6e\x31\x42\xd5\x3e\xec\x98\x8b\x62\xcc\x61\x44\xe4\xb4\x6b\xfb" "\x28\x13\xde\x45\xf0\xe3\x14\x1d\xf5\xb0\x63\x9f\x08\xfa\x81\x92\xc5\x59" "\x59\x50\xd1\x3f\x09\x29\x3e\x1b\x15\xd1\x1b\xd8\x49\x12\xf3\x01\x3b\x97" "\x4b\xdd\x46\x37\xa2\xa5\x84\xf1\x80\x4e\x92\x85\xfd\x31\x38\x95\xe4\x12" "\x95\x90\xa6\x5e\xfc\x30\x30\xd8\xd5\x44\xc6\x9d\x09\xa6\x69\x82\x8c\x76" "\xd4\xd8\x82\x5e\xfc\x91\xce\x74\x01\x22\x6f\x6a\x93\xbd\x21\x13\x99\x35" "\x78\x50\x87\x98\xd9\x38\x6f\xda\x71\x86\x06\xb8\x02\xa0\xa5\x9a\xf6\xd4" "\xab\x2b\x93\xd7\xbe\x5a\x45\xd1\x12\xf9\xbf\x94\xbe\x06\x6e\x61\x09\x73" "\x42\x70\xc5\x8b\x1d\x83\x0d\x15\x44\x4d\x15\x65\xa1\xce\x01\x6a\x2c\xc3" "\x65\xe9\x03\x20\x97\xfa\x81\x04\x88\xc6\x61\xd6\x2e\x32\xe4\x72\xb0\x9c" "\x85\x48\x99\xc5\x53\x63\xbf\x48\x49\x02\x69\xdf\x0f\x9c\xad\x4a\x59\x98" "\x4b\x40\xd5\x6f\x9c\x01\x56\xec\xe5\xaa\x44\x32\xed\x78\x6a\x0e\xae\x38" "\xbc\xf2\x68\x25\x40\xa2\xff\x4b\x97\x30\x57\x66\xe6\x21\xe3\x4f\xe4\x88" "\xd6\x98\x3d\x9c\x11\xb6\x89\xf1\x28\x12\x04\x8c\xa6\x57\xd2\xc5\x9b\x20" "\xc0\xbf\x11\xd1\xa6\x68\x5f\x0b\x34\x20\x3e\x2a\x89\xe6\x63\x3b\x44\x0c" "\x02\x63\x36\x39\xe9\xc2\xe3\x9c\x42\xe6\x19\x60\x6b\x5c\x63\xa9\xfa\x96" "\xc9\x28\x96\x2c\xde\x25\x85\x16\xc5\xd8", 4096); syscall(__NR_lsetxattr, 0x20000280ul, 0x200002c0ul, 0x20001ec0ul, 0x1015ul, 0ul); memcpy((void*)0x20000180, "./file0\000", 8); res = syscall(__NR_openat, 0xffffff9c, 0x20000180ul, 0ul, 0ul); if (res != -1) r[0] = res; memcpy((void*)0x20000000, "./file0\000", 8); syscall(__NR_unlinkat, r[0], 0x20000000ul, 0ul); return 0; }