Last active 4 months ago
View more

Recent activity

Re: Design Question: How to plumb Userspace<T> through Kernel/FileSystem/BlockBasedFS? 4 months ago

From Andreas Kling to ~awesomekling/serenityos-dev

Indeed, Userspace<T> doesn't work everywhere in the kernel since some
interfaces are used both by syscall implementations and by other kernel parts.

Another alternative you didn't bring up could be to have syscalls use temporary
kernel buffers when calling these interfaces and then copy out of these buffers
to the final userspace buffer at the syscall handler level. There's an extra
copy here but maybe it's not the end of the world, and it would allow us to
keep the "inner" parts of the kernel free from worrying about this.


Re: Preparation for Hacktoberfest 2020? 4 months ago

From Andreas Kling to ~awesomekling/serenityos-dev

Generally speaking I'm wary of drive-by contributions from people who
are not interested in sticking around and maintaining what they add.

However, if SerenityOS regulars pre-file a bunch of bugs with things
they would like to see (ideally in the "stuff I would do myself sooner
or later anyway" category) I think it could be pretty cool!

If nothing comes out of it other than us getting better about filing
bugs about neat things to do/fix, that's also a win IMO. :)

Re: Why tolower() is part of every assertion backtrace 5 months ago

From Andreas Kling to ~awesomekling/serenityos-dev

That only fixes up one stack frame, I'm saying it'd be nice if the asserting
function moved to the top of the trace.

Also, I think your approach could be simplified:

    asm volatile("call abort; ret");

No need for the awkward function pointer trickery. :)

Why tolower() is part of every assertion backtrace 5 months ago

From Andreas Kling to ~awesomekling/serenityos-dev

If you've been hacking on SerenityOS for a while you've probably seen
backtraces like this:

USERSPACE(23) ASSERTION FAILED: index.internal_data()
0xdeadc0de  Kernel::Scheduler::context_switch(Kernel::Thread*) +183
0xdeadc0de  Kernel::Scheduler::pick_next() +1681
0xdeadc0de  Kernel::Processor::check_invoke_scheduler() +125
0xdeadc0de  Kernel::Thread::die_if_needed() +157
0xdeadc0de  syscall_handler +1386
0xdeadc0de  syscall_asm_entry +49
0x080d5f29  raise +22
0x080480bd  abort +13
0x080d2402  tolower +0

Hello friends! :^) 5 months ago

From Andreas Kling to ~awesomekling/serenityos-dev

I figured we could try having a development mailing list for longer
discussions that don't really fit on IRC or GitHub.

So uh, welcome, this is that list!