Age | Commit message (Collapse) | Author | |
---|---|---|---|
2020-08-11 | LibC: Make sure assert() expands to *something* in non-DEBUG builds | Andreas Kling | |
Sometimes people write strange things like "assert(x), something();" and this will not work if "assert(x)" expands to "". So make it expand to ((void)0) instead. | |||
2020-08-11 | Kernel: Forward declare struct stat in the syscall API header | Andreas Kling | |
2020-08-11 | LibC: Move stat(), lstat() and fstat() to <sys/stat.h> | Andreas Kling | |
Dr. POSIX says that's where they belong. | |||
2020-08-11 | mv: Accept (but ignore) -f | Andreas Kling | |
Many scripts seem to use "mv -f", so let's support that. | |||
2020-08-11 | rm: Implement a basic -f mode | Andreas Kling | |
2020-08-11 | LibELF: Remove unused cruft in ELF::Loader | Andreas Kling | |
2020-08-11 | Crypto: Make AES call malloc much less often | Nico Weber | |
ByteBuffer::slice_view() allocates a new ByteBuffer object, which as a RefPtr and everything. Nowadays it should probably return a Bytes / Span<u8>, but AES was only using slice_view() to extract the pointer again. So just add ady a range check at the top, and do pointer arithmetic to do the same thing faster. Reduces time to run `disasm /bin/id` by a bit under 40%, from ~8.3s to ~5s (min-of-3 runs). | |||
2020-08-11 | TextEditor: Show pageview URLs in statusbar on hover | Linus Groh | |
2020-08-11 | TextEditor: Open links from Web::PageView using Desktop::Launcher | Linus Groh | |
So far, clicking on a link from the Markdown/HTML preview Web::PageView did nothing - now we pass that link to Desktop::Launcher, which will then open it in Browser, FileManager, another TextEditor instance etc. | |||
2020-08-11 | Kernel: Always return from Thread::wait_on | Tom | |
We need to always return from Thread::wait_on, even when a thread is being killed. This is necessary so that the kernel call stack can clean up and release references held by it. Then, right before transitioning back to user mode, we check if the thread is supposed to die, and at that point change the thread state to Dying to prevent further scheduling of this thread. This addresses some possible resource leaks similar to #3073 | |||
2020-08-11 | Meta: Fix typo in NotesOnWSL.md (#3086) | Andrew Mbugua | |
2020-08-11 | LibELF: Set ELF::Loader::m_symbol_count in constructor | Andreas Kling | |
Setting it in load() excludes users of ELF::Loader that don't actually call load() but only use the Loader for symbolication purposes. Perhaps the factoring here is not ideal. | |||
2020-08-10 | Help: Spruce up the UI with some tasteful layout margins | Andreas Kling | |
2020-08-10 | LibGfx: Correct copyright years for {Classic,}WindowTheme.{cpp,h} | Andreas Kling | |
2020-08-10 | Userland: Add a simple dirname(1) utility | Andreas Kling | |
2020-08-10 | WindowServer: Limit maximizing windows to top window in modal stack | Tom | |
When maximizing a window that is blocked by a modal window, only maximize the top window in the stack. However, if the stack is minimized, restore all of them in addition. Fixes #3074 | |||
2020-08-10 | Shell: Fix fd leak with pipes | Nico Weber | |
Fixes the problem reported in #3073. While trying to write a test for this, I thought I'd use Shell -c 'for i in $(seq 100) { echo $i }' | head -n 1 but that makes the cpu spin at 100% and doesn't terminate even with this fix here. But at least piping disasm into head now works. | |||
2020-08-10 | Shell: Cancel a running for loop upon receiving any non-SIGINT signal | AnotherTest | |
And keep the old behaviour of needing two interruptions on SIGINT. | |||
2020-08-10 | FileManager: Make the desktop process show as "FileManager (Desktop)" | Andreas Kling | |
2020-08-10 | Kernel: Include the 128 byte slab allocator in for_each_allocator | Tom | |
2020-08-10 | Kernel: Invoke heap constructors separately early on | Tom | |
By having a separate list of constructors for the kernel heap code, we can properly use constructors without re-running them after the heap was already initialized. This solves some problems where values were wiped out because they were overwritten by running their constructors later in the initialization process. | |||
2020-08-10 | LibCore: remove redundant UDPSocket constructor | Muhammad Zahalqa | |
The comment claims it is for use from UDPServer::accept Which is not a real function. | |||
2020-08-10 | LibCore: update m_bound on socket bind | Muhammad Zahalqa | |
2020-08-10 | Lagom+LibELF: Add an ELF fuzzer, and tweak the code to survive a few minutes ↵ | Nico Weber | |
of fuzzing (#3071) If a buffer smaller than Elf32_Ehdr was passed to Image, header() would do an out-of-bounds read. Make parse() check for that. Make most Image methods assert that the image is_valid(). For that to work, set m_valid early in Image::parse() instead of only at its end. Also reorder a few things so that the fuzzer doesn't hit (valid) assertions, which were harmless from a security PoV but which still allowed userspace to crash the kernel with an invalid ELF file. Make dbgprintf()s configurable at run time so that the fuzzer doesn't produce lots of logspam. | |||
2020-08-10 | LibWeb: Move tree iteration helpers from Node/LayoutNode to TreeNode | Andreas Kling | |
Since these are generally useful in our trees, let's just keep them in TreeNode instead of duplicating the helpers in subclasses. | |||
2020-08-10 | AK: Add test case for duplicate JsonObject keys | Linus Groh | |
2020-08-10 | AK: Don't keep equal JsonObject keys in the order vector twice | Linus Groh | |
Fixes #3069. | |||
2020-08-10 | WindowServer: Use to_theme_window_type() a bit more | Andreas Kling | |
2020-08-10 | WindowServer+LibGfx: Move window frame rect calculation to WindowTheme | Andreas Kling | |
2020-08-10 | Kernel: Use Userspace<T> for the exit_thread syscall | Brian Gianforcaro | |
Userspace<void*> is a bit strange here, as it would appear to the user that we intend to de-refrence the pointer in kernel mode. However I think it does a good join of illustrating that we are treating the void* as a value type, instead of a pointer type. | |||
2020-08-10 | Kernel: Use Userspace<T> for the join_thread syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the chroot syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the module_unload syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the module_load syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the getrandom syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the shbuf_get syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the get_thread_name syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the set_thread_name syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the connect syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the accept syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the bind syscall, and implementation | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the chmod syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the umount syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the unlink syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the sigpending syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the sigprocmask syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the fstat syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the uname syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the sethostname syscall | Brian Gianforcaro | |
2020-08-10 | Kernel: Use Userspace<T> for the gethostname syscall | Brian Gianforcaro | |