Agent Skills: Syzkaller Description Workflow

Full build workflow for adding new syscall descriptions to syzkaller

UncategorizedID: benchflow-ai/skillsbench/syzkaller-build-loop

Install this agent skill to your local

pnpm dlx add-skill https://github.com/benchflow-ai/skillsbench/tree/HEAD/tasks/syzkaller-ppdev-syzlang/environment/skills/syzkaller-build-loop

Skill Files

Browse the full folder contents for syzkaller-build-loop.

Download Skill

Loading file tree…

tasks/syzkaller-ppdev-syzlang/environment/skills/syzkaller-build-loop/SKILL.md

Skill Metadata

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:

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 .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:

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