Age | Commit message (Collapse) | Author | |
---|---|---|---|
2021-03-11 | Userland: Remove superfluous headers | Ben Wiederhake | |
Userland has no reason to access 'kmalloc'. | |||
2021-03-11 | xargs: Fix boring memory leak | Ben Wiederhake | |
It's only 1K (BUFSIZ), and it's immediately before xargs finishes anyway. However, I ran into it and know how to fix it, so let's clean this up. | |||
2021-03-11 | UserspaceEmulator: Handle MAP_FIXED with invalid addresses better | Ben Wiederhake | |
Old behavior: Crash due to VERIFY, unless we're completely and entirely out of memory (m_available_ranges being empty), in which case it would return -ENOMEM. New behavior: Return ENOMEM (and don't crash). In the case of nullptr, also emit a helpful diagnostic. Note that MAP_FIXED with nullptr is technically okay, but tends to be a sign that something went wrong. Also, this should improve mmap performance marginally, as it pulls the check out of a loop that does not modify any parts of the check. UE is now self-hosting! Fixes #5709. However, this still needs some love: "ue UserspaceEmulator true" spits out tons of error messages, probably false-positives, and takes about 229 seconds to run. Then again, true-in-ue-in-ue-in-Qemu is three levels of emulation, so no wonder it takes a long time! :D | |||
2021-03-11 | UserspaceEmulator: Do not pass MAP_FIXED to Kernel | Ben Wiederhake | |
Since there is usually no correlation between guest memory-layout and UE memory-layout, this option does not make any sense. Especially since we provide nullptr. | |||
2021-03-11 | UserspaceEmulator: Implement set_process_name syscall | Ben Wiederhake | |
2021-03-11 | UserspaceEmulator: Split large file into logical pieces | Ben Wiederhake | |
2021-03-11 | LibWeb: Remove FIXME in is_javascript_mime_type_essence_match | Luke | |
This was misleading. The spec just wants us to check a string matches a string in the JavaScript MIME type essence list. It doesn't want us to parse the string as a MIME type to then use its essence for the check. Renames "mime_type" to "string" to make this less misleading. | |||
2021-03-11 | Meta: Add gdb command to serenity.sh | Tom | |
This uses tmux for a split screen setup, which makes it easy do debug the kernel while viewing the QEMU output in the same terminal. | |||
2021-03-10 | Kernel: Move process pledge promises into protected data | Andreas Kling | |
2021-03-10 | Kernel: Move process "dumpable" flag into protected data | Andreas Kling | |
2021-03-10 | Kernel: Move process parent PID into protected data :^) | Andreas Kling | |
2021-03-10 | Kernel: Move process extra_gids into protected data :^) | Andreas Kling | |
2021-03-10 | Kernel: Move select Process members into protected memory | Andreas Kling | |
Process member variable like m_euid are very valuable targets for kernel exploits and until now they have been writable at all times. This patch moves m_euid along with a whole bunch of other members into a new Process::ProtectedData struct. This struct is remapped as read-only memory whenever we don't need to write to it. This means that a kernel write primitive is no longer enough to overwrite a process's effective UID, you must first unprotect the protected data where the UID is stored. :^) | |||
2021-03-10 | Kernel: Add non-const KBuffer::impl() getter | Andreas Kling | |
2021-03-10 | fuzz-syscalls: Mark sys$emuctl() as someone who returns ENOSYS | Andreas Kling | |
This syscall is only relevant inside UserspaceEmulator and the kernel will just return ENOSYS for it. | |||
2021-03-10 | Kernel: Build with -Wvla | Andreas Kling | |
Now that all use of VLA's (variable-length arrays) has been purged from the kernel, let's make sure we don't reintroduce them. | |||
2021-03-10 | Kernel: Remove VLA usage in Ext2FS block traversal code | Andreas Kling | |
This was using up to 12KB of kernel stack in the triply indirect case and looks generally spooky. Let's just allocate a ByteBuffer for now and take the performance hit (of heap allocation). Longer term we can reorganize the code to reduce the majority of the heap churn. | |||
2021-03-10 | Kernel: Turn a VLA into a statically-sized array in dump_backtrace() | Andreas Kling | |
2021-03-10 | UserspaceEmulator: Remove debug spam about tracked malloc blocks | Andreas Kling | |
2021-03-10 | Documentation: Add Serenity installation guide for VMware | Brendan Coles | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in TCPSocket | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in MemoryManager | Andreas Kling | |
2021-03-09 | Kernel: Use dbgln_if() and PANIC() in Thread.cpp | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in IPv4Socket | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in PageDirectory | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in E1000NetworkAdapter | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in init() | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in ARP/routing code | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() to dmesgln() in Region | Andreas Kling | |
2021-03-09 | AK: Add Formatter for RefPtr | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in AnonymousVMObject | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in HPET | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in KernelRng | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in VMWareBackdoor | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in PS2MouseDevice | Andreas Kling | |
2021-03-09 | Kernel: Remove some unused things in kmalloc.cpp | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in kmalloc | Andreas Kling | |
2021-03-09 | Kernel: Convert klog() => dmesgln() in filesystem code | Andreas Kling | |
2021-03-09 | Kernel: Remove ancient FIFO_DEBUG code | Andreas Kling | |
2021-03-09 | Utilities: Add a quotes database and 'fortunes' program | Ben Wiederhake | |
I told you, we need a quotes ~~page~~ file! :D | |||
2021-03-09 | LibWeb: Run clang-format on CSS/Parser/StyleComponentValueRule.h | Andreas Kling | |
2021-03-09 | LibWeb: Run clang-format on CSS/Parser/Token.h | Andreas Kling | |
2021-03-09 | LibX86: Don't use "if (foo) [[unlikely]] { }" for now (to please clang) | Andreas Kling | |
2021-03-09 | LibWeb: Add a whole bunch of rule classes for the new CSS parser | Andreas Kling | |
Original work by @stelar7. | |||
2021-03-09 | LibWeb: Rename CSSParser => DeprecatedCSSParser | Andreas Kling | |
2021-03-09 | LibWeb: Add specification-based CSS tokenizer | Andreas Kling | |
Original work by @stelar7 for #2628. | |||
2021-03-09 | UserspaceEmulator: Add fast-path for is<MmapRegion>() | Andreas Kling | |
Don't use default RTTI for these since they are performance-sensitive. | |||
2021-03-09 | UserspaceEmulator+LibX86: Sprinkle some [[unlikely]] and ALWAYS_INLINE | Andreas Kling | |
2021-03-09 | Emulator: Use libc.so bounds to fast-reject non-malloc addresses | Andreas Kling | |
The auditing code always starts by checking if we're in one of the ignored code ranges (malloc, free, realloc, syscall, etc.) To reduce the number of checks needed, we can cache the bounds of the LibC text segment. This allows us to fast-reject addresses that cannot possibly be a LibC function. | |||
2021-03-09 | UserspaceEmulator: Support FLDL2E / FLDPI, fix typos, use M_LN2 constant | Brendan Coles | |