{"abstract":"A permission violation on a present page has the present bit clear in its error code.","category":"Instruction set emulation","checks":9,"contract":"Input [va, write, user, root, mem]; mem maps decimal-string physical addresses to 32-bit entries (missing = 0). VA splits 10/10/12 (directory index va>>22, table index (va>>12)&0x3FF, offset). The PDE is at root + 4*dir, the PTE at (PDE frame << 12) + 4*table. Bits: P=1, W=2, U=4, A=32, D=64; frame = entry >> 12. Not present -> ['fault', err]; write without W on both levels or user access without U on both levels -> ['fault', err | 1], where err = 2 if write plus 4 if user. On success set A on both entries and D on the PTE only for writes, returning ['ok', physical address, sorted [address, entry] of memory].","evaluation_group":"w2-instruction-set-emulation-page-walk","failed_approach":"Returning only the P bit drops the write and user bits.","family":"w2-instruction-set-emulation-page-walk-protection-error-code","id":"FA-89686","implementations":{"attempt":{"sha256":"6e7c1603b015d7a73f6088db02afa7e5f1d0a10dd0bd2008887e506621acd325","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(*args):\n    va, write, user, root, mem = args\n    mem = dict(mem)\n    d = va >> 22\n    t = (va >> 12) & 0x3FF\n    off = va & 0xFFF\n    err = (2 if write else 0) | (4 if user else 0)\n    pde_a = str(root + d * 4)\n    pde = mem.get(pde_a, 0)\n    if not pde & 1:\n        return ['fault', err]\n    pte_a = str((pde >> 12 << 12) + t * 4)\n    pte = mem.get(pte_a, 0)\n    if not pte & 1:\n        return ['fault', err]\n    if (write and not (pde & pte & 2)) or (user and not (pde & pte & 4)):\n        return ['fault', 1]\n    mem[pde_a] = pde | 32\n    mem[pte_a] = pte | 32 | (64 if write else 0)\n    return ['ok', (pte >> 12 << 12) | off, [[k, mem[k]] for k in sorted(mem, key=int)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('user read of user page', [4206859, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20747, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4206863, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20751, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304011, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33035, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4210955, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8388875, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8388875, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8392971, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37131, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583179, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4218880, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207115, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21003, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207119, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21007, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304267, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33291, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211211, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389131, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389131, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393227, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37387, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583435, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4222976, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207371, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21259, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207375, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21263, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304523, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33547, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211467, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389387, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389387, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393483, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37643, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583691, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4227072, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207627, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21515, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207631, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21519, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304779, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33803, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211723, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389643, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389643, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393739, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37899, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583947, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4231168, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207883, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21771, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207887, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21775, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6305035, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 34059, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211979, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389899, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389899, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393995, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 38155, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12584203, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4235264, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"broken":{"sha256":"8f9b72a88835efc68bf297ce684903d4ab79801a966d6f7917e8c1afb6d258af","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(*args):\n    va, write, user, root, mem = args\n    mem = dict(mem)\n    d = va >> 22\n    t = (va >> 12) & 0x3FF\n    off = va & 0xFFF\n    err = (2 if write else 0) | (4 if user else 0)\n    pde_a = str(root + d * 4)\n    pde = mem.get(pde_a, 0)\n    if not pde & 1:\n        return ['fault', err]\n    pte_a = str((pde >> 12 << 12) + t * 4)\n    pte = mem.get(pte_a, 0)\n    if not pte & 1:\n        return ['fault', err]\n    if (write and not (pde & pte & 2)) or (user and not (pde & pte & 4)):\n        return ['fault', err]\n    mem[pde_a] = pde | 32\n    mem[pte_a] = pte | 32 | (64 if write else 0)\n    return ['ok', (pte >> 12 << 12) | off, [[k, mem[k]] for k in sorted(mem, key=int)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('user read of user page', [4206859, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20747, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4206863, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20751, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304011, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33035, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4210955, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8388875, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8388875, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8392971, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37131, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583179, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4218880, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207115, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21003, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207119, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21007, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304267, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33291, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211211, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389131, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389131, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393227, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37387, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583435, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4222976, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207371, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21259, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207375, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21263, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304523, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33547, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211467, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389387, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389387, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393483, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37643, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583691, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4227072, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207627, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21515, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207631, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21519, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304779, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33803, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211723, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389643, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389643, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393739, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37899, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583947, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4231168, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207883, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21771, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207887, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21775, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6305035, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 34059, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211979, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389899, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389899, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393995, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 38155, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12584203, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4235264, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"},"fixed":{"sha256":"d0dc04aab67a160880b8d83dd808b5f6d8d89019f60eb8208111188639653cb1","source":"\"\"\"Failure Map reference implementation. Python standard library only.\"\"\"\nimport json\n\nN = 1\nobservations = []\ndef solve(*args):\n    va, write, user, root, mem = args\n    mem = dict(mem)\n    d = va >> 22\n    t = (va >> 12) & 0x3FF\n    off = va & 0xFFF\n    err = (2 if write else 0) | (4 if user else 0)\n    pde_a = str(root + d * 4)\n    pde = mem.get(pde_a, 0)\n    if not pde & 1:\n        return ['fault', err]\n    pte_a = str((pde >> 12 << 12) + t * 4)\n    pte = mem.get(pte_a, 0)\n    if not pte & 1:\n        return ['fault', err]\n    if (write and not (pde & pte & 2)) or (user and not (pde & pte & 4)):\n        return ['fault', err | 1]\n    mem[pde_a] = pde | 32\n    mem[pte_a] = pte | 32 | (64 if write else 0)\n    return ['ok', (pte >> 12 << 12) | off, [[k, mem[k]] for k in sorted(mem, key=int)]]\ndef check(label, actual, expected):\n    observations.append({\"check\": label, \"actual\": actual, \"expected\": expected, \"passed\": actual == expected})\nfixtures = [[('user read of user page', [4206859, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20747, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4206863, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 20751, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304011, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33035, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4210955, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8388875, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8388875, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8392971, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37131, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583179, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4218880, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207115, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21003, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207119, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21007, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304267, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33291, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211211, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389131, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389131, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393227, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37387, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583435, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4222976, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207371, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21259, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207375, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21263, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304523, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33547, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211467, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389387, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389387, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393483, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37643, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583691, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4227072, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207627, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21515, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207631, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21519, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6304779, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 33803, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211723, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389643, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389643, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393739, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 37899, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12583947, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4231168, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])], [('user read of user page', [4207883, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21771, [['4100', 8231], ['4104', 12289], ['8204', 20519], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('user write sets dirty', [4207887, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 21775, [['4100', 8231], ['4104', 12289], ['8204', 20583], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36869]]]), ('high table index', [6305035, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 34059, [['4100', 8231], ['4104', 12289], ['8204', 20487], ['8208', 24577], ['10252', 32807], ['12288', 28679], ['12292', 36869]]]), ('kernel write to read-only page', [4211979, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('user access through supervisor directory', [8389899, 0, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 5]), ('write through read-only directory', [8389899, 1, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 3]), ('kernel read through read-only directory', [8393995, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['ok', 38155, [['4100', 8199], ['4104', 12321], ['8204', 20487], ['8208', 24577], ['10252', 32775], ['12288', 28679], ['12292', 36901]]]), ('directory entry not present', [12584203, 1, 1, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 6]), ('leaf not present', [4235264, 0, 0, 4096, {'4100': 8199, '8204': 20487, '8208': 24577, '10252': 32775, '4104': 12289, '12288': 28679, '12292': 36869}], ['fault', 0])]]\nfor label, args, expected in fixtures[N-1]:\n    check(label, solve(*args), expected)\nprint(json.dumps({\"observations\": observations, \"passed\": all(x[\"passed\"] for x in observations)}, ensure_ascii=False))\nraise SystemExit(0 if all(x[\"passed\"] for x in observations) else 1)\n"}},"limitations":"A deterministic bounded teaching model of one emulator rule; the instruction semantics are a stipulated contract inspired by common ISAs and are not a claim of cycle-exact or architectural conformance. This reproducer isolates one failure mechanism. Results cover the supplied fixtures. Variants within a family share a test contract and should remain grouped when constructing evaluation splits. Related mechanisms with a shared evaluation_group must also remain together; these controlled models are not independent production incidents.","method":"Deterministic executable model with adversarial boundary fixtures.","provenance":{"created_by":"Failure Map","dependencies":"Python standard library","family":"w2-instruction-set-emulation-page-walk-protection-error-code","generated_at":"2026-09-29T14:51:19.800926+00:00","license":"CC0-1.0","python":"3.12.14","seed":1,"split":"open-access"},"relevance":"MMU emulation must combine permissions across levels and update accessed/dirty bits exactly as guest operating systems expect.","repair":"Set bit 0 of the error code for protection faults on present pages.","root_cause":"The protection-fault path does not set the P bit of the error code.","sha256":"95028f118466e54b353332969412b6dd761a524cffd6c959e1be6b24350000dd","title":"Protection fault reported as not-present · case 01","variant":1,"variant_policy":"Five numbered records share a model and may reuse boundary fixtures.","verification":{"attempt":{"elapsed_ms":41.416,"exit_code":1,"observations":[{"actual":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user read of user page","expected":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user write sets dirty","expected":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"check":"high table index","expected":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"passed":true},{"actual":["fault",1],"check":"kernel write to read-only page","expected":["fault",3],"passed":false},{"actual":["fault",1],"check":"user access through supervisor directory","expected":["fault",5],"passed":false},{"actual":["fault",1],"check":"write through read-only directory","expected":["fault",3],"passed":false},{"actual":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"check":"kernel read through read-only directory","expected":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"passed":true},{"actual":["fault",6],"check":"directory entry not present","expected":["fault",6],"passed":true},{"actual":["fault",0],"check":"leaf not present","expected":["fault",0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"user read of user page\", \"actual\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"user write sets dirty\", \"actual\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"high table index\", \"actual\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"kernel write to read-only page\", \"actual\": [\"fault\", 1], \"expected\": [\"fault\", 3], \"passed\": false}, {\"check\": \"user access through supervisor directory\", \"actual\": [\"fault\", 1], \"expected\": [\"fault\", 5], \"passed\": false}, {\"check\": \"write through read-only directory\", \"actual\": [\"fault\", 1], \"expected\": [\"fault\", 3], \"passed\": false}, {\"check\": \"kernel read through read-only directory\", \"actual\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"expected\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"passed\": true}, {\"check\": \"directory entry not present\", \"actual\": [\"fault\", 6], \"expected\": [\"fault\", 6], \"passed\": true}, {\"check\": \"leaf not present\", \"actual\": [\"fault\", 0], \"expected\": [\"fault\", 0], \"passed\": true}], \"passed\": false}\n"},"broken":{"elapsed_ms":41.869,"exit_code":1,"observations":[{"actual":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user read of user page","expected":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user write sets dirty","expected":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"check":"high table index","expected":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"passed":true},{"actual":["fault",2],"check":"kernel write to read-only page","expected":["fault",3],"passed":false},{"actual":["fault",4],"check":"user access through supervisor directory","expected":["fault",5],"passed":false},{"actual":["fault",2],"check":"write through read-only directory","expected":["fault",3],"passed":false},{"actual":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"check":"kernel read through read-only directory","expected":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"passed":true},{"actual":["fault",6],"check":"directory entry not present","expected":["fault",6],"passed":true},{"actual":["fault",0],"check":"leaf not present","expected":["fault",0],"passed":true}],"passed":false,"stderr":"","stdout":"{\"observations\": [{\"check\": \"user read of user page\", \"actual\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"user write sets dirty\", \"actual\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"high table index\", \"actual\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"kernel write to read-only page\", \"actual\": [\"fault\", 2], \"expected\": [\"fault\", 3], \"passed\": false}, {\"check\": \"user access through supervisor directory\", \"actual\": [\"fault\", 4], \"expected\": [\"fault\", 5], \"passed\": false}, {\"check\": \"write through read-only directory\", \"actual\": [\"fault\", 2], \"expected\": [\"fault\", 3], \"passed\": false}, {\"check\": \"kernel read through read-only directory\", \"actual\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"expected\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"passed\": true}, {\"check\": \"directory entry not present\", \"actual\": [\"fault\", 6], \"expected\": [\"fault\", 6], \"passed\": true}, {\"check\": \"leaf not present\", \"actual\": [\"fault\", 0], \"expected\": [\"fault\", 0], \"passed\": true}], \"passed\": false}\n"},"fixed":{"elapsed_ms":39.354,"exit_code":0,"observations":[{"actual":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user read of user page","expected":["ok",20747,[["4100",8231],["4104",12289],["8204",20519],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"check":"user write sets dirty","expected":["ok",20751,[["4100",8231],["4104",12289],["8204",20583],["8208",24577],["10252",32775],["12288",28679],["12292",36869]]],"passed":true},{"actual":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"check":"high table index","expected":["ok",33035,[["4100",8231],["4104",12289],["8204",20487],["8208",24577],["10252",32807],["12288",28679],["12292",36869]]],"passed":true},{"actual":["fault",3],"check":"kernel write to read-only page","expected":["fault",3],"passed":true},{"actual":["fault",5],"check":"user access through supervisor directory","expected":["fault",5],"passed":true},{"actual":["fault",3],"check":"write through read-only directory","expected":["fault",3],"passed":true},{"actual":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"check":"kernel read through read-only directory","expected":["ok",37131,[["4100",8199],["4104",12321],["8204",20487],["8208",24577],["10252",32775],["12288",28679],["12292",36901]]],"passed":true},{"actual":["fault",6],"check":"directory entry not present","expected":["fault",6],"passed":true},{"actual":["fault",0],"check":"leaf not present","expected":["fault",0],"passed":true}],"passed":true,"stderr":"","stdout":"{\"observations\": [{\"check\": \"user read of user page\", \"actual\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20747, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20519], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"user write sets dirty\", \"actual\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 20751, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20583], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"high table index\", \"actual\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"expected\": [\"ok\", 33035, [[\"4100\", 8231], [\"4104\", 12289], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32807], [\"12288\", 28679], [\"12292\", 36869]]], \"passed\": true}, {\"check\": \"kernel write to read-only page\", \"actual\": [\"fault\", 3], \"expected\": [\"fault\", 3], \"passed\": true}, {\"check\": \"user access through supervisor directory\", \"actual\": [\"fault\", 5], \"expected\": [\"fault\", 5], \"passed\": true}, {\"check\": \"write through read-only directory\", \"actual\": [\"fault\", 3], \"expected\": [\"fault\", 3], \"passed\": true}, {\"check\": \"kernel read through read-only directory\", \"actual\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"expected\": [\"ok\", 37131, [[\"4100\", 8199], [\"4104\", 12321], [\"8204\", 20487], [\"8208\", 24577], [\"10252\", 32775], [\"12288\", 28679], [\"12292\", 36901]]], \"passed\": true}, {\"check\": \"directory entry not present\", \"actual\": [\"fault\", 6], \"expected\": [\"fault\", 6], \"passed\": true}, {\"check\": \"leaf not present\", \"actual\": [\"fault\", 0], \"expected\": [\"fault\", 0], \"passed\": true}], \"passed\": true}\n"}},"verified":true,"visibility":"public"}