Comments (2)
there are a couple of use cases.
- if an application opens a socket but also open a file (like stdin and stdout), the lib should distinguish and dispatch them
- if liblkl{.a,.so} (or linked library) uses system calls and linked with libhijack, then libhijack should treat those system calls goes to the host calls. virtio network backend (currently only with tap) required such a behavior
- the tap case is easy to mitigate as the code is just a couple of lines, but if we depend on an external library (I'm thinking dpdk in my mind), it would be more complicated
so notifying something to callers is not always happy for users.
I would say if applications need to only use LKL syscalls, the hijack library is not for them: call LKL syscall directly.
see more detail discussion in the Section "3.13.6 System Call Hijacking" of rumpkernel book (https://github.com/rumpkernel/book).
I understand handling host fds in hijack library is broken and I haven't come up with a perfect solution. and I'm so reluctant to spend more time for hijack library (because of such limitations).
but the library is only there because of the instant use case to benefit LKL with existing application binaries.
from linux.
Got it, very helpful explanation, thanks!
from linux.
Related Issues (20)
- Start kernel in single threaded mode HOT 1
- Asking for a port to arm64 of "Unifying LKL into UML"
- How to switch between different kernel versions? HOT 1
- IWL-WiFi + FreeBSD
- Compilation under different kernel versions HOT 1
- Status of `Unifying LKL into UML` (v8, Jan 2021) ? HOT 6
- Investigate LKL strncpy and KASAN error
- LKL build target clean-conf doesn't clean .config
- Unable to mount btrfs filesystems spread across more than one partition with lklfuse HOT 5
- Ask for android build related help HOT 2
- LKL is potentially affected by 10 known CVEs HOT 3
- http benchmarking isn't working well
- network performance
- Failed to run lkl hijack on android 10 HOT 6
- can lkl based app run on vm HOT 4
- Interested in participating, cannot join mailing list or slack HOT 2
- split some tools out from the main Linux repo HOT 2
- drop tools/lkl/bin binaries HOT 1
- Updates about Unifying LKL into UML? HOT 1
- allow builds with CONFIG_NET disabled
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux.