Re: [PATCH] pahole: fix BTF function parameter type match check
Alan Maguire <[email protected]> Thu, 16 Jul 2026 14:19:02 +0100
| Newsgroups | org.kernel.vger.dwarves |
|---|---|
| Message-ID | <[email protected]> |
On 14/07/2026 15:08, Florian Larysch wrote: > The BTF_KIND_FUNC_PROTO arm in types__match() first checks whether two > function types identified by t1/t2 have matching return types and then > attempts to iterate over the function parameters (p1/p2) to check them > for compatibility too. > > However, the loop just repeats the check on t1/t2 instead of p1/p2, so > we just keep re-checking return type compatibility, ignoring possible > mismatches of the actual parameter types. > > Fix this by actually comparing p1 and p2. This also resolves a > unused-but-set-variable build-time warning. > > Signed-off-by: Florian Larysch <[email protected]> Great catch, applied. Thank you! Alan > --- > btf_encoder.c | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/btf_encoder.c b/btf_encoder.c > index d5af706..3aca2c2 100644 > --- a/btf_encoder.c > +++ b/btf_encoder.c > @@ -1129,8 +1129,8 @@ static bool types__match(struct btf_encoder *encoder, > btf2, t2->type)) > return false; > for (i = 0; i < vlen; i++, p1++, p2++) { > - if (!types__match(encoder, btf1, t1->type, > - btf2, t2->type)) > + if (!types__match(encoder, btf1, p1->type, > + btf2, p2->type)) > return false; > } > return true; > -- > 2.55.0 >