Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

lib/posix-*: Remove hard dependency on posix-fdtab #1437

Open
wants to merge 5 commits into
base: staging
Choose a base branch
from

Conversation

andreittr
Copy link
Contributor

Description of changes

This changeset removes posix-fdtab as a hard dependency from all posix-* libraries that provide file implementations.
This improves modularity, allowing for files to be used internally without exposing a userspace-visible file descriptor, nor requiring a file descriptor table at all.

Naturally, support for file-specific binary syscalls continues to require fdtab, as file descriptors are the only interface for userspace to pass file references to the kernel.

Prerequisite checklist

  • Read the contribution guidelines regarding submitting new changes to the project;
  • Tested your changes against relevant architectures and platforms;
  • Ran the checkpatch.uk on your commit series before opening this PR;
  • Updated relevant documentation.

Base target

  • Architecture(s): [e.g. x86_64 or N/A]
  • Platform(s): [e.g. kvm, xen or N/A]
  • Application(s): [e.g. app-python3 or N/A]

Additional configuration

N/A

@andreittr andreittr requested a review from a team as a code owner May 30, 2024 14:00
@github-actions github-actions bot added area/lib Internal Unikraft Microlibrary lang/c Issues or PRs to do with C/C++ labels May 30, 2024
@andreittr andreittr added this to the v0.18.0 (Helene) milestone May 30, 2024
@razvand razvand requested review from andreistan26, flpostolache and robertZamfir601 and removed request for a team August 19, 2024 08:42
@razvand razvand removed this from the v0.18.0 (Helene) milestone Aug 19, 2024
This change makes posix-fdtab no longer a hard dependency of
posix-eventfd, allowing non-fd parts of its functionality to work
without the former selected.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
This change makes posix-fdtab no longer a hard dependency of posix-pipe,
allowing non-fd parts of its functionality to work without the former
selected.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
This change makes posix-fdtab no longer a hard dependency of
posix-timerfd, allowing non-fd parts of its functionality to work
without the former selected.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
This change makes posix-fdtab no longer a hard dependency of
posix-socket, allowing socket operations using the internal API without
needing a userspace-visible fdtab.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
This change removes posix-fdtab as a hard dependency to posix-tty,
allowing the use of the latter without a userspace-visible fd table.

The functionality to open file descriptors 0, 1, and 2 at boot remains
dependent on posix-fdtab.

Signed-off-by: Andrei Tatar <andrei@unikraft.io>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/lib Internal Unikraft Microlibrary lang/c Issues or PRs to do with C/C++
Projects
Status: No status
Development

Successfully merging this pull request may close these issues.

2 participants