{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":384553977,"defaultBranch":"master","name":"corrosios","ownerLogin":"nmraz","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2021-07-09T21:25:13.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/10490959?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1686317552.116222","currentOid":""},"activityList":{"items":[{"before":"5e1d860eb1ef0413d4a20d5e364d8babec20f44a","after":"1f01158c8fa325ae1355631e0659210af358ca85","ref":"refs/heads/master","pushedAt":"2023-11-18T14:04:35.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Fix handling of free buddy merging in PMM\n\nWhen merging a block with its buddy, the PMM forgot to account for the\nfact that the block was already on a free list for its old order, and\nwould (potentially) place the same block on a free list for a different\norder. This could cause very hard-to-debug issues, especially because\nthe heap uses the same part of the page used by the PMM's free list for\nits own intrusive linked list.\n\nThis meant that the issue could (and did, at least with the current\nQEMU/OVMF versions) manifest itself as weird heap corruption issues,\nincluding partial heap slabs that were pointed to by the heap's linked\nlist implementation but were ostensibly \"unlinked\" themselves, because\nthey had been unlinked by the PMM. Of course, the issue was very\nsensitive to the exact arrangement/orders of the physical pages in\nquestion, which can be affected by anything from firmware to the size of\nthe kernel image.\n\nThe solution, of course, is to make sure that the free buddies of a\nblock being freed are removed from their respective free lists before\nbeing merged into a larger block.","shortMessageHtmlLink":"Fix handling of free buddy merging in PMM"}},{"before":"0e2dd8896b8ebcefb437cd3520dd9430a04114c5","after":"5e1d860eb1ef0413d4a20d5e364d8babec20f44a","ref":"refs/heads/master","pushedAt":"2023-11-17T14:05:03.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Create `heapdump` GDB command\n\nThis is helpful when trying to view heap state and debug corruption.","shortMessageHtmlLink":"Create heapdump GDB command"}},{"before":"48fcedeaf834bafef3650e8f90db21ceb3129d24","after":"0e2dd8896b8ebcefb437cd3520dd9430a04114c5","ref":"refs/heads/master","pushedAt":"2023-11-16T14:14:32.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Move gdb startup script into `scripts/`","shortMessageHtmlLink":"Move gdb startup script into scripts/"}},{"before":"8e3688787668624f8da2677e2a73088c39f5ba38","after":"48fcedeaf834bafef3650e8f90db21ceb3129d24","ref":"refs/heads/master","pushedAt":"2023-11-15T08:34:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Fix interactive hosttools commands\n\nInteractive commands using `xshell` only worked by accident, becuase it\nforgot to pass its own stdin when running the command. This was fixed in\nxshell 2.2.3, but it meant that all interactive commands run now got an\nempty stdin instead of inheriting the TTY, which led to undesirable\nbehavior.\n\nThe solution here is just to spawn the process ourselves instead of\nusing the xshell `run` helper. Thankfully, `xshell` provides access to\nthe underlying `process::Command`, making things pretty painless.","shortMessageHtmlLink":"Fix interactive hosttools commands"}},{"before":"489c86aca0928a5e1f93455e9dd8763942a5b188","after":"8e3688787668624f8da2677e2a73088c39f5ba38","ref":"refs/heads/master","pushedAt":"2023-11-10T20:33:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Switch to new cargo resolver","shortMessageHtmlLink":"Switch to new cargo resolver"}},{"before":"68e4c7be81342c7cb8120128d16c146d7e341396","after":"489c86aca0928a5e1f93455e9dd8763942a5b188","ref":"refs/heads/master","pushedAt":"2023-11-10T20:32:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Upgrade to latest nightly\n\nThis required updating a renamed target option and updating various\npackages because proc-macro2 was trying to use a removed nightly\nfeature.","shortMessageHtmlLink":"Upgrade to latest nightly"}},{"before":"f82697f9342f9a6234c5b90e80da66cafd12caef","after":"68e4c7be81342c7cb8120128d16c146d7e341396","ref":"refs/heads/master","pushedAt":"2023-07-28T08:34:29.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Implement basic pending reschedule handling","shortMessageHtmlLink":"Implement basic pending reschedule handling"}},{"before":"d9b63187fa70cf702636c90198c34736dd90b067","after":"f82697f9342f9a6234c5b90e80da66cafd12caef","ref":"refs/heads/master","pushedAt":"2023-07-24T20:13:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Make `sched::exit_current` public","shortMessageHtmlLink":"Make sched::exit_current public"}},{"before":"9d1a37e74b36aebc48d309220c08267b025ecdab","after":"d9b63187fa70cf702636c90198c34736dd90b067","ref":"refs/heads/master","pushedAt":"2023-07-14T07:21:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Remove unused imports","shortMessageHtmlLink":"Remove unused imports"}},{"before":"ef288c4deb27f6d4904eb10856bf74f2f656cd78","after":"9d1a37e74b36aebc48d309220c08267b025ecdab","ref":"refs/heads/master","pushedAt":"2023-07-14T07:17:18.000Z","pushType":"force_push","commitsCount":0,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Clean up VM module boundaries","shortMessageHtmlLink":"Clean up VM module boundaries"}},{"before":"cf960f69f773422727916932f89dabd25dff1701","after":"ef288c4deb27f6d4904eb10856bf74f2f656cd78","ref":"refs/heads/master","pushedAt":"2023-07-14T07:16:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Store low address space in thread","shortMessageHtmlLink":"Store low address space in thread"}},{"before":"56de88d84732c99df40f1c0794aac975b2f8d72b","after":"cf960f69f773422727916932f89dabd25dff1701","ref":"refs/heads/master","pushedAt":"2023-07-14T07:10:39.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Keep low address spaces in threads","shortMessageHtmlLink":"Keep low address spaces in threads"}},{"before":"c415b0820b78e901f01d2b05301b723d4f66ffb9","after":"56de88d84732c99df40f1c0794aac975b2f8d72b","ref":"refs/heads/master","pushedAt":"2023-06-19T17:17:31.914Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Avoid disabling interrupts for current thread lookup","shortMessageHtmlLink":"Avoid disabling interrupts for current thread lookup"}},{"before":"37d34af265de3f2efe81be312544f33abeab0a78","after":"c415b0820b78e901f01d2b05301b723d4f66ffb9","ref":"refs/heads/master","pushedAt":"2023-06-19T16:42:48.212Z","pushType":"push","commitsCount":5,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Align high-level percpu to cache line boundaries","shortMessageHtmlLink":"Align high-level percpu to cache line boundaries"}},{"before":"e57867725efcea12090f96d8eee0f6be69256851","after":"37d34af265de3f2efe81be312544f33abeab0a78","ref":"refs/heads/master","pushedAt":"2023-06-10T10:11:24.858Z","pushType":"push","commitsCount":3,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Properly handle page fault rescheduling","shortMessageHtmlLink":"Properly handle page fault rescheduling"}},{"before":"f7aa0264d6b2775cc600d3211f8d6355ef70ed24","after":"37d34af265de3f2efe81be312544f33abeab0a78","ref":"refs/heads/resched-block","pushedAt":"2023-06-10T10:11:06.820Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Properly handle page fault rescheduling","shortMessageHtmlLink":"Properly handle page fault rescheduling"}},{"before":"ea94a6e1fd5f7626a8d46f4296c6a80a5beb697f","after":"f7aa0264d6b2775cc600d3211f8d6355ef70ed24","ref":"refs/heads/resched-block","pushedAt":"2023-06-10T09:40:39.759Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Make per-cpu data `Sync`\n\nThis is required now that per-cpu access requires only preemption to be\ndisabled, and not interrups as a whole, which means that per-cpu\naccesses can potentially be reentrant.","shortMessageHtmlLink":"Make per-cpu data Sync"}},{"before":null,"after":"ea94a6e1fd5f7626a8d46f4296c6a80a5beb697f","ref":"refs/heads/resched-block","pushedAt":"2023-06-09T13:32:32.116Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Add basic support for blocking reschedules\n\nThere may be some soundness/deadlock issues with allowing access to\nper-CPU data whenever rescheduling is disabled if the data will also be\naccessed in interrupts. This will probably need to be reworked later.","shortMessageHtmlLink":"Add basic support for blocking reschedules"}},{"before":"cdacc182114d5af586d352e5be60defb3f4d68fe","after":"e57867725efcea12090f96d8eee0f6be69256851","ref":"refs/heads/master","pushedAt":"2023-06-03T10:33:43.114Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Make kernel more tolerant of bad bootinfo","shortMessageHtmlLink":"Make kernel more tolerant of bad bootinfo"}},{"before":"dd4a9dfe87dbed0cd65d1d42ca2ce5f7ab9028b3","after":"cdacc182114d5af586d352e5be60defb3f4d68fe","ref":"refs/heads/master","pushedAt":"2023-06-01T20:06:54.444Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Remove unused import","shortMessageHtmlLink":"Remove unused import"}},{"before":"b00e0a31a29a33a1ba55dbbea14d51bfd9695797","after":"dd4a9dfe87dbed0cd65d1d42ca2ce5f7ab9028b3","ref":"refs/heads/master","pushedAt":"2023-05-30T18:18:04.670Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Extract CPU idle loop into `arch` module","shortMessageHtmlLink":"Extract CPU idle loop into arch module"}},{"before":"0ff7a7f3920c8da8b55745bfcf700136c002e599","after":"b00e0a31a29a33a1ba55dbbea14d51bfd9695797","ref":"refs/heads/master","pushedAt":"2023-05-30T18:13:22.289Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Move stack overflow test into dedicated argument","shortMessageHtmlLink":"Move stack overflow test into dedicated argument"}},{"before":"3ce84fecdf3a324f573339765dd63caf7446d2c4","after":"0ff7a7f3920c8da8b55745bfcf700136c002e599","ref":"refs/heads/master","pushedAt":"2023-05-30T17:46:53.065Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Check thread stacks before context switching","shortMessageHtmlLink":"Check thread stacks before context switching"}},{"before":"86a02a757bc3efc4ca940a2de249e0c5fbc79021","after":"3ce84fecdf3a324f573339765dd63caf7446d2c4","ref":"refs/heads/master","pushedAt":"2023-05-29T19:34:17.802Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Detect and report kernel stack overflows","shortMessageHtmlLink":"Detect and report kernel stack overflows"}},{"before":"ae1e6b8656ab87e27bb0bbf06a2edc63428f0ab0","after":"86a02a757bc3efc4ca940a2de249e0c5fbc79021","ref":"refs/heads/master","pushedAt":"2023-05-29T17:34:13.616Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Fix TSS descriptor creation","shortMessageHtmlLink":"Fix TSS descriptor creation"}},{"before":"75a563e6f361a6b2a130002c532d4cd808b181a6","after":"ae1e6b8656ab87e27bb0bbf06a2edc63428f0ab0","ref":"refs/heads/master","pushedAt":"2023-05-27T19:49:16.532Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Implement basic idle thread behavior","shortMessageHtmlLink":"Implement basic idle thread behavior"}},{"before":"7d45662cc5adcda53646aeaac84f6f62f976e4c7","after":"75a563e6f361a6b2a130002c532d4cd808b181a6","ref":"refs/heads/master","pushedAt":"2023-05-27T15:15:28.623Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Coalesce contiguous ranges when committing memory","shortMessageHtmlLink":"Coalesce contiguous ranges when committing memory"}},{"before":"1366af56a20c2d466def74d10cb330519154e43d","after":"7d45662cc5adcda53646aeaac84f6f62f976e4c7","ref":"refs/heads/master","pushedAt":"2023-05-27T13:49:41.266Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Add more traces to memory manager operations","shortMessageHtmlLink":"Add more traces to memory manager operations"}},{"before":"e727ee94c1a8f42e46b7d2374e777efffada8369","after":"1366af56a20c2d466def74d10cb330519154e43d","ref":"refs/heads/master","pushedAt":"2023-05-25T17:16:23.111Z","pushType":"push","commitsCount":2,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Add implied lifetime indicator","shortMessageHtmlLink":"Add implied lifetime indicator"}},{"before":"2f5e32a0b063479f279cc2ee4719531c414986d0","after":"e727ee94c1a8f42e46b7d2374e777efffada8369","ref":"refs/heads/master","pushedAt":"2023-05-15T10:22:35.631Z","pushType":"push","commitsCount":1,"pusher":{"login":"nmraz","name":"Noam Raz","path":"/nmraz","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/10490959?s=80&v=4"},"commit":{"message":"Enable colored diagnostics for rust-analyzer\n\nInstructing cargo to emit diagnostics in the format\n`json-diagnostic-rendered-ansi` enables rust-analyzer to display the\ncolored diagnostic when clicking \"full compiler diagnostic\".","shortMessageHtmlLink":"Enable colored diagnostics for rust-analyzer"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0xOFQxNDowNDozNS4wMDAwMDBazwAAAAOyQbi4","startCursor":"Y3Vyc29yOnYyOpK7MjAyMy0xMS0xOFQxNDowNDozNS4wMDAwMDBazwAAAAOyQbi4","endCursor":"Y3Vyc29yOnYyOpK7MjAyMy0wNS0xNVQxMDoyMjozNS42MzExNTNazwAAAAMsz8lL"}},"title":"Activity ยท nmraz/corrosios"}