lkml.org 
[lkml]   [2023]   [Jan]   [24]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH AUTOSEL 6.1 08/35] mac80211: Fix MLO address translation for multiple bss case
    Date
    From: Sriram R <quic_srirrama@quicinc.com>

    [ Upstream commit fa22b51ace8aa106267636f36170e940e676809c ]

    When multiple interfaces are present in the local interface
    list, new skb copy is taken before rx processing except for
    the first interface. The address translation happens each
    time only on the original skb since the hdr pointer is not
    updated properly to the newly created skb.

    As a result frames start to drop in userspace when address
    based checks or search fails.

    Signed-off-by: Sriram R <quic_srirrama@quicinc.com>
    Link: https://lore.kernel.org/r/20221208040050.25922-1-quic_srirrama@quicinc.com
    Signed-off-by: Johannes Berg <johannes.berg@intel.com>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    net/mac80211/rx.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/net/mac80211/rx.c b/net/mac80211/rx.c
    index f99416d2e144..60b83cbbd5b0 100644
    --- a/net/mac80211/rx.c
    +++ b/net/mac80211/rx.c
    @@ -4859,6 +4859,9 @@ static bool ieee80211_prepare_and_rx_handle(struct ieee80211_rx_data *rx,
    */
    shwt = skb_hwtstamps(rx->skb);
    shwt->hwtstamp = skb_hwtstamps(skb)->hwtstamp;
    +
    + /* Update the hdr pointer to the new skb for translation below */
    + hdr = (struct ieee80211_hdr *)rx->skb->data;
    }

    if (unlikely(link_sta)) {
    --
    2.39.0
    \
     
     \ /
      Last update: 2023-03-26 23:54    [W:4.675 / U:1.052 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site