For anyone who is interested I hacked up a program to turn what I think is a readable seccomp syntax into BPF rules. It should make it easier to prototype this new thing. The translator needs a LOT of love to be worth much, but for now it can handle a couple of things and can build a set of rules! The rules are of the form: label object: value label So using Will's BPF example code in my syntax looks like: start syscall: rt_sigreturn success sigreturn success exit_group success exit success read read write write read arg0: 0 success write arg0: 1 success 2 success So this says the first label is "start" and it is going to deal with the syscall number. The first value is 'rt_sigreturn' and if syscall == rt_sigreturn will cause you to jump to 'success' (success and fail are implied labels). If the syscall is 'write' we will jump to 'write.' The write rules look at arg0. If arg0 == "1" we jump to "success". If you run that syntax through my translator you should get Will's BPF rules! You'll quickly notice that the translator only understands "syscall" and "arg0" and only x86_32, but it should be easy to add more, support the right registers on different arches, etc, etc. If others think they might want to hack on the translator I put it at: http://git.infradead.org/users/eparis/bpf-translate.git -Eric