From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752071AbdJKMcz (ORCPT ); Wed, 11 Oct 2017 08:32:55 -0400 Received: from mail-pf0-f194.google.com ([209.85.192.194]:38264 "EHLO mail-pf0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751958AbdJKMcy (ORCPT ); Wed, 11 Oct 2017 08:32:54 -0400 X-Google-Smtp-Source: AOwi7QAx4GfqyECI+cu99PMXC0yMxGKTXd1RAqtlmzy6qc881w66zf/mM1nHEbWEGvYE1kAqK08pVg== Message-ID: <1507725167.2137.5.camel@gmail.com> Subject: Re: [PATCH] Staging: rtlwifi: Remove NULL pointer dereference From: Shreeya Patel To: "Tobin C. Harding" Cc: gregkh@linuxfoundation.org, devel@driverdev.osuosl.org, linux-kernel@vger.kernel.org Date: Wed, 11 Oct 2017 18:02:47 +0530 In-Reply-To: <20171010000607.GA29970@eros> References: <1507583938-13272-1-git-send-email-shreeya.patel23498@gmail.com> <20171010000607.GA29970@eros> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2017-10-10 at 11:06 +1100, Tobin C. Harding wrote: > On Tue, Oct 10, 2017 at 02:48:58AM +0530, Shreeya Patel wrote: > > > > Remove NULL pointer dereference as it results in undefined > > behaviour, and will usually lead to a runtime error. > The diff does not show any pointer dereference so it is hard to > understand what you are trying to do > with this patch. > > > > > Signed-off-by: Shreeya Patel > > --- > >  drivers/staging/rtlwifi/base.c | 2 +- > >  1 file changed, 1 insertion(+), 1 deletion(-) > > > > diff --git a/drivers/staging/rtlwifi/base.c > > b/drivers/staging/rtlwifi/base.c > > index b88b0e8..5bb8f98 100644 > > --- a/drivers/staging/rtlwifi/base.c > > +++ b/drivers/staging/rtlwifi/base.c > > @@ -781,7 +781,7 @@ static void _rtl_txrate_selectmode(struct > > ieee80211_hw *hw, > >   > >   struct rtl_priv *rtlpriv = rtl_priv(hw); > >   struct rtl_mac *mac = rtl_mac(rtl_priv(hw)); > > - struct rtl_sta_info *sta_entry = NULL; > > + struct rtl_sta_info *sta_entry; > Now the pointer just has garbage in it instead of the testable value > of NULL. If you are concerned > with the dereference perhaps you could add a NULL check, again it's > hard to say without seeing the > code. Hello,  Thanks for making me understand.  Here is the code after declaration and initialization of sta_entry.  Will it be good to add a NULL check in this case?  struct rtl_sta_info *sta_entry = NULL; u8 ratr_index = SET_RATE_ID(RATR_INX_WIRELESS_MC); if (sta) { sta_entry = (struct rtl_sta_info *)sta->drv_priv; ratr_index = sta_entry->ratr_index; } If we are making a pointer point to NULL then what if any other variable is already pointing to NULL for some other purpose. Instead, removing initialization will be good right? > > It is hard to see how this patch is correct though. > > Hope this helps, > Tobin.