1
0
Fork 0
mirror of https://github.com/containers/youki synced 2024-05-25 08:56:07 +02:00
youki/experiment/seccomp/src/instruction/arch.rs
Toru Komatsu 32e021e1e9
seccomp: Use offset_of! (#2763)
* seccomp: Use offset_of!

Signed-off-by: utam0k <k0ma@utam0k.jp>

* Update experiment/seccomp/src/instruction/consts.rs

Co-authored-by: Yashodhan <54112038+YJDoc2@users.noreply.github.com>

---------

Signed-off-by: utam0k <k0ma@utam0k.jp>
Co-authored-by: Yashodhan <54112038+YJDoc2@users.noreply.github.com>
2024-04-18 18:01:14 +05:30

19 lines
464 B
Rust

use crate::instruction::Instruction;
use crate::instruction::*;
pub enum Arch {
X86,
}
pub fn gen_validate(arc: &Arch) -> Vec<Instruction> {
let arch = match arc {
Arch::X86 => AUDIT_ARCH_X86_64,
};
vec![
Instruction::stmt(BPF_LD | BPF_W | BPF_ABS, seccomp_data_arch_offset() as u32),
Instruction::jump(BPF_JMP | BPF_JEQ | BPF_K, 1, 0, arch),
Instruction::stmt(BPF_RET | BPF_K, SECCOMP_RET_KILL_PROCESS),
]
}