Folder filtering prevented us from accessing /sys folder
of VFS image. This fix redirects all /sys references to
the image by default, requiring us to explicitly specify
all paths we want to redirect to Linux fs.
This commit adds interceptions for common POSIX calls.
Issue [EGD-4551] has shown that some calls can be made from
stdlibc++ that we didn't trace or intercept so far. Our goal
here is to improve our POSIX coverage.
This commit is part of libiosyscalls refining task.
Its purpose is to make this code more predictable and
easier to maintain (as well as fixing some minor bugs).
Add support for mount umount in the libiosyscall library
due to planning to use ro fatfs and remount to rw only
for update purposes.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
Move iosyscalls symbols to a separate namespace `_iosys_*`
This helps us avoid accidentally overriding library calls
which are not exported as symbols.
Disk access was not protected by the mutex and race contition
occurs when multiple access was made for lfs and fat.
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
This is a first commit when the emulator uses
the new filesystem core.
libiosyscall library read environment variable
IOSYSCALS_REDIRECT_TO_IMAGE
When IOSYSCALS_REDIRECT_TO_IMAGE=1 all syscalls
are redirected to the image. If env is not defined
or set to 0 only paths are translated and redirected
to the native linux syscalls
[EGD-5074] Remove free rtox library
Remove unneeded fat library from the freertos
[EGD-5074] Fix freertos mutex as unique
Add freertos mutex in the unique_ptr for avoid inclusion of the
freertos.h
[EGD-5074] Remove frertos-fat submodule
Remove uneeded fat freertos submodule
[EGD-5074] Add handle types in the vfs_subsystem
Add handle types in the vfs subsystem
[EGD-5074] Add submodule for hashmap
Add submodule for hashmap
[EGD-5074] Add support for dirent
Add support for dirent for new filesystem
[EGD-5074] Fix mutex class
Remove mutex in header
[EGD-5074] Remove old vfs from file indexer
File indexer should be fixed for use new vfs
[EGD-5074] Fix unit test vfs
Remove unit tests vfs for clas
[EGD-5074] Add Posix implementation with new fs
Add posix implementation with new fs core
[EGD-5074] Fix stdio syscalls
Fix all stdio syscalls
[EGD-5074] Fix iosyscalls scan family
Fix iosyscalls scan family
[EGD-5074] Fix native API
Fix native api
Work in progress some minor fixes
[EGD-5074] Fix lib stdio
Fix lib stdio
[EGD-5074] fix lseek return value in fat driver
Fix lseek return value in the fat driver
[EGD-5074] Unit test fix
Unittest fixes
[EGD-5074] Emulator syscalls
Signed-off-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
Due to the errors in the libiosyscalls it was impossible
to build emulator for Linux Debug target. This commit will fix this
problem.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
Currently calling any method from class vfs
causes aplication crash when methods are called before
vfs.Init() call. This commit prevent to crash end return failure
instead. The fix is related to any any vfs methods and methods called
through the standard syscall.
It is only the hotfix and it will be removed when new VFS subsystem
will be ready.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>
Currently if file doens't exists on image the error is reported
but some subsystems need access to the underlaying linux fs.
In the feature release add strict checking for allowed paths
now it redirect syscall with warning.
Co-authored-by: Lucjan Bryndza <lucjan.bryndza@mudita.com>