Andreas Kling
8d73355c38
LibELF: Set ELF::Loader::m_symbol_count in constructor
...
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-11 12:23:43 +02:00
Andreas Kling
c3b6df60b7
Help: Spruce up the UI with some tasteful layout margins
2020-08-10 21:20:28 +02:00
Andreas Kling
ae0ff13f66
LibGfx: Correct copyright years for {Classic,}WindowTheme.{cpp,h}
2020-08-10 21:20:28 +02:00
Andreas Kling
015c8d0eb6
Userland: Add a simple dirname(1) utility
2020-08-10 21:20:28 +02:00
Tom
8ffa4131ce
WindowServer: Limit maximizing windows to top window in modal stack
...
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 21:02:11 +02:00
Nico Weber
37d5e3e0df
Shell: Fix fd leak with pipes
...
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 20:57:38 +02:00
AnotherTest
69fc91d974
Shell: Cancel a running for loop upon receiving any non-SIGINT signal
...
And keep the old behaviour of needing two interruptions on SIGINT.
2020-08-10 20:50:06 +02:00
Andreas Kling
d777583e28
FileManager: Make the desktop process show as "FileManager (Desktop)"
2020-08-10 20:29:08 +02:00
Tom
fcaa45f97b
Kernel: Include the 128 byte slab allocator in for_each_allocator
2020-08-10 20:05:18 +02:00
Tom
08ff25f4ef
Kernel: Invoke heap constructors separately early on
...
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 20:05:18 +02:00
Muhammad Zahalqa
de5e542930
LibCore: remove redundant UDPSocket constructor
...
The comment claims it is for use from UDPServer::accept
Which is not a real function.
2020-08-10 20:03:18 +02:00
Muhammad Zahalqa
eb77568d8c
LibCore: update m_bound on socket bind
2020-08-10 20:03:18 +02:00
Nico Weber
00f658b984
Lagom+LibELF: Add an ELF fuzzer, and tweak the code to survive a few minutes 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 15:55:17 +02:00
Andreas Kling
eaf7e68408
LibWeb: Move tree iteration helpers from Node/LayoutNode to TreeNode
...
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 15:21:23 +02:00
Linus Groh
62ea2c5437
AK: Add test case for duplicate JsonObject keys
2020-08-10 14:48:45 +02:00
Linus Groh
f649009887
AK: Don't keep equal JsonObject keys in the order vector twice
...
Fixes #3069 .
2020-08-10 14:48:45 +02:00
Andreas Kling
ecc8a42cd2
WindowServer: Use to_theme_window_type() a bit more
2020-08-10 13:05:02 +02:00
Andreas Kling
de1a54c378
WindowServer+LibGfx: Move window frame rect calculation to WindowTheme
2020-08-10 13:03:44 +02:00
Brian Gianforcaro
0e627b0273
Kernel: Use Userspace<T> for the exit_thread syscall
...
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 12:52:15 +02:00
Brian Gianforcaro
d3847b3489
Kernel: Use Userspace<T> for the join_thread syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
e8917cc5f3
Kernel: Use Userspace<T> for the chroot syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
20e2a5c111
Kernel: Use Userspace<T> for the module_unload syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
c4927ceb08
Kernel: Use Userspace<T> for the module_load syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b5a2a215f6
Kernel: Use Userspace<T> for the getrandom syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
c8ae244ab8
Kernel: Use Userspace<T> for the shbuf_get syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
e073f2b59e
Kernel: Use Userspace<T> for the get_thread_name syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
9652b0ae2b
Kernel: Use Userspace<T> for the set_thread_name syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
0e20a6df0a
Kernel: Use Userspace<T> for the connect syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
8bd9dbc220
Kernel: Use Userspace<T> for the accept syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
02660b5d60
Kernel: Use Userspace<T> for the bind syscall, and implementation
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
2bac7190c8
Kernel: Use Userspace<T> for the chmod syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
82bf6e8133
Kernel: Use Userspace<T> for the umount syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
317800324c
Kernel: Use Userspace<T> for the unlink syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
ecfe20efd2
Kernel: Use Userspace<T> for the sigpending syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
fbb26b28b9
Kernel: Use Userspace<T> for the sigprocmask syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
431145148e
Kernel: Use Userspace<T> for the fstat syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
8dd78201a4
Kernel: Use Userspace<T> for the uname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
cfedd62b5c
Kernel: Use Userspace<T> for the sethostname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
1d9554f470
Kernel: Use Userspace<T> for the gethostname syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b069d757a3
Kernel: Use Userspace<T> for the clock_settime syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
1be6145fdf
Kernel: Modifiy clock_settime timespec argument to const
...
The timeppec paramter is read only, and should be const.
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
b4d04fd8d1
Kernel: Use Userspace<T> for the clock_gettime syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
48d9f3c2e6
Kernel: Use Userspace<T> for the getresgid syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
3ca18a88d7
Kernel: Use Userspace<T> for the getresuid syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
7943655838
Kernel: Use Userspace<T> for the times syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
e7728ca8fd
Kernel: Use Userspace<T> for the getgroups syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
80011cd62d
Kernel: Use Userspace<T> for the setgroups syscall
2020-08-10 12:52:15 +02:00
Brian Gianforcaro
0f42463eab
Kernel: Use Userspace<T> for the execve syscall
2020-08-10 12:52:15 +02:00
Abu Sakib
025a2a3c5b
Base: Change browser test page link color for better visibility ( #3068 )
2020-08-10 12:49:43 +02:00
Ben Wiederhake
083671ef2c
Kernel: Fix PID/TID confusion in send_signal
...
This fixes the issue of a specific type of unkillable processes.
2020-08-10 11:51:45 +02:00