diff --git a/userspace/libraries/LibInput/KeyboardLayout.cpp b/userspace/libraries/LibInput/KeyboardLayout.cpp index 3c467940..1a0a60e5 100644 --- a/userspace/libraries/LibInput/KeyboardLayout.cpp +++ b/userspace/libraries/LibInput/KeyboardLayout.cpp @@ -6,6 +6,7 @@ #if __is_kernel #include +#include #else #include #include @@ -128,8 +129,8 @@ namespace LibInput #if __is_kernel { - // FIXME: This does not account for chroot - auto file = TRY(Kernel::VirtualFileSystem::get().file_from_absolute_path(Kernel::VirtualFileSystem::get().root_inode(), { 0, 0, 0, 0 }, path, 0)); + auto& process = Kernel::Process::current(); + auto file = TRY(Kernel::VirtualFileSystem::get().file_from_absolute_path(process.root_file().inode, process.credentials(), path, O_RDONLY)); TRY(file_data.resize(file.inode->size())); TRY(file.inode->read(0, BAN::ByteSpan { reinterpret_cast(file_data.data()), file_data.size() })); canonical_path = file.canonical_path;