2013-02-14 23:07:51

by Karl Beldan

[permalink] [raw]
Subject: [PATCH] mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv

From: Karl Beldan <[email protected]>

Otherwise memory corruption occurs when using channel contexts (ATM when
param 'channel' > 1).

Signed-off-by: Karl Beldan <[email protected]>
---
drivers/net/wireless/mac80211_hwsim.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index b73e497..cffdf4f 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -2247,6 +2247,7 @@ static int __init init_mac80211_hwsim(void)
/* ask mac80211 to reserve space for magic */
hw->vif_data_size = sizeof(struct hwsim_vif_priv);
hw->sta_data_size = sizeof(struct hwsim_sta_priv);
+ hw->chanctx_data_size = sizeof(struct hwsim_chanctx_priv);

memcpy(data->channels_2ghz, hwsim_channels_2ghz,
sizeof(hwsim_channels_2ghz));
--
1.7.10.GIT




2013-02-14 23:55:29

by Johannes Berg

[permalink] [raw]
Subject: Re: [PATCH] mac80211_hwsim: ask mac80211 to reserve space for chanctx.drv_priv

On Fri, 2013-02-15 at 00:03 +0100, Karl Beldan wrote:
> From: Karl Beldan <[email protected]>
>
> Otherwise memory corruption occurs when using channel contexts (ATM when
> param 'channel' > 1).

Heh, and I've been using it forever with that in kvm, I guess it depends
on the allocator (and the resulting ksize() of the object).

Applied, thanks!

johannes