From: Salman Alghamdi <me@cipherat.com>
To: "Luka Gejak" <luka.gejak@linux.dev>
Cc: gregkh@linuxfoundation.org, straube.linux@gmail.com,
linux-staging@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH v2] staging: rtl8723bs: rtw_mlme: fix line length warnings
Date: Sun, 26 Apr 2026 05:33:23 +0300 [thread overview]
Message-ID: <87fr4itpqk.fsf@cipherat.com> (raw)
In-Reply-To: <DI2H39EAAFBZ.3KI5NWN02AQ2S@linux.dev> (Luka Gejak's message of "Sat, 25 Apr 2026 21:12:16 +0200")
> glad to see v2, just one thing before inline reviews of the code. You
> don't have to state what did you do to make lines shorter than 100
> characters, because we can read the diff and this commit message is too
> long for cleanup patch.
>
Understood. Will keep it shorter in v3.
>> }
>>
>> -struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue, struct wlan_network *network)
>> +struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue,
>> + struct wlan_network *network)
> ^^^^^
> This is still not aligned correctly. Please do it like:
> struct wlan_network *_rtw_find_same_network(struct __queue *scanned_queue,
> struct wlan_network *network)
>
Will investigate and fix the alignment issues in v3.
>> @@ -462,10 +470,12 @@ static void update_current_network(struct adapter *adapter, struct wlan_bssid_ex
>> &pmlmepriv->cur_network.network,
>> &pmlmepriv->cur_network.network);
>>
>> - if (check_fwstate(pmlmepriv, _FW_LINKED) && (is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0))) {
>> + u8 *ie = pmlmepriv->cur_network.network.ies + sizeof(struct ndis_802_11_fix_ie);
>
> You should declare u8 *ie inside the if statement to reduce its scope as
> much as possible and if left this way it will declare it even if
> condition is false.
>
>> +
>> + if (check_fwstate(pmlmepriv, _FW_LINKED) &&
>> + is_same_network(&pmlmepriv->cur_network.network, pnetwork, 0)) {
>> update_network(&pmlmepriv->cur_network.network, pnetwork, adapter, true);
>
> Put u8 *ie ... here, under update_network.
>
Should variables always be declared at the nearest enclosing scope
where they're used, or at the top of the function?
>> - rtw_update_protection(adapter, (pmlmepriv->cur_network.network.ies) + sizeof(struct ndis_802_11_fix_ie),
>> - pmlmepriv->cur_network.network.ie_length);
>> + rtw_update_protection(adapter, ie, pmlmepriv->cur_network.network.ie_length);
>> }
>> }
>>
>> @@ -600,12 +610,16 @@ static bool rtw_is_desired_network(struct adapter *adapter, struct wlan_network
>> desired_encmode = psecuritypriv->ndisencryptstatus;
>> privacy = pnetwork->network.privacy;
>>
>> + u8 *ie_ptr = pnetwork->network.ies + _FIXED_IE_LENGTH_;
>> + u32 ie_len_val = pnetwork->network.ie_length - _FIXED_IE_LENGTH_;
>> +
>> if (check_fwstate(pmlmepriv, WIFI_UNDER_WPS)) {
>
> Again you should move two variables declared above here, inside if
> statement. Additionally, calculating ie_len_val outside the check is
> risky. You should ensure ie_length is actually greater than
> _FIXED_IE_LENGTH_ before performing the subtraction to prevent an
> unsigned underflow/wrap-around.
>
Should the guard be a simple early return if ie_length is smaller
than the offset, or is there a preferred pattern for this?
>> @@ -1072,10 +1113,13 @@ static void rtw_joinbss_update_network(struct adapter *padapter, struct wlan_net
>> break;
>> }
>>
>> - rtw_update_protection(padapter, (cur_network->network.ies) + sizeof(struct ndis_802_11_fix_ie),
>> - (cur_network->network.ie_length));
>> + u8 *ie = cur_network->network.ies + sizeof(struct ndis_802_11_fix_ie);
>>
>> - rtw_update_ht_cap(padapter, cur_network->network.ies, cur_network->network.ie_length, (u8) cur_network->network.configuration.ds_config);
>> + rtw_update_protection(padapter, ie, (cur_network->network.ie_length));
>
> The original code had a potential buffer over-read here by passing the
> full ie_length with an offset pointer. Since you are refactoring this
> line, please fix this bug, in a separate patch, by subtracting the
> offset from the length and ensuring the length is actually large enough
> first. 1/X of the patch series should be bug fix, 2/X should be this
> cleanup. Don't forget to add Fixes and Reported-by tags. Check if this
> bug is present in stable tree and if so add Cc: stable@vger.kernel.org
> as well.
>
Should this bug fix be in the same patch that will fix previously
mentioned subtraction underflow(s)?
>> @@ -1684,7 +1764,9 @@ static int rtw_check_roaming_candidate(struct mlme_priv *mlme
>> if (jiffies_to_msecs(jiffies - competitor->last_scanned) >= mlme->roam_scanr_exp_ms)
>> goto exit;
>>
>> - if (competitor->network.rssi - mlme->cur_network_scanned->network.rssi < mlme->roam_rssi_diff_th)
>> + long rssi_diff = competitor->network.rssi - mlme->cur_network_scanned->network.rssi;
>
> You are declaring a variable (rssi_diff) after executable code again.
> All declarations must be at the top of the function. Additionally, why
> use long here?
>
The type of rssi in struct wlan_bssid_ex is long so I matched it.
Will double check and correct if needed.
Cheers,
Salman Alghamdi.
next prev parent reply other threads:[~2026-04-26 2:33 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-04-25 16:56 [PATCH v2] staging: rtl8723bs: rtw_mlme: fix line length warnings Salman Alghamdi
2026-04-25 19:12 ` Luka Gejak
2026-04-26 2:33 ` Salman Alghamdi [this message]
2026-04-26 6:37 ` Luka Gejak
2026-04-26 6:48 ` Luka Gejak
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=87fr4itpqk.fsf@cipherat.com \
--to=me@cipherat.com \
--cc=gregkh@linuxfoundation.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-staging@lists.linux.dev \
--cc=luka.gejak@linux.dev \
--cc=straube.linux@gmail.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 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.