Messages in this thread | | | From | Michael Chan <> | Date | Wed, 31 Jul 2019 10:48:28 -0700 | Subject | Re: [PATCH 1/2] bnxt_en: Use refcount_t for refcount |
| |
On Wed, Jul 31, 2019 at 9:06 AM Willem de Bruijn <willemdebruijn.kernel@gmail.com> wrote: > > On Wed, Jul 31, 2019 at 8:22 AM Chuhong Yuan <hslester96@gmail.com> wrote: > > > > refcount_t is better for reference counters since its > > implementation can prevent overflows. > > So convert atomic_t ref counters to refcount_t. > > > > Signed-off-by: Chuhong Yuan <hslester96@gmail.com> > > --- > > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c | 8 ++++---- > > drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.h | 2 +- > > 2 files changed, 5 insertions(+), 5 deletions(-) > > > > diff --git a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > > index fc77caf0a076..eb7ed34639e2 100644 > > --- a/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > > +++ b/drivers/net/ethernet/broadcom/bnxt/bnxt_ulp.c > > @@ -49,7 +49,7 @@ static int bnxt_register_dev(struct bnxt_en_dev *edev, int ulp_id, > > return -ENOMEM; > > } > > > > - atomic_set(&ulp->ref_count, 0); > > + refcount_set(&ulp->ref_count, 0); > > One feature of refcount_t is that it warns on refcount_inc from 0 to > detect possible use-after_free. It appears that that can trigger here? >
I think that's right. We need to change the driver to start counting from 1 instead of 0 if we convert to refcount.
| |