Skip to content

Commit 5d810ba

Browse files
Ali Tariqgregkh
authored andcommitted
wifi: rtl8xxxu: fix slab-out-of-bounds in rtl8xxxu_sta_add
commit 86c946b upstream. The driver does not set hw->sta_data_size, which causes mac80211 to allocate insufficient space for driver private station data in __sta_info_alloc(). When rtl8xxxu_sta_add() accesses members of struct rtl8xxxu_sta_info through sta->drv_priv, this results in a slab-out-of-bounds write. KASAN report on RISC-V (VisionFive 2) with RTL8192EU adapter: BUG: KASAN: slab-out-of-bounds in rtl8xxxu_sta_add+0x31c/0x346 Write of size 8 at addr ffffffd6d3e9ae88 by task kworker/u16:0/12 Set hw->sta_data_size to sizeof(struct rtl8xxxu_sta_info) during probe, similar to how hw->vif_data_size is configured. This ensures mac80211 allocates sufficient space for the driver's per-station private data. Tested on StarFive VisionFive 2 v1.2A board. Fixes: eef55f1 ("wifi: rtl8xxxu: support multiple interfaces in {add,remove}_interface()") Cc: stable@vger.kernel.org Signed-off-by: Ali Tariq <alitariq45892@gmail.com> Reviewed-by: Ping-Ke Shih <pkshih@realtek.com> Signed-off-by: Ping-Ke Shih <pkshih@realtek.com> Link: https://patch.msgid.link/20251225115430.13011-1-alitariq45892@gmail.com Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
1 parent d9af3cf commit 5d810ba

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

  • drivers/net/wireless/realtek/rtl8xxxu

drivers/net/wireless/realtek/rtl8xxxu/core.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7903,6 +7903,7 @@ static int rtl8xxxu_probe(struct usb_interface *interface,
79037903
goto err_set_intfdata;
79047904

79057905
hw->vif_data_size = sizeof(struct rtl8xxxu_vif);
7906+
hw->sta_data_size = sizeof(struct rtl8xxxu_sta_info);
79067907

79077908
hw->wiphy->max_scan_ssids = 1;
79087909
hw->wiphy->max_scan_ie_len = IEEE80211_MAX_DATA_LEN;

0 commit comments

Comments
 (0)