> -----Original Message----- > From: Ferruh Yigit [mailto:ferruh.yi...@intel.com] > Sent: Thursday, October 15, 2020 1:03 AM > To: wangyunjian <wangyunj...@huawei.com>; dev@dpdk.org > Cc: david.march...@redhat.com; jer...@marvell.com; hka...@marvell.com; > Lilijun (Jerry) <jerry.lili...@huawei.com>; xudingke <xudin...@huawei.com>; > sta...@dpdk.org > Subject: Re: [dpdk-stable] [dpdk-dev] [PATCH] eal: fix dereference before null > check > > On 9/19/2020 11:34 AM, wangyunjian wrote: > > From: Yunjian Wang <wangyunj...@huawei.com> > > > > This patch fixes (dereference after null check) coverity issue. > > The intr_handle may be a null pointer which led to this issue. > > > > Coverity issue: 357695, 357751 > > Fixes: 05c4105738d8 ("trace: add interrupt tracepoints") > > Cc: sta...@dpdk.org > > > > Signed-off-by: Yunjian Wang <wangyunj...@huawei.com> > > --- > > lib/librte_eal/freebsd/eal_interrupts.c | 6 ++++-- > > lib/librte_eal/linux/eal_interrupts.c | 6 ++++-- > > 2 files changed, 8 insertions(+), 4 deletions(-) > > > > diff --git a/lib/librte_eal/freebsd/eal_interrupts.c > > b/lib/librte_eal/freebsd/eal_interrupts.c > > index 6d53d33c8..028ab457a 100644 > > --- a/lib/librte_eal/freebsd/eal_interrupts.c > > +++ b/lib/librte_eal/freebsd/eal_interrupts.c > > @@ -380,7 +380,8 @@ rte_intr_enable(const struct rte_intr_handle > *intr_handle) > > } > > > > out: > > - rte_eal_trace_intr_enable(intr_handle, rc); > > + if (intr_handle) > > + rte_eal_trace_intr_enable(intr_handle, rc); > > return rc; > > } > > > > @@ -418,7 +419,8 @@ rte_intr_disable(const struct rte_intr_handle > *intr_handle) > > break; > > } > > out: > > - rte_eal_trace_intr_disable(intr_handle, rc); > > + if (intr_handle) > > + rte_eal_trace_intr_disable(intr_handle, rc); > > return rc; > > } > > > > diff --git a/lib/librte_eal/linux/eal_interrupts.c > > b/lib/librte_eal/linux/eal_interrupts.c > > index 13db5c4e8..e46443873 100644 > > --- a/lib/librte_eal/linux/eal_interrupts.c > > +++ b/lib/librte_eal/linux/eal_interrupts.c > > @@ -725,7 +725,8 @@ rte_intr_enable(const struct rte_intr_handle > *intr_handle) > > break; > > } > > out: > > - rte_eal_trace_intr_enable(intr_handle, rc); > > + if (intr_handle) > > + rte_eal_trace_intr_enable(intr_handle, rc); > > return rc; > > It looks like whole function requires 'intr_handle' to be not NULL, so what do > you think add following at the very beginning of the function and remove other > 'intr_handle' NULL checks from function: > > if (intr_handle == NULL) > return -1;
Agree, I will add them in next version. Thanks, Yunjian > > > } > > > > @@ -852,7 +853,8 @@ rte_intr_disable(const struct rte_intr_handle > *intr_handle) > > break; > > } > > out: > > - rte_eal_trace_intr_disable(intr_handle, rc); > > + if (intr_handle) > > + rte_eal_trace_intr_disable(intr_handle, rc); > > return rc; > > } > > > >