Commit graph

55 commits

Author SHA1 Message Date
Mițca Dumitru
919492945e LibCore: Add file management helpers to reduce code duplication
FileManager, cp, mv, rm had some duplicated code, implementing basic
file management operations. This patch creates adds functions that try
to provide an interface suited for all these programs, but this patch
does not make them be used throughout the Userland.

They are added to Core::File following the example of functions such as
read_link/real_path_for.
2021-02-21 18:14:29 +01:00
Andreas Kling
e87eac9273 Userland: Add LibSystem and funnel all syscalls through it
This achieves two things:

- Programs can now intentionally perform arbitrary syscalls by calling
  syscall(). This allows us to work on things like syscall fuzzing.

- It restricts the ability of userspace to make syscalls to a single
  4KB page of code. In order to call the kernel directly, an attacker
  must now locate this page and call through it.
2021-02-05 12:23:39 +01:00
Andreas Kling
d57b4128a1 LibCore: Use serenity_readlink() instead of making syscalls directly 2021-02-02 20:13:44 +01:00
Ben Wiederhake
6f607742dd LibCore: Fix invalid errno
Noone seems to check 'errno' when using LibCore, but let's make sure it's correct anyway.
2021-01-16 22:40:53 +01:00
Andreas Kling
13d7c09125 Libraries: Move to Userland/Libraries/ 2021-01-12 12:17:46 +01:00
Renamed from Libraries/LibCore/File.cpp (Browse further)