Syzkaller Description Workflow
Full Build Loop for New Descriptions
When adding new syscall descriptions, follow this workflow:
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):
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
.constfile - Add it to
sys/linux/your_file.txt.constwith 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:
grep -r "pattern" /opt/syzkaller/sys/linux/
Useful searches:
resource fd_- How other fd resources are definedioctl\$- Ioctl definition patternsread\$/write\$- Read/write specializationsstruct.*{- Struct definition patterns
Files to Reference
sys/linux/socket.txt- Network types (ifreq_t, sockaddr, etc.)sys/linux/sys.txt- Basic syscall patternssys/linux/fs.txt- File operations