* [PATCH] staging: rtl8712: Fix pointer dereferenced before checking @ 2022-05-30 8:05 Haowen Bai 2022-05-30 8:14 ` Greg Kroah-Hartman 2022-05-30 9:29 ` Dan Carpenter 0 siblings, 2 replies; 6+ messages in thread From: Haowen Bai @ 2022-05-30 8:05 UTC (permalink / raw) To: Larry Finger, Florian Schilhabel, Greg Kroah-Hartman Cc: Haowen Bai, linux-staging, linux-kernel The padapter->recvpriv.signal_qual_data is dereferencing before null checking, so move it after checking. Signed-off-by: Haowen Bai <baihaowen@meizu.com> --- drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c index 7f1fdd058551..8ed94b259dbe 100644 --- a/drivers/staging/rtl8712/rtl8712_recv.c +++ b/drivers/staging/rtl8712/rtl8712_recv.c @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, { u32 last_evm = 0, tmpVal; struct rx_pkt_attrib *pattrib; - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; + struct smooth_rssi_data *sqd; if (!prframe || !padapter) return; + + sqd = &padapter->recvpriv.signal_qual_data; pattrib = &prframe->u.hdr.attrib; if (pattrib->signal_qual != 0) { /* -- 2.7.4 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH] staging: rtl8712: Fix pointer dereferenced before checking 2022-05-30 8:05 [PATCH] staging: rtl8712: Fix pointer dereferenced before checking Haowen Bai @ 2022-05-30 8:14 ` Greg Kroah-Hartman 2022-05-30 8:22 ` baihaowen 2022-05-30 9:29 ` Dan Carpenter 1 sibling, 1 reply; 6+ messages in thread From: Greg Kroah-Hartman @ 2022-05-30 8:14 UTC (permalink / raw) To: Haowen Bai; +Cc: Larry Finger, Florian Schilhabel, linux-staging, linux-kernel On Mon, May 30, 2022 at 04:05:32PM +0800, Haowen Bai wrote: > The padapter->recvpriv.signal_qual_data is dereferencing before null > checking, so move it after checking. > > Signed-off-by: Haowen Bai <baihaowen@meizu.com> > --- > drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c > index 7f1fdd058551..8ed94b259dbe 100644 > --- a/drivers/staging/rtl8712/rtl8712_recv.c > +++ b/drivers/staging/rtl8712/rtl8712_recv.c > @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, > { > u32 last_evm = 0, tmpVal; > struct rx_pkt_attrib *pattrib; > - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; > + struct smooth_rssi_data *sqd; > > if (!prframe || !padapter) > return; > + > + sqd = &padapter->recvpriv.signal_qual_data; How can padapter ever be NULL in this codepath? thanks, greg k-h ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] staging: rtl8712: Fix pointer dereferenced before checking 2022-05-30 8:14 ` Greg Kroah-Hartman @ 2022-05-30 8:22 ` baihaowen 2022-05-30 8:26 ` Greg Kroah-Hartman 0 siblings, 1 reply; 6+ messages in thread From: baihaowen @ 2022-05-30 8:22 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Larry Finger, Florian Schilhabel, linux-staging, linux-kernel 在 2022/5/30 下午4:14, Greg Kroah-Hartman 写道: > On Mon, May 30, 2022 at 04:05:32PM +0800, Haowen Bai wrote: >> The padapter->recvpriv.signal_qual_data is dereferencing before null >> checking, so move it after checking. >> >> Signed-off-by: Haowen Bai <baihaowen@meizu.com> >> --- >> drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- >> 1 file changed, 3 insertions(+), 1 deletion(-) >> >> diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c >> index 7f1fdd058551..8ed94b259dbe 100644 >> --- a/drivers/staging/rtl8712/rtl8712_recv.c >> +++ b/drivers/staging/rtl8712/rtl8712_recv.c >> @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, >> { >> u32 last_evm = 0, tmpVal; >> struct rx_pkt_attrib *pattrib; >> - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; >> + struct smooth_rssi_data *sqd; >> >> if (!prframe || !padapter) >> return; >> + >> + sqd = &padapter->recvpriv.signal_qual_data; > How can padapter ever be NULL in this codepath? > > thanks, > > greg k-h Just the original code, show me if (!prframe || !padapter) It would be null, and then return. -- Haowen Bai ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] staging: rtl8712: Fix pointer dereferenced before checking 2022-05-30 8:22 ` baihaowen @ 2022-05-30 8:26 ` Greg Kroah-Hartman 2022-05-30 8:44 ` baihaowen 0 siblings, 1 reply; 6+ messages in thread From: Greg Kroah-Hartman @ 2022-05-30 8:26 UTC (permalink / raw) To: baihaowen; +Cc: Larry Finger, Florian Schilhabel, linux-staging, linux-kernel On Mon, May 30, 2022 at 04:22:11PM +0800, baihaowen wrote: > 在 2022/5/30 下午4:14, Greg Kroah-Hartman 写道: > > On Mon, May 30, 2022 at 04:05:32PM +0800, Haowen Bai wrote: > >> The padapter->recvpriv.signal_qual_data is dereferencing before null > >> checking, so move it after checking. > >> > >> Signed-off-by: Haowen Bai <baihaowen@meizu.com> > >> --- > >> drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- > >> 1 file changed, 3 insertions(+), 1 deletion(-) > >> > >> diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c > >> index 7f1fdd058551..8ed94b259dbe 100644 > >> --- a/drivers/staging/rtl8712/rtl8712_recv.c > >> +++ b/drivers/staging/rtl8712/rtl8712_recv.c > >> @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, > >> { > >> u32 last_evm = 0, tmpVal; > >> struct rx_pkt_attrib *pattrib; > >> - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; > >> + struct smooth_rssi_data *sqd; > >> > >> if (!prframe || !padapter) > >> return; > >> + > >> + sqd = &padapter->recvpriv.signal_qual_data; > > How can padapter ever be NULL in this codepath? > > > > thanks, > > > > greg k-h > Just the original code, show me > > if (!prframe || !padapter) > > It would be null, and then return. Again, trace things backwards, how can padapter ever be NULL? ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] staging: rtl8712: Fix pointer dereferenced before checking 2022-05-30 8:26 ` Greg Kroah-Hartman @ 2022-05-30 8:44 ` baihaowen 0 siblings, 0 replies; 6+ messages in thread From: baihaowen @ 2022-05-30 8:44 UTC (permalink / raw) To: Greg Kroah-Hartman Cc: Larry Finger, Florian Schilhabel, linux-staging, linux-kernel 在 2022/5/30 下午4:26, Greg Kroah-Hartman 写道: > On Mon, May 30, 2022 at 04:22:11PM +0800, baihaowen wrote: >> 在 2022/5/30 下午4:14, Greg Kroah-Hartman 写道: >>> On Mon, May 30, 2022 at 04:05:32PM +0800, Haowen Bai wrote: >>>> The padapter->recvpriv.signal_qual_data is dereferencing before null >>>> checking, so move it after checking. >>>> >>>> Signed-off-by: Haowen Bai <baihaowen@meizu.com> >>>> --- >>>> drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- >>>> 1 file changed, 3 insertions(+), 1 deletion(-) >>>> >>>> diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c >>>> index 7f1fdd058551..8ed94b259dbe 100644 >>>> --- a/drivers/staging/rtl8712/rtl8712_recv.c >>>> +++ b/drivers/staging/rtl8712/rtl8712_recv.c >>>> @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, >>>> { >>>> u32 last_evm = 0, tmpVal; >>>> struct rx_pkt_attrib *pattrib; >>>> - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; >>>> + struct smooth_rssi_data *sqd; >>>> >>>> if (!prframe || !padapter) >>>> return; >>>> + >>>> + sqd = &padapter->recvpriv.signal_qual_data; >>> How can padapter ever be NULL in this codepath? >>> >>> thanks, >>> >>> greg k-h >> Just the original code, show me >> >> if (!prframe || !padapter) >> >> It would be null, and then return. > Again, trace things backwards, how can padapter ever be NULL? padapter will not be null, since it's initialized by netdev_priv(pnetdev) and return if pnetdev is null. r871xu_drv_init() ...... pnetdev = r8712_init_netdev(); if (!pnetdev) goto error; padapter = netdev_priv(pnetdev); status = r8712_init_drv_sw(padapter); ...... -- Haowen Bai ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH] staging: rtl8712: Fix pointer dereferenced before checking 2022-05-30 8:05 [PATCH] staging: rtl8712: Fix pointer dereferenced before checking Haowen Bai 2022-05-30 8:14 ` Greg Kroah-Hartman @ 2022-05-30 9:29 ` Dan Carpenter 1 sibling, 0 replies; 6+ messages in thread From: Dan Carpenter @ 2022-05-30 9:29 UTC (permalink / raw) To: Haowen Bai Cc: Larry Finger, Florian Schilhabel, Greg Kroah-Hartman, linux-staging, linux-kernel On Mon, May 30, 2022 at 04:05:32PM +0800, Haowen Bai wrote: > The padapter->recvpriv.signal_qual_data is dereferencing before null > checking, so move it after checking. > > Signed-off-by: Haowen Bai <baihaowen@meizu.com> > --- > drivers/staging/rtl8712/rtl8712_recv.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/staging/rtl8712/rtl8712_recv.c b/drivers/staging/rtl8712/rtl8712_recv.c > index 7f1fdd058551..8ed94b259dbe 100644 > --- a/drivers/staging/rtl8712/rtl8712_recv.c > +++ b/drivers/staging/rtl8712/rtl8712_recv.c > @@ -863,10 +863,12 @@ static void process_link_qual(struct _adapter *padapter, > { > u32 last_evm = 0, tmpVal; > struct rx_pkt_attrib *pattrib; > - struct smooth_rssi_data *sqd = &padapter->recvpriv.signal_qual_data; > + struct smooth_rssi_data *sqd; This is not a dereference. > > if (!prframe || !padapter) > return; Not a bug. Also I agree with your other email that "padapter" cannot be NULL so the NULL check can be safely deleted. regards, dan carpenter ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2022-05-30 9:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2022-05-30 8:05 [PATCH] staging: rtl8712: Fix pointer dereferenced before checking Haowen Bai 2022-05-30 8:14 ` Greg Kroah-Hartman 2022-05-30 8:22 ` baihaowen 2022-05-30 8:26 ` Greg Kroah-Hartman 2022-05-30 8:44 ` baihaowen 2022-05-30 9:29 ` Dan Carpenter
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox