From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dennis Dalessandro Subject: Re: [PATCH] IB/hfi1: Prevent a NULL dereference Date: Tue, 9 Jan 2018 09:02:46 -0500 Message-ID: References: <20180109092714.valolokywtmbprw7@mwanda> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit Return-path: In-Reply-To: <20180109092714.valolokywtmbprw7@mwanda> Content-Language: en-US Sender: kernel-janitors-owner@vger.kernel.org To: Dan Carpenter , Mike Marciniszyn , "Michael J. Ruhl" Cc: Doug Ledford , Jason Gunthorpe , linux-rdma@vger.kernel.org, kernel-janitors@vger.kernel.org List-Id: linux-rdma@vger.kernel.org On 1/9/2018 4:27 AM, Dan Carpenter wrote: > In the original code, we set "fd->uctxt" to NULL and then dereference it > which will cause an Oops. > > Fixes: f2a3bc00a03c ("IB/hfi1: Protect context array set/clear with spinlock") > Signed-off-by: Dan Carpenter > > diff --git a/drivers/infiniband/hw/hfi1/file_ops.c b/drivers/infiniband/hw/hfi1/file_ops.c > index 82086241aac3..3de1ac94bb85 100644 > --- a/drivers/infiniband/hw/hfi1/file_ops.c > +++ b/drivers/infiniband/hw/hfi1/file_ops.c > @@ -763,10 +763,10 @@ static int complete_subctxt(struct hfi1_filedata *fd) > } > > if (ret) { > + __clear_bit(fd->subctxt, fd->uctxt->in_use_ctxts); > hfi1_rcd_put(fd->uctxt); > fd->uctxt = NULL; > spin_lock_irqsave(&fd->dd->uctxt_lock, flags); > - __clear_bit(fd->subctxt, fd->uctxt->in_use_ctxts); > spin_unlock_irqrestore(&fd->dd->uctxt_lock, flags); > } > > Thanks! Acked-by: Dennis Dalessandro