On Wed, Sep 21, 2022 at 9:49 AM Lorenzo Bianconi <lorenzo@xxxxxxxxxx> wrote: > > + /* These register types have special constraints wrt ref_obj_id > + * and offset checks. The rest of trusted args don't. > + */ > + obj_ptr = reg->type == PTR_TO_CTX || reg->type == PTR_TO_BTF_ID || > + reg2btf_ids[base_type(reg->type)]; > + .. > /* Check if argument must be a referenced pointer, args + i has > * been verified to be a pointer (after skipping modifiers). > + * PTR_TO_CTX is ok without having non-zero ref_obj_id. > */ Kumar, Looking forward to your subsequent patch to split this function. It's definitely getting unwieldy. The comment above is double confusing. 1. I think you meant to say "PTR_TO_CTX is ok with zero ref_obj_id", right? That double negate is not easy to parse. 2. PTR_TO_CTX cannot have ref_obj_id != 0. At least I don't think it's possible, but the comment implies that such a case may exist. I applied anyway, since big refactoring is coming shortly, right?