Ask me what skills you need
What are you building?
Tell me what you're working on and I'll find the best agent skills for you.
Defining and extracting kernel constants for syzkaller syzlang descriptions
Syzkaller needs to know the actual values of kernel constants (ioctl numbers, flags, etc.) to generate valid fuzzing programs. There are two ways to provide these values:
.const file - Define constants directly in a companion filesyz-extract tool - Extract values from kernel source headers (requires kernel source)Create a .const file alongside your .txt file with the constant values:
sys/linux/dev_ppdev.txtsys/linux/dev_ppdev.txt.const# Constants for your syzlang descriptions
arches = 386, amd64, arm, arm64, mips64le, ppc64le, riscv64, s390x
PPCLAIM = 28811
PPRELEASE = 28812
IEEE1284_MODE_NIBBLE = 0
IEEE1284_MODE_BYTE = 1
The arches line declares which architectures these constants are valid for. For architecture-independent constants (like ioctls), list all architectures.
Linux ioctl numbers are encoded as:
_IO(type, nr) = (type << 8) | nrnpx skills add benchflow-ai/skillsbench --skill syz-extract-constantsHow clear and easy to understand the SKILL.md instructions are, rated from 1 to 5.
Clear and well structured, with only minor parts that might need a second read.
How directly an agent can act on the SKILL.md instructions, rated from 1 to 5.
Mostly actionable with clear steps; only a few small gaps remain.