direct_call
direct_call : direct_jump;
direct_call : indirect_jump;
state->flow = direct_call;
state->flow = direct_call;
DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
void (*direct_call)(unsigned long p1) = func;
direct_call(param1);
OFFSET(FTRACE_OPS_DIRECT_CALL, ftrace_ops, direct_call);
DEFINE(FTRACE_OPS_DIRECT_CALL, offsetof(struct ftrace_ops, direct_call));
unsigned long direct_call;
addr = READ_ONCE(ops->direct_call);
ops->direct_call = addr;
tmp_ops.direct_call = addr;
WRITE_ONCE(ops->direct_call, addr);