There are a few "regs[regno]" here are there across "check_reg_arg", this
patch factor it out into a simple "reg" pointer. The intention is to
simplify code indentation and make the later patches in this set look
cleaner.

Reviewed-by: Jakub Kicinski <jakub.kicin...@netronome.com>
Signed-off-by: Jiong Wang <jiong.w...@netronome.com>
---
 kernel/bpf/verifier.c | 14 ++++++++------
 1 file changed, 8 insertions(+), 6 deletions(-)

diff --git a/kernel/bpf/verifier.c b/kernel/bpf/verifier.c
index 3fdb301..c722015 100644
--- a/kernel/bpf/verifier.c
+++ b/kernel/bpf/verifier.c
@@ -1177,30 +1177,32 @@ static int check_reg_arg(struct bpf_verifier_env *env, 
u32 regno,
 {
        struct bpf_verifier_state *vstate = env->cur_state;
        struct bpf_func_state *state = vstate->frame[vstate->curframe];
-       struct bpf_reg_state *regs = state->regs;
+       struct bpf_reg_state *reg, *regs = state->regs;
 
        if (regno >= MAX_BPF_REG) {
                verbose(env, "R%d is invalid\n", regno);
                return -EINVAL;
        }
 
+       reg = &regs[regno];
        if (t == SRC_OP) {
                /* check whether register used as source operand can be read */
-               if (regs[regno].type == NOT_INIT) {
+               if (reg->type == NOT_INIT) {
                        verbose(env, "R%d !read_ok\n", regno);
                        return -EACCES;
                }
                /* We don't need to worry about FP liveness because it's 
read-only */
-               if (regno != BPF_REG_FP)
-                       return mark_reg_read(env, &regs[regno],
-                                            regs[regno].parent);
+               if (regno == BPF_REG_FP)
+                       return 0;
+
+               return mark_reg_read(env, reg, reg->parent);
        } else {
                /* check whether register used as dest operand can be written 
to */
                if (regno == BPF_REG_FP) {
                        verbose(env, "frame pointer is read only\n");
                        return -EACCES;
                }
-               regs[regno].live |= REG_LIVE_WRITTEN;
+               reg->live |= REG_LIVE_WRITTEN;
                if (t == DST_OP)
                        mark_reg_unknown(env, regs, regno);
        }
-- 
2.7.4

Reply via email to