{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":160083795,"defaultBranch":"master","name":"serenity","ownerLogin":"SerenityOS","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2018-12-02T19:28:41.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/50811782?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1725846069.0","currentOid":""},"activityList":{"items":[{"before":"2fd4dc10346514b15cef4688c999da83aad8ff90","after":"f72c924411e51294227fc04b03be84f8c88042c6","ref":"refs/heads/master","pushedAt":"2024-09-18T13:42:27.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibGfx/TIFF: Don't use uninitialized cache values\n\nThis patch fixes oss-fuzz issue 67476. The problem was a programming\nerror as we were using one of the cache variable before filling the\ncache. The call to `samples_for_photometric_interpretation()` in\n`ensure_baseline_tags_are_correct()` was always returning 1,\nindependently of the image.\n\nhttps://bugs.chromium.org/p/oss-fuzz/issues/detail?id=67476","shortMessageHtmlLink":"LibGfx/TIFF: Don't use uninitialized cache values"}},{"before":"66bdb3bf4331a3e7cc736d3c557b4da5f31a8a6c","after":"2fd4dc10346514b15cef4688c999da83aad8ff90","ref":"refs/heads/master","pushedAt":"2024-09-18T12:06:23.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibGfx/JPEG: Make sure sampling factors are in the allowed range\n\nAs written in the spec (B.2.2 Frame header syntax), only values between\n0 and 4 are allowed.\n\nThis fixes oss-fuzz issue 68784:\nhttps://bugs.chromium.org/p/oss-fuzz/issues/detail?id=68784","shortMessageHtmlLink":"LibGfx/JPEG: Make sure sampling factors are in the allowed range"}},{"before":"da2c80ef47c235b63b343bf5d5017ae6ee2965dc","after":"66bdb3bf4331a3e7cc736d3c557b4da5f31a8a6c","ref":"refs/heads/master","pushedAt":"2024-09-18T10:34:20.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibGfx: Respect order of image data in TGAImageDecoderPlugin\n\nPreviously, the order of data was incorrectly based on x_origin and\ny_origin, which are meant for where on the screen the image should be\nplaced (TarGA is an image format meant for graphic cards), instead of\nImage descriptor bits 4 and 5, which specify the direction.\n\nThis fixes a problem where tga files generated with magick would render\nup-side-down.\n\nThe test images where created in GIMP, 4 simple 2x2 images\nexported as .tga, no compression, origin: Bottom Left\n\nsquare-bottom-left.tga:\nRed, Green\nBlue, Magenta\n\nsquare-bottom-right.tga:\nGreen, Red\nMagenta, Blue\n\nsquare-top-left.tga:\nBlue, Magenta\nRed, Green\n\nsquare-top-right.tga:\nMagenta, Blue\nGreen, Red\n\nthen this script was ran:\n```python\ndef update_tga_descriptor(file_path, top_to_bottom, left_to_right):\n with open(file_path, 'r+b') as f:\n header = f.read(18)\n descriptor = header[17]\n\n descriptor &= ~(1 << 4);\n descriptor &= ~(1 << 5);\n\n if left_to_right:\n descriptor |= 1 << 4;\n\n if top_to_bottom:\n descriptor |= 1 << 5;\n\n header = header[:17] + bytes([descriptor])\n f.seek(0)\n f.write(header)\n\nupdate_tga_descriptor('square-bottom-left.tga', False, False)\nupdate_tga_descriptor('square-bottom-right.tga', False, True)\nupdate_tga_descriptor('square-top-left.tga', True, False)\nupdate_tga_descriptor('square-top-right.tga', True, True)\n```","shortMessageHtmlLink":"LibGfx: Respect order of image data in TGAImageDecoderPlugin"}},{"before":"a3077203fe64e39b4f7ae39dfb35a517342df462","after":"da2c80ef47c235b63b343bf5d5017ae6ee2965dc","ref":"refs/heads/master","pushedAt":"2024-09-18T03:32:51.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"image: Guess mime type based on file extension\n\nWithout this, image formats that can't sniff data can't be read\nby `image`.\n\nThe only such format we currently have is TGA, so this effectively\nallows `image` to read tga files.","shortMessageHtmlLink":"image: Guess mime type based on file extension"}},{"before":"b61e67012264576da4d825c6d8f0d6930d127d08","after":"a3077203fe64e39b4f7ae39dfb35a517342df462","ref":"refs/heads/master","pushedAt":"2024-09-14T11:30:27.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"AK: Don't implicitly convert Optional to Optional\n\nC++ will jovially select the implicit conversion operator, even if it's\ncomplete bogus, such as for unknown-size types or non-destructible\ntypes. Therefore, all such conversions (which incur a copy) must\n(unfortunately) be explicit so that non-copyable types continue to work.","shortMessageHtmlLink":"AK: Don't implicitly convert Optional<T&> to Optional<T>"}},{"before":"d933e0748922fa9d05e84ef0452121ab1cc2603a","after":"b61e67012264576da4d825c6d8f0d6930d127d08","ref":"refs/heads/master","pushedAt":"2024-09-14T11:20:48.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"LibCompress: Speed up CanonicalCode::read_symbol() slow path\n\nSymbols that need <= 8 bits hit a fast path as of #18075, but\nthe slow path has done a full binary search over all symbols\never since this code was added in #2963. (#3405 even added a FIXME\nfor doing this, but #18075 removed it.)\n\nInstead of doing a binary search over all codes for every single\nbit read, this implements the Moffat-Turpin approach described at\nhttps://www.hanshq.net/zip.html#huffdec, which only requires a\ntable read per bit.\n\n hyperfine 'Build/lagom/bin/unzip ~/Downloads/enwik8.zip'\n 1.008 s ± 0.016 s => 957.7 ms ± 3.9 ms, 5% faster\n\nDue to issue #25005, we can't peek the full 15 bits at once but\nhave to read them one-by-one. This makes the code look a bit\ndifferent than in the linked article.\n\nI also tried not changing CanonicalCode::from_bytes() too much.\nIt does 15 passes over all symbols. I think it could do it in\na single pass instead. But that's for a future change.\n\nNo behavior change (other than slightly faster perf).","shortMessageHtmlLink":"LibCompress: Speed up CanonicalCode::read_symbol() slow path"}},{"before":"fe8a64d3a86fc0e0339dba47361f205badc5f2ec","after":"d933e0748922fa9d05e84ef0452121ab1cc2603a","ref":"refs/heads/master","pushedAt":"2024-09-14T10:58:56.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"LibCpp: Add 4 new types\n\nAdds the following: ByteString, IPv6Address, Position, Token","shortMessageHtmlLink":"LibCpp: Add 4 new types"}},{"before":"6fea053334947a0799a34090301a606a860e5bc7","after":"fe8a64d3a86fc0e0339dba47361f205badc5f2ec","ref":"refs/heads/master","pushedAt":"2024-09-13T17:44:29.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibGfx: Remove draw_signed_distance_field() in Gfx::Painter\n\nNo longer used since we switched to vector paths for checkbox rendering.\n\n(cherry picked from commit 57c735dec4a22f425fbccde7d5be147b8cd8ab3f)","shortMessageHtmlLink":"LibGfx: Remove draw_signed_distance_field() in Gfx::Painter"}},{"before":"f7227550a7b8d1d6e315289819adcb50fafe5512","after":"6fea053334947a0799a34090301a606a860e5bc7","ref":"refs/heads/master","pushedAt":"2024-09-13T16:56:40.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibWeb+LibGfx: Replace usage of Gfx::PaintStyle in fill{stoke}_commands\n\n...with a struct defined in LibWeb. This is a step towards uncoupling\nLibWeb from LibGfx, so we can try third-party libraries for painting.\n\n(cherry picked from commit 7a04a95c8a80ac115298b4107aed37f157133fe8)","shortMessageHtmlLink":"LibWeb+LibGfx: Replace usage of Gfx::PaintStyle in fill{stoke}_commands"}},{"before":"0ff61064fdaf33d05787990d32184257c197df28","after":"f7227550a7b8d1d6e315289819adcb50fafe5512","ref":"refs/heads/master","pushedAt":"2024-09-13T15:11:24.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibWeb+WebContent: Move PageClient::paint() into TraversableNavigable\n\nThis way we leak less LibWeb implementation details into WebContent.\n\n(cherry picked from commit cbd566a3543d5ad50db3b68890ff23f76ca3b4bd)\n\nPatched to fix build on SerenityOS\n\nCo-authored-by: circl ","shortMessageHtmlLink":"LibWeb+WebContent: Move PageClient::paint() into TraversableNavigable"}},{"before":"3abaf9f3f86cf116ef6e00771ea7ed0d695b5e09","after":"0ff61064fdaf33d05787990d32184257c197df28","ref":"refs/heads/master","pushedAt":"2024-09-13T15:10:33.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibWeb: Implement rejection by bounding box for PaintInnerBoxShadow\n\nBefore this change we were painting inner shadows lying outside of\nviewport.\n\nImproves painting performance on Github and Twitter where this command\nis used a lot.\n\n(cherry picked from commit 9be5867eb2f52c05a34024771ddffb6b981c878f)","shortMessageHtmlLink":"LibWeb: Implement rejection by bounding box for PaintInnerBoxShadow"}},{"before":"269018a26f3c0869059f56ddc5edb60b747ba41c","after":"3abaf9f3f86cf116ef6e00771ea7ed0d695b5e09","ref":"refs/heads/master","pushedAt":"2024-09-12T19:57:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Kernel/Net: Remove obsolete diagnostic trick","shortMessageHtmlLink":"Kernel/Net: Remove obsolete diagnostic trick"}},{"before":"a8a509ab10b6c4e2f51be01ed517f542fb3fd562","after":"269018a26f3c0869059f56ddc5edb60b747ba41c","ref":"refs/heads/master","pushedAt":"2024-09-12T19:56:40.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibWeb: Ensure anchor node is not null when extending selection\n\nPreviously, clicking while holding shift without having previously made\nany text selection would cause a crash.\n\n(cherry picked from commit c79041344d7f9957bf810cd4db5330d8006ef0e3)","shortMessageHtmlLink":"LibWeb: Ensure anchor node is not null when extending selection"}},{"before":"76bd6115cb1117f469635d6adba78c7dd05978be","after":"a8a509ab10b6c4e2f51be01ed517f542fb3fd562","ref":"refs/heads/master","pushedAt":"2024-09-12T19:56:13.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibWeb: Use ints instead of DevicePixels in PaintOuterBoxShadowParams\n\nDevicePixels concept should not leak from painting recording phase.\n\n(cherry picked from commit 22bb476b6fe078e34a9dbf50800c521e909929ea)","shortMessageHtmlLink":"LibWeb: Use ints instead of DevicePixels in PaintOuterBoxShadowParams"}},{"before":"b41365d11dcbc1a55e32af6b0553fd561d10d8a3","after":"76bd6115cb1117f469635d6adba78c7dd05978be","ref":"refs/heads/master","pushedAt":"2024-09-11T16:47:13.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"CI: Don't build AArch64 QEMU in CI\n\nWe now get the command line from the flattened devicetree, so manually\nbuilding a newer QEMU version to make the RPi \"Get command line\" mailbox\nmessage work is not necessary anymore.","shortMessageHtmlLink":"CI: Don't build AArch64 QEMU in CI"}},{"before":"ba9875c56f2b87d0e36982ba29dd8609b2b1cc82","after":"b41365d11dcbc1a55e32af6b0553fd561d10d8a3","ref":"refs/heads/master","pushedAt":"2024-09-11T16:45:56.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Tests/Kernel: Add some more EFAULT tests","shortMessageHtmlLink":"Tests/Kernel: Add some more EFAULT tests"}},{"before":"32720f3a2df899bebd73dcc529092592e408d7ee","after":"ba9875c56f2b87d0e36982ba29dd8609b2b1cc82","ref":"refs/heads/master","pushedAt":"2024-09-10T01:18:38.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibGfx/JPEGXL: Add support for decoding embedded ICC profiles\n\nThe test case was generated by opening `modular_property_8.jxl` in\nKrita, then changing the Color Profile to Apple RGB and then exporting\nas PNG. Finally, the conversion to JPEGXL was made with:\n`cjxl --container=0 --modular=1 -d 0 -e 9 file.png icc.jxl`\n\nNote that, we can't use Krita to export a jxl as it always create a\ncontainer instead of a raw stream. Also, this needs an old version of\n`cjxl` (I used 0.7), as more recent version reencode the ICC profile\nusing the JPEGXL's internal representation for color profile, which is\nencoded differently.","shortMessageHtmlLink":"LibGfx/JPEGXL: Add support for decoding embedded ICC profiles"}},{"before":"36b7cac60548d604040cf117acc371b842cdaa7e","after":"32720f3a2df899bebd73dcc529092592e408d7ee","ref":"refs/heads/master","pushedAt":"2024-09-09T21:25:08.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Userland: Use read_until_eof() more\n\nNo intended behavior change.","shortMessageHtmlLink":"Userland: Use read_until_eof() more"}},{"before":null,"after":"3ba9bc5ad62438de3a546ed3f77b351dc1244823","ref":"refs/heads/dependabot/github_actions/JamesIves/github-pages-deploy-action-4.6.4","pushedAt":"2024-09-09T01:41:09.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"dependabot[bot]","name":null,"path":"/apps/dependabot","primaryAvatarUrl":"https://avatars.githubusercontent.com/in/29110?s=80&v=4"},"commit":{"message":"CI: Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4\n\nBumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.6.3 to 4.6.4.\n- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)\n- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.6.3...v4.6.4)\n\n---\nupdated-dependencies:\n- dependency-name: JamesIves/github-pages-deploy-action\n dependency-type: direct:production\n update-type: version-update:semver-patch\n...\n\nSigned-off-by: dependabot[bot] ","shortMessageHtmlLink":"CI: Bump JamesIves/github-pages-deploy-action from 4.6.3 to 4.6.4"}},{"before":"37424ade04ba438670239502ee9f6712214db945","after":"36b7cac60548d604040cf117acc371b842cdaa7e","ref":"refs/heads/master","pushedAt":"2024-09-08T22:27:55.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"SystemMonitor: Display IPv6 addresses on adapters","shortMessageHtmlLink":"SystemMonitor: Display IPv6 addresses on adapters"}},{"before":"1d83f73ec5ccce3337b065fbb2e156c9604feb0d","after":"37424ade04ba438670239502ee9f6712214db945","ref":"refs/heads/master","pushedAt":"2024-09-08T18:19:57.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Kernel/riscv64: Fix typo in naming of Devicetree","shortMessageHtmlLink":"Kernel/riscv64: Fix typo in naming of Devicetree"}},{"before":"b72136cad57bd0d8d2444835e15bf849ec52fdd8","after":"1d83f73ec5ccce3337b065fbb2e156c9604feb0d","ref":"refs/heads/master","pushedAt":"2024-09-07T16:52:52.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Kernel/PCI: Stop using a dangling pointer in dmesgln_pci\n\nVariadicFormatParams only stores pointers to the parameters, so\nthe device.device_name() parameter will dangle.\n\nThis fixes broken dmesgln_pci output on riscv64 GCC.","shortMessageHtmlLink":"Kernel/PCI: Stop using a dangling pointer in dmesgln_pci"}},{"before":"b628ab0ae32749277317257d65f5f277f3c798f2","after":"b72136cad57bd0d8d2444835e15bf849ec52fdd8","ref":"refs/heads/master","pushedAt":"2024-09-06T22:09:29.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"LibCompress: Remove needless check\n\nI added this check in #18216 in commit 6d388249851e71.\n\nBack then, I mentioned that `m_bit_codes` is only used for writing,\nbut only added reading support. `CanonicalCode::from_bytes()` sets\nup both tables for reading and writing, so I needed the construction\nof the writing tables to not crash. This check in\n`CanonicalCode::write_symbol()` was dead code back then though.\n\nLater, #24700 added support for writing WebP files, and it can create\ncanonical codes with more than 288 symbols. This works just fine, is\nnow under test, and this check in `write_symbol()` isn't needed\n(and never was). So remove it again.\n\nNo behavior change.\n\n(I saw this in the profiler once, so maybe a tiny speedup for\nwriting deflate-compressed data, but on the order of < 2%.)","shortMessageHtmlLink":"LibCompress: Remove needless check"}},{"before":"3e7eb30466816b56932e40df9ca8b5f90a9d7767","after":"b628ab0ae32749277317257d65f5f277f3c798f2","ref":"refs/heads/master","pushedAt":"2024-09-06T20:02:08.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Kernel/riscv64: Add comment about the bss to the linker script","shortMessageHtmlLink":"Kernel/riscv64: Add comment about the bss to the linker script"}},{"before":"0482f4e1170010dccec1726ee5222a062f4b3262","after":"3e7eb30466816b56932e40df9ca8b5f90a9d7767","ref":"refs/heads/master","pushedAt":"2024-09-05T14:36:12.000Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Utilities/du: Add an option to print the total size in the end\n\nThis is useful when using du on many files and wanting to get a total\nsize count in the end after iterating on all the directories and files.","shortMessageHtmlLink":"Utilities/du: Add an option to print the total size in the end"}},{"before":"fdf3e0aca17918bca3716bf05568d1840258f2ac","after":"0482f4e1170010dccec1726ee5222a062f4b3262","ref":"refs/heads/master","pushedAt":"2024-09-01T19:00:18.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Kernel: Remove passing of register state to IRQ handlers\n\nLinux did the same thing 18 years ago and their reasons for the change\nare similar to ours - https://github.com/torvalds/linux/commit/7d12e78\n\nMost interrupt handlers (i.e. IRQ handlers) never used the register\nstate reference anywhere so there's simply no need of passing it around.\nI didn't measure the performance boost but surely this change can't make\nthings worse anyway.","shortMessageHtmlLink":"Kernel: Remove passing of register state to IRQ handlers"}},{"before":"f5cfee08d7f3c176fb3bf857462454be43358431","after":"fdf3e0aca17918bca3716bf05568d1840258f2ac","ref":"refs/heads/master","pushedAt":"2024-09-01T18:52:55.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"timschumi","name":"Tim Schumacher","path":"/timschumi","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16820960?s=80&v=4"},"commit":{"message":"Kernel: Don't assume sizes of needed buffers early in the execve syscall\n\nInstead, start by trying to read a buffer with size of Elf_Ehdr, and\ncheck it for the shebang sign. If it's indeed an executable with shebang\nthen read again from the file, now with PAGE_SIZE size, which should\nsuffice for finding the interpreter path.\n\nHowever, if the executable is an ELF, we quickly validate it and then\npass the preliminary buffer to the find_elf_interpreter_for_executable\nmethod.\n\nThat method calculates the last byte offset which is needed to read all\nof the program headers, so we don't just assume 4096 bytes is sufficient\nanymore. The same pattern is applied when loading the interpreter ELF\nmain header and its program headers.","shortMessageHtmlLink":"Kernel: Don't assume sizes of needed buffers early in the execve syscall"}},{"before":"44a2157e2ea6a7e397d6512cca36610b21290f9b","after":"f5cfee08d7f3c176fb3bf857462454be43358431","ref":"refs/heads/master","pushedAt":"2024-08-31T23:26:21.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Ports/devilutionX: Update to version 1.5.3","shortMessageHtmlLink":"Ports/devilutionX: Update to version 1.5.3"}},{"before":"500ff2a7ed69b9b22f9915881409314afd274b8e","after":"44a2157e2ea6a7e397d6512cca36610b21290f9b","ref":"refs/heads/master","pushedAt":"2024-08-30T20:22:13.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"nico","name":"Nico Weber","path":"/nico","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/3487?s=80&v=4"},"commit":{"message":"Kernel/Ext2FS: Reduce allocations in compute_block_list_impl()\n\nIn Ext2FSInode::compute_block_list_impl(), each call to\nprocess_block_array() creates a new ByteBuffer, which leads to a\nkmalloc() call. The ByteBuffer is then discarded when\nprocess_block_array() exits, leading to a kfree() call.\n\nThis leads to repeated kmalloc() and kfree() calls as ByteBuffers are\ncreated and destroyed each time process_block_array() is called.\n\nThis commit makes it so that only 1 ByteBuffer is created for each level\nof inode indirect block (so only 3 ByteBuffers are created at most).\nThese ByteBuffers are re-used on each call to process_block_array().\n\nThis reduces the number of kmalloc() and kfree() calls during\ncompute_block_list_impl(), especially for larger files.","shortMessageHtmlLink":"Kernel/Ext2FS: Reduce allocations in compute_block_list_impl()"}},{"before":"a9a63c0f7cdfd712822d2736cabf33f7b21d2ea7","after":"500ff2a7ed69b9b22f9915881409314afd274b8e","ref":"refs/heads/master","pushedAt":"2024-08-29T11:28:42.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"alimpfard","name":"Ali Mohammad Pur","path":"/alimpfard","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/14001776?s=80&v=4"},"commit":{"message":"AK: Declare AK::Coroutine::CoroutinePromiseBase::unhandled_exception\n\nFor some reason, Clang wants AK to work with exceptions enabled so much\nthat it produces a very annoying warning complaining about the absence\nof (completely useless in our setup) unhandled_exception method in\npromise type for every coroutine declared. We work around this during\nbuild by suppressing -Wcoroutine-missing-unhandled-exception in\nMeta/CMake/common_compile_options.cmake. However, the flag is only added\nif build is using Clang. If one builds coroutine code with GCC but still\nuses clangd, clangd, obviously, doesn't pick up warning suppression and\nannoys user with a squiggly yellow line under each coroutine function\ndeclaration.","shortMessageHtmlLink":"AK: Declare AK::Coroutine<T>::CoroutinePromiseBase::unhandled_exception"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxMzo0MjoyNy4wMDAwMDBazwAAAAS5vbzT","startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOS0xOFQxMzo0MjoyNy4wMDAwMDBazwAAAAS5vbzT","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wOC0yOVQxMToyODo0Mi4wMDAwMDBazwAAAASnh5yV"}},"title":"Activity · SerenityOS/serenity"}