Commit 482f7133 authored by Kui-Feng Lee's avatar Kui-Feng Lee Committed by Alexei Starovoitov

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: default avatarEduard Zingerman <eddyz87@gmail.com>
Signed-off-by: default avatarKui-Feng Lee <thinker.li@gmail.com>
Link: https://lore.kernel.org/r/20240523174202.461236-3-thinker.li@gmail.comSigned-off-by: default avatarAlexei Starovoitov <ast@kernel.org>
parent c95a3be4
...@@ -6693,7 +6693,7 @@ int btf_struct_access(struct bpf_verifier_log *log, ...@@ -6693,7 +6693,7 @@ int btf_struct_access(struct bpf_verifier_log *log,
for (i = 0; i < rec->cnt; i++) { for (i = 0; i < rec->cnt; i++) {
struct btf_field *field = &rec->fields[i]; struct btf_field *field = &rec->fields[i];
u32 offset = field->offset; 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, bpf_log(log,
"direct access to %s is disallowed\n", "direct access to %s is disallowed\n",
btf_field_type_name(field->type)); btf_field_type_name(field->type));
......
...@@ -5448,7 +5448,7 @@ static int check_map_access(struct bpf_verifier_env *env, u32 regno, ...@@ -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), * this program. To check that [x1, x2) overlaps with [y1, y2),
* it is sufficient to check x1 < y2 && y1 < x2. * 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) { p < reg->umax_value + off + size) {
switch (field->type) { switch (field->type) {
case BPF_KPTR_UNREF: case BPF_KPTR_UNREF:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment