Back to home page

OSCL-LXR

 
 

    


0001 {
0002     "d_path accept",
0003     .insns = {
0004     BPF_LDX_MEM(BPF_W, BPF_REG_1, BPF_REG_1, 0),
0005     BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
0006     BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
0007     BPF_MOV64_IMM(BPF_REG_6, 0),
0008     BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_6, 0),
0009     BPF_LD_IMM64(BPF_REG_3, 8),
0010     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_d_path),
0011     BPF_MOV64_IMM(BPF_REG_0, 0),
0012     BPF_EXIT_INSN(),
0013     },
0014     .result = ACCEPT,
0015     .prog_type = BPF_PROG_TYPE_TRACING,
0016     .expected_attach_type = BPF_TRACE_FENTRY,
0017     .kfunc = "dentry_open",
0018 },
0019 {
0020     "d_path reject",
0021     .insns = {
0022     BPF_LDX_MEM(BPF_W, BPF_REG_1, BPF_REG_1, 0),
0023     BPF_MOV64_REG(BPF_REG_2, BPF_REG_10),
0024     BPF_ALU64_IMM(BPF_ADD, BPF_REG_2, -8),
0025     BPF_MOV64_IMM(BPF_REG_6, 0),
0026     BPF_STX_MEM(BPF_DW, BPF_REG_2, BPF_REG_6, 0),
0027     BPF_LD_IMM64(BPF_REG_3, 8),
0028     BPF_RAW_INSN(BPF_JMP | BPF_CALL, 0, 0, 0, BPF_FUNC_d_path),
0029     BPF_MOV64_IMM(BPF_REG_0, 0),
0030     BPF_EXIT_INSN(),
0031     },
0032     .errstr = "helper call is not allowed in probe",
0033     .result = REJECT,
0034     .prog_type = BPF_PROG_TYPE_TRACING,
0035     .expected_attach_type = BPF_TRACE_FENTRY,
0036     .kfunc = "d_path",
0037 },