mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-05 07:41:01 +00:00
Kernel: Return one kernel frame from procfs$tid_stack for normal users.
Previously we would return a 0xdeadc0de frame for every kernel frame in the real kernel stack when an non super-user issued the request. This isn't useful, and just produces visual clutter in tools which attempt to symbolize stacks.
This commit is contained in:
parent
869becc944
commit
35bb8ab4db
Notes:
sideshowbarker
2024-07-18 18:43:49 +09:00
Author: https://github.com/bgianfo
Commit: 35bb8ab4db
Pull-request: https://github.com/SerenityOS/serenity/pull/6845
1 changed files with 6 additions and 1 deletions
|
@ -599,9 +599,14 @@ static bool procfs$tid_stack(InodeIdentifier identifier, KBufferBuilder& builder
|
||||||
|
|
||||||
JsonArraySerializer array { builder };
|
JsonArraySerializer array { builder };
|
||||||
bool show_kernel_addresses = Process::current()->is_superuser();
|
bool show_kernel_addresses = Process::current()->is_superuser();
|
||||||
|
bool kernel_address_added = false;
|
||||||
for (auto address : Processor::capture_stack_trace(*thread, 1024)) {
|
for (auto address : Processor::capture_stack_trace(*thread, 1024)) {
|
||||||
if (!show_kernel_addresses && !is_user_address(VirtualAddress { address }))
|
if (!show_kernel_addresses && !is_user_address(VirtualAddress { address })) {
|
||||||
|
if (kernel_address_added)
|
||||||
|
continue;
|
||||||
address = 0xdeadc0de;
|
address = 0xdeadc0de;
|
||||||
|
kernel_address_added = true;
|
||||||
|
}
|
||||||
array.add(JsonValue(address));
|
array.add(JsonValue(address));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue