syzkaller-build-loop · git:20260610.e2a435f · 2026-06-10 · sha256 36d455ae98e5dfe1
syzkaller-build-loop git:20260610.e2a435fA
Immutable. This exact content is served forever at /api/v1/blob/36d455ae98e5dfe1.
---
name: syzkaller-build-loop
description: Full build workflow for adding new syscall descriptions to syzkaller
---
# Syzkaller Description Workflow
## Full Build Loop for New Descriptions
When adding new syscall descriptions, follow this workflow:
```bash
cd /opt/syzkaller
# 1. Write/edit your .txt file in sys/linux/
# 2. Create a .const file with constant values (see syz-extract-constants skill)
# The .const file should be named: sys/linux/your_file.txt.const
# 3. Compile descriptions
make descriptions
# 4. Build syzkaller
make all
```
## Quick Rebuild (After Minor Edits)
If you only changed descriptions (not constants):
```bash
cd /opt/syzkaller
make descriptions # Runs syz-sysgen to compile descriptions
```
If you add new constants, update the `.const` file first.
## Common Errors
### Unknown type
```
unknown type foo_bar
```
- Type not defined, or defined after first use
- Define all types before using them
### Constant not available / defined for none of the arches
```
SOME_CONST is defined for none of the arches
```
- The constant isn't in the `.const` file
- Add it to `sys/linux/your_file.txt.const` with the correct value
### Missing reference
```
undefined reference to 'some_type'
```
- Type defined in another file not being found
- Check includes or existing type definitions
## Exploring Existing Code
Find examples of patterns:
```bash
grep -r "pattern" /opt/syzkaller/sys/linux/
```
Useful searches:
- `resource fd_` - How other fd resources are defined
- `ioctl\$` - Ioctl definition patterns
- `read\$` / `write\$` - Read/write specializations
- `struct.*{` - Struct definition patterns
## Files to Reference
- `sys/linux/socket.txt` - Network types (ifreq_t, sockaddr, etc.)
- `sys/linux/sys.txt` - Basic syscall patterns
- `sys/linux/fs.txt` - File operations