From: Ping-Ke Shih <pkshih@realtek.com>
To: Luka Gejak <luka.gejak@linux.dev>,
Huihui Huang <hhhuang@smu.edu.sg>,
"linux-wireless@vger.kernel.org" <linux-wireless@vger.kernel.org>
Subject: RE: [PATCH rtw-next v3 2/2] wifi: rtw88: check the C2H payload length before reading it
Date: Mon, 9 Nov 2026 02:07:03 +0000 [thread overview]
Message-ID: <d7a44f3816664c74886ae08ba2c4cff1@realtek.com> (raw)
In-Reply-To: <bd0f7a6723a11810263d3e35eb41cd9a096f051d@linux.dev>
Luka Gejak <luka.gejak@linux.dev> wrote:
> Hi Ping-Ke,
>
> Just one comment on the struct idea.
>
> November 8, 2026 at 3:56 AM, "Ping-Ke Shih" <pkshih@realtek.com> wrote:
>
> >
> > Huihui Huang <hhhuang@smu.edu.sg> wrote:
> >
> >>
> >> + if (rtw_c2h_payload_len(skb) < 3) {
> >
> > The 3 is because of GET_SCAN_REPORT_RETURN_CODE(). How does people understand
> > what 3 means?
> >
> > Maybe, we should define specific struct for status_report, like
> >
> > struct status_report {
> > u8 id;
> > u8 seq;
> > u8 rsvd[2]
> > u8 retrun_code;
> > };
> >
> > struct status_report *status_report = get_c2h_from_skb(skb);
> >
> > if (rtw_c2h_payload_len(skb) < sizeof(*status_report))
>
> Agreed, a struct is much easier to follow than the bare numbers. One
> small thing though. This struct starts at the C2H header, but
> rtw_c2h_payload_len() leaves the two header bytes out. So as far as I can
> see the check would ask for 5 payload bytes while only 3 are read, and a
> valid report with 3 or 4 payload bytes would be treated as too short.
>
> Maybe the struct could cover only the payload, like struct rtw_c2h_ra_rpt
> and struct rtw_c2h_adaptivity already do:
>
> struct rtw_c2h_scan_status_rpt {
> u8 rsvd[2];
> u8 return_code;
> } __packed;
>
> Then it compares with rtw_c2h_payload_len() directly, and the same would
> work for the channel switch report and the two TX report formats.
I just don't want magic number 3, 5 and etc. That's very hard to people
to understand. No strict opinion about the struct.
prev parent reply other threads:[~2026-11-09 2:07 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-11-05 12:59 [PATCH rtw-next v3 0/2] wifi: rtw88: check C2H header and payload lengths Huihui Huang
2026-11-05 12:59 ` [PATCH rtw-next v3 1/2] wifi: rtw88: drop C2H packets shorter than the C2H header Huihui Huang
2026-11-08 2:31 ` Ping-Ke Shih
2026-11-05 12:59 ` [PATCH rtw-next v3 2/2] wifi: rtw88: check the C2H payload length before reading it Huihui Huang
2026-11-06 14:12 ` Luka Gejak
2026-11-08 2:56 ` Ping-Ke Shih
2026-11-08 7:25 ` Luka Gejak
2026-11-09 2:07 ` Ping-Ke Shih [this message]
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=d7a44f3816664c74886ae08ba2c4cff1@realtek.com \
--to=pkshih@realtek.com \
--cc=hhhuang@smu.edu.sg \
--cc=linux-wireless@vger.kernel.org \
--cc=luka.gejak@linux.dev \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.