Message ID | 20180529091412.8530-1-colin.king@canonical.com (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Johannes Berg |
Headers | show |
On Tue, 2018-05-29 at 10:14 +0100, Colin King wrote: > > @@ -3573,7 +3573,9 @@ static int __init init_mac80211_hwsim(void) > hwsim_wq = alloc_workqueue("hwsim_wq", 0, 0); > if (!hwsim_wq) > return -ENOMEM; > - rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > + err = rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > + if (err) > + return err; That's missing a workqueue free, but I can fix that while applying if you prefer. johannes
On 29/05/18 10:17, Johannes Berg wrote: > On Tue, 2018-05-29 at 10:14 +0100, Colin King wrote: >> >> @@ -3573,7 +3573,9 @@ static int __init init_mac80211_hwsim(void) >> hwsim_wq = alloc_workqueue("hwsim_wq", 0, 0); >> if (!hwsim_wq) >> return -ENOMEM; >> - rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); >> + err = rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); >> + if (err) >> + return err; > > That's missing a workqueue free, but I can fix that while applying if > you prefer. Please do. Thanks > > johannes >
On Tue, May 29, 2018 at 11:17:08AM +0200, Johannes Berg wrote: > On Tue, 2018-05-29 at 10:14 +0100, Colin King wrote: > > > > @@ -3573,7 +3573,9 @@ static int __init init_mac80211_hwsim(void) > > hwsim_wq = alloc_workqueue("hwsim_wq", 0, 0); > > if (!hwsim_wq) > > return -ENOMEM; > > - rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > > + err = rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > > + if (err) > > + return err; > > That's missing a workqueue free, but I can fix that while applying if > you prefer. > And we don't free the hashtable on error either. regards, dan carpenter
On Tue, 2018-05-29 at 13:00 +0300, Dan Carpenter wrote: > On Tue, May 29, 2018 at 11:17:08AM +0200, Johannes Berg wrote: > > On Tue, 2018-05-29 at 10:14 +0100, Colin King wrote: > > > > > > @@ -3573,7 +3573,9 @@ static int __init init_mac80211_hwsim(void) > > > hwsim_wq = alloc_workqueue("hwsim_wq", 0, 0); > > > if (!hwsim_wq) > > > return -ENOMEM; > > > - rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > > > + err = rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); > > > + if (err) > > > + return err; > > > > That's missing a workqueue free, but I can fix that while applying if > > you prefer. > > > > And we don't free the hashtable on error either. Heh. Ok, I guess I'll make a whole new commit to fix up all the things here. johannes
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c index 89fc22520d40..f4b4f5690b16 100644 --- a/drivers/net/wireless/mac80211_hwsim.c +++ b/drivers/net/wireless/mac80211_hwsim.c @@ -3573,7 +3573,9 @@ static int __init init_mac80211_hwsim(void) hwsim_wq = alloc_workqueue("hwsim_wq", 0, 0); if (!hwsim_wq) return -ENOMEM; - rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); + err = rhashtable_init(&hwsim_radios_rht, &hwsim_rht_params); + if (err) + return err; err = register_pernet_device(&hwsim_net_ops); if (err)