From: Baichuan Qi <zghbqbc@gmail.com>
To: quic_vthiagar@quicinc.com
Cc: ath11k@lists.infradead.org, jjohnson@kernel.org,
kvalo@kernel.org, linux-kernel@vger.kernel.org,
linux-wireless@vger.kernel.org, markus.elfring@web.de,
zghbqbc@gmail.com
Subject: Re: Re: [PATCH v5] NAK
Date: Thu, 28 Nov 2024 14:09:31 +0800 [thread overview]
Message-ID: <20241128060931.94100-1-zghbqbc@gmail.com> (raw)
In-Reply-To: <f0077f4f-922d-56b1-a5b7-bb01e4462e87@quicinc.com>
Thanks for your reply
The reason I submit this patch is that the current
`ath11k_ce_rx_post_pipe()` NULL pointer check does not ensure
that `dest_ring` is NON-NULL. And it is not clear to show the
filtering of tx ce pipes
> This does not really fix any real issue. Please check ath11k_ce_alloc_pipe()
> where initialization would fail if anyone of pipe->dest_ring and
> pipe->status_ring allocation fails for ce pipe used for Rx.
When the driver is running normally, the results of the
following three are equal:
---
(pipe->dest_ring || pipe->status_ring) // current code
(pipe->dest_ring && pipe->status_ring)
(pipe->dest_ring)
---
However, when some errors occur and `dest_ring` is abnormal,
the OR operation cannot guarantee that the pointer is NON-NULL.
> This will always fail as the caller loops through all the supported ce pipes
> and ce pipes used for Tx will not have either dest_ring or status_ring.
> Please ensure the patch is tested properly.
I tested [PATCH v5] and indeed the wrong return value will lead
to wrong results when the pointer is null.
Please refer to [PATCH v4].
Link: https://lore.kernel.org/ath11k/20241127114310.26085-1-zghbqbc@gmail.com/
Although it does not return an error code, it can ensure that
when an unknown error occurs and causes the status of
`dest_ring` and `status_ring` to be different, the subsequent
code will not access the null pointer, which will only
cause the driver to fall into loops.
Thanks for you read.
Thanks
Baichuan Qi
next prev parent reply other threads:[~2024-11-28 6:09 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-25 5:08 [PATCH] wifi: ath11k: Fix NULL pointer check in ath11k_ce_rx_post_pipe() Baichuan Qi
2024-11-25 10:34 ` Markus Elfring
2024-11-26 2:33 ` Baichuan Qi
2024-11-26 13:44 ` Markus Elfring
2024-11-27 3:28 ` zgBCQ
2024-11-27 12:40 ` Markus Elfring
2024-11-27 14:35 ` Re: wifi: ath11k: Fix NULL pointer check in ath11k_ce_rx_post_pipe() ERROR code Baichuan Qi
2024-11-27 14:38 ` [PATCH v5] wifi: ath11k: Fix NULL pointer check in ath11k_ce_rx_post_pipe() Baichuan Qi
2024-11-27 15:23 ` Vasanthakumar Thiagarajan
2024-11-28 6:09 ` Baichuan Qi [this message]
2024-11-27 3:32 ` [PATCH v2 1/1] " Baichuan Qi
2024-11-27 9:05 ` [PATCH v4?] " Markus Elfring
2024-11-27 9:43 ` [PATCH v3] " Baichuan Qi
2024-11-27 10:30 ` Kang Yang
2024-11-27 12:00 ` Baichuan Qi
2024-11-27 10:36 ` [PATCH v4?] " Markus Elfring
2024-11-27 11:43 ` [PATCH v4] " Baichuan Qi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20241128060931.94100-1-zghbqbc@gmail.com \
--to=zghbqbc@gmail.com \
--cc=ath11k@lists.infradead.org \
--cc=jjohnson@kernel.org \
--cc=kvalo@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-wireless@vger.kernel.org \
--cc=markus.elfring@web.de \
--cc=quic_vthiagar@quicinc.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®