Comments (15)
I am not sure I understand the question.
Syzkaller never uses the kernel it runs on for fuzzing. Syz-manager process runs on host, and it tests other kernels. Other kernels can be either local VMs (qemu, kvmtool), remote VMs (gce) or physical devices (adb).
Or do you mean physically remote machines?
Syzkaller needs to know how to reboot test machines and obtain console output from these machines. We currently have this support only for android devices using adb and Suzy-Q/Android Serial Cable:
https://github.com/google/syzkaller/blob/master/vm/adb/adb.go
It is possible to implement support for other development boards. One would need to implement vm.Instance interface for them:
https://github.com/google/syzkaller/blob/master/vm/vm.go#L19
from syzkaller.
I use the ARMv8 Cloud (built on my own), host
and test
machine are all on the cloud.
Maybe I need the GCE config. Thanks a lot.
from syzkaller.
GCE config will not work per-se, it uses GCE APIs to create/destroy VMs and obtain console output.
You need to teach syzkaller how to reboot your machines and how to obtain console output. Then syzkaller will be able to use your cloud machines for fuzzing. Look at examples in vm/qemu, vm/adb, vm/gce.
from syzkaller.
ok, let me try to port on openstack cloud.
thanks a lot
from syzkaller.
Feel free to ask questions here.
First step would be to collect manual commands required to:
- "repair" a machine (bring into working state after a previous fuzzing session)
- obtain console output
- copy a file to the machine (scp)
- run a command on the machine and obtain stderr/stdout (ssh)
Next step is to automate these commands for syzkaller.
from syzkaller.
I have traced the code. But I still don't know what does "repair" mean.
from syzkaller.
Say we run fuzzing on the machine. Fuzzing leads to a kernel deadlock or memory corruption. So now the machine is not usable: ssh may not work, or even if it works programs hang or crash. Repair procedure needs to bring the machine into usable state again (e.g. recreate a VM, or reboot a physical device).
from syzkaller.
Got it.
from syzkaller.
@dvyukov a new question come out.
What does the "Forward" method stand for?
Thanks a lot
from syzkaller.
What exactly here is not clear?
// Forward setups forwarding from within VM to host port port
// and returns address to use in VM.
Forward(port int) (string, error)
from syzkaller.
By forwarding it means TCP connection forwarding.
from syzkaller.
If openstack give my VM a public ip, I just fill the forward ip with that public ip?
from syzkaller.
No, it needs to return address of the machine where syz-manager is running as seen by the VM. syz-fuzzer running in the VM will use this address to connect to syz-manager.
from syzkaller.
!
Got it
Thx a lot
from syzkaller.
I think this is resolved.
from syzkaller.
Related Issues (20)
- pkg/{ast,compiler}: specify always set flags in the `flags` type HOT 3
- pkg/compiler: support nested flag list definitions
- Fail to boot the latest kernel 6.5.1 through tools/create-image.sh created img HOT 2
- pkg/report/linux.go: slice bounds out of range in extractGuiltyFile() HOT 1
- disabling socket$new_protocal: protocol not supported HOT 5
- vm: include SysRq debug output
- OSS-Fuzz issue 62149 HOT 3
- coverage doesn't match any coverage callbacks
- pkg/repro: don't replace the mmap at 0x20000000 with a different mmap HOT 7
- [HELP] How does syzlang express structures that contain variable length unions and require a fixed total length? HOT 4
- Artificially increasing the hit rate of certain call sequence groups HOT 2
- vm/proxyapp: test failure
- dashboard: prevent dangling BugReporting.CrashID references HOT 1
- docs: update riscv setup instructions HOT 4
- dashboard: forward commands to our mailing list
- pkg/cover/backend: found unexpected tag PartialUnit on top level HOT 2
- prog: let encoding.go support `AUTO` for structs HOT 1
- pkg/compiler: facilitate unified const/flags definitions HOT 2
- pkg/build: incorrect use of t.Fatal()/t.Fatalf() in tests HOT 2
- 2023/11/09 00:27:34 SYZFATAL: executor 1 failed 11 times: executor 1: exit status 67 SYZFAIL: setns(netns) failed (errno 22: Invalid argument) SYZFAIL: child failed (errno 0: Success) loop exited with status 67<EDIT ME> (try to follow "pkg/name: short description" format)
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 syzkaller.