[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20190228175300.GB9508@kernel.org>
Date: Thu, 28 Feb 2019 14:53:00 -0300
From: Arnaldo Carvalho de Melo <arnaldo.melo@...il.com>
To: Dan Carpenter <dan.carpenter@...cle.com>
Cc: Alexei Starovoitov <ast@...nel.org>,
Andrii Nakryiko <andriin@...com>,
Daniel Borkmann <daniel@...earbox.net>,
Martin KaFai Lau <kafai@...com>,
Song Liu <songliubraving@...com>, Yonghong Song <yhs@...com>,
netdev@...r.kernel.org, bpf@...r.kernel.org,
kernel-janitors@...r.kernel.org
Subject: Re: [PATCH v2] tools/libbpf: signedness bug in btf_dedup_ref_type()
Em Thu, Feb 28, 2019 at 08:50:35PM +0300, Dan Carpenter escreveu:
> The "ref_type_id" variable needs to be signed for the error handling
> to work.
Does the infiniband signedness change comes as a bonus? :-)
- Arnaldo
> Fixes: d5caef5b5655 ("btf: add BTF types deduplication algorithm")
> Signed-off-by: Dan Carpenter <dan.carpenter@...cle.com>
> Acked-by: Andrii Nakryiko <andriin@...com>
> ---
> v2: Use reverse Christmas tree style
>
> This goes through the BPF tree probably, although it does apply to
> net-next.
>
> drivers/infiniband/ulp/iser/iscsi_iser.h | 2 +-
> tools/lib/bpf/btf.c | 3 ++-
> 2 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/infiniband/ulp/iser/iscsi_iser.h b/drivers/infiniband/ulp/iser/iscsi_iser.h
> index 120b40829560..ee7d3f6a666e 100644
> --- a/drivers/infiniband/ulp/iser/iscsi_iser.h
> +++ b/drivers/infiniband/ulp/iser/iscsi_iser.h
> @@ -197,7 +197,7 @@ struct iser_data_buf {
> struct scatterlist *sg;
> int size;
> unsigned long data_len;
> - unsigned int dma_nents;
> + int dma_nents;
> };
>
> /* fwd declarations */
> diff --git a/tools/lib/bpf/btf.c b/tools/lib/bpf/btf.c
> index 68b50e9bbde1..00a2f06e38fd 100644
> --- a/tools/lib/bpf/btf.c
> +++ b/tools/lib/bpf/btf.c
> @@ -2326,7 +2326,8 @@ static int btf_dedup_ref_type(struct btf_dedup *d, __u32 type_id)
> struct btf_type *t, *cand;
> /* if we don't find equivalent type, then we are representative type */
> __u32 new_id = type_id;
> - __u32 h, ref_type_id;
> + int ref_type_id;
> + __u32 h;
>
> if (d->map[type_id] == BTF_IN_PROGRESS_ID)
> return -ELOOP;
> --
> 2.17.1
--
- Arnaldo
Powered by blists - more mailing lists