@@ -4062,9 +4062,9 @@ static int check_buffer_access(struct bpf_verifier_env *env,
4062
4062
const struct bpf_reg_state * reg ,
4063
4063
int regno , int off , int size ,
4064
4064
bool zero_size_allowed ,
4065
- const char * buf_info ,
4066
4065
u32 * max_access )
4067
4066
{
4067
+ const char * buf_info = type_is_rdonly_mem (reg -> type ) ? "rdonly" : "rdwr" ;
4068
4068
int err ;
4069
4069
4070
4070
err = __check_buffer_access (env , buf_info , reg , regno , off , size );
@@ -4576,7 +4576,6 @@ static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regn
4576
4576
value_regno );
4577
4577
} else if (base_type (reg -> type ) == PTR_TO_BUF ) {
4578
4578
bool rdonly_mem = type_is_rdonly_mem (reg -> type );
4579
- const char * buf_info ;
4580
4579
u32 * max_access ;
4581
4580
4582
4581
if (rdonly_mem ) {
@@ -4585,15 +4584,13 @@ static int check_mem_access(struct bpf_verifier_env *env, int insn_idx, u32 regn
4585
4584
regno , reg_type_str (env , reg -> type ));
4586
4585
return - EACCES ;
4587
4586
}
4588
- buf_info = "rdonly" ;
4589
4587
max_access = & env -> prog -> aux -> max_rdonly_access ;
4590
4588
} else {
4591
- buf_info = "rdwr" ;
4592
4589
max_access = & env -> prog -> aux -> max_rdwr_access ;
4593
4590
}
4594
4591
4595
4592
err = check_buffer_access (env , reg , regno , off , size , false,
4596
- buf_info , max_access );
4593
+ max_access );
4597
4594
4598
4595
if (!err && value_regno >= 0 && (rdonly_mem || t == BPF_READ ))
4599
4596
mark_reg_unknown (env , regs , value_regno );
@@ -4856,7 +4853,6 @@ static int check_helper_mem_access(struct bpf_verifier_env *env, int regno,
4856
4853
struct bpf_call_arg_meta * meta )
4857
4854
{
4858
4855
struct bpf_reg_state * regs = cur_regs (env ), * reg = & regs [regno ];
4859
- const char * buf_info ;
4860
4856
u32 * max_access ;
4861
4857
4862
4858
switch (base_type (reg -> type )) {
@@ -4883,15 +4879,13 @@ static int check_helper_mem_access(struct bpf_verifier_env *env, int regno,
4883
4879
if (meta && meta -> raw_mode )
4884
4880
return - EACCES ;
4885
4881
4886
- buf_info = "rdonly" ;
4887
4882
max_access = & env -> prog -> aux -> max_rdonly_access ;
4888
4883
} else {
4889
- buf_info = "rdwr" ;
4890
4884
max_access = & env -> prog -> aux -> max_rdwr_access ;
4891
4885
}
4892
4886
return check_buffer_access (env , reg , regno , reg -> off ,
4893
4887
access_size , zero_size_allowed ,
4894
- buf_info , max_access );
4888
+ max_access );
4895
4889
case PTR_TO_STACK :
4896
4890
return check_stack_range_initialized (
4897
4891
env ,
0 commit comments