Messages in this thread | | | Date | Tue, 3 Mar 2020 16:03:27 -0800 | From | Alexei Starovoitov <> | Subject | Re: [PATCH bpf-next 4/7] bpf: Attachment verification for BPF_MODIFY_RETURN |
| |
On Wed, Mar 04, 2020 at 12:21:51AM +0100, KP Singh wrote: > > > > + t = btf_type_skip_modifiers(btf, t->type, NULL); > > > + if (!btf_type_is_int(t)) { > > > > Should the size of int be verified here? E.g., if some function > > returns u8, is that ok for BPF program to return, say, (1<<30) ? > > Would this work? > > if (size != t->size) { > bpf_log(log, > "size accessed = %d should be %d\n", > size, t->size); > return false; > }
It will cause spurious failures later when llvm optimizes if (ret & 0xff) into u8 load. I think btf_type_is_int() is enough as-is.
| |