bpf: Remove unnecessary call to btf_field_type_size().
field->size has been initialized by bpf_parse_fields() with the value returned by btf_field_type_size(). Use it instead of calling btf_field_type_size() again. Acked-by: Eduard Zingerman <eddyz87@gmail.com> Signed-off-by: Kui-Feng Lee <thinker.li@gmail.com> Link: https://lore.kernel.org/r/20240523174202.461236-3-thinker.li@gmail.com Signed-off-by: Alexei Starovoitov <ast@kernel.org>
This commit is contained in:
parent
c95a3be45a
commit
482f713379
@ -6693,7 +6693,7 @@ int btf_struct_access(struct bpf_verifier_log *log,
|
||||
for (i = 0; i < rec->cnt; i++) {
|
||||
struct btf_field *field = &rec->fields[i];
|
||||
u32 offset = field->offset;
|
||||
if (off < offset + btf_field_type_size(field->type) && offset < off + size) {
|
||||
if (off < offset + field->size && offset < off + size) {
|
||||
bpf_log(log,
|
||||
"direct access to %s is disallowed\n",
|
||||
btf_field_type_name(field->type));
|
||||
|
@ -5448,7 +5448,7 @@ static int check_map_access(struct bpf_verifier_env *env, u32 regno,
|
||||
* this program. To check that [x1, x2) overlaps with [y1, y2),
|
||||
* it is sufficient to check x1 < y2 && y1 < x2.
|
||||
*/
|
||||
if (reg->smin_value + off < p + btf_field_type_size(field->type) &&
|
||||
if (reg->smin_value + off < p + field->size &&
|
||||
p < reg->umax_value + off + size) {
|
||||
switch (field->type) {
|
||||
case BPF_KPTR_UNREF:
|
||||
|
Loading…
x
Reference in New Issue
Block a user