This looks like two -tip trees together show some issue - the timer
updates from Thomas triggering a debugobjects check from Ingo, thus
fingering my merge as the culprit.
Added Thomas/Ingo to the cc, leaving everything quoted for their
edification and enjoyment.
On Fri, 17 Feb 2017, kernel test robot wrote:
Hi Marc,
We find this oops in linux-4.4.y. The gcc-6 compiled mainline kernel is fine.
commit 4fc2942b6e2de2efc8a9d3784d4b0d3543149613
hrtimer: Catch illegal clockids
And that commit is doing what the subject line says. Catch illegal usage.
[ 38.101342] Call Trace:
[ 38.101342] Call Trace:
[ 38.102045] [<ffffffff8109aee1>] tasklet_hrtimer_init+0x16/0x52
[ 38.102045] [<ffffffff8109aee1>] tasklet_hrtimer_init+0x16/0x52
[ 38.103698] [<ffffffff81c767c7>] mac80211_hwsim_new_radio+0x766/0x84d
The real bug is in this code:
drivers/net/wireless/mac80211_hwsim.c
mac80211_hwsim_new_radio()
tasklet_hrtimer_init(&data->beacon_timer,
mac80211_hwsim_beacon,
CLOCK_MONOTONIC_RAW, HRTIMER_MODE_ABS);
CLOCK_MONOTONIC_RAW is not a supported clockid for hrtimers. Sigh.
Fix below.
Thanks,
tglx
8<------------------
diff --git a/drivers/net/wireless/mac80211_hwsim.c b/drivers/net/wireless/mac80211_hwsim.c
index 0cd95120bc78..da363ec91a1c 100644
--- a/drivers/net/wireless/mac80211_hwsim.c
+++ b/drivers/net/wireless/mac80211_hwsim.c
@@ -2535,9 +2535,8 @@ static int mac80211_hwsim_new_radio(struct genl_info *info,
data->debugfs,
data, &hwsim_simulate_radar);
- tasklet_hrtimer_init(&data->beacon_timer,
- mac80211_hwsim_beacon,
- CLOCK_MONOTONIC_RAW, HRTIMER_MODE_ABS);
+ tasklet_hrtimer_init(&data->beacon_timer, mac80211_hwsim_beacon,
+ CLOCK_MONOTONIC, HRTIMER_MODE_ABS);
spin_lock_bh(&hwsim_radio_lock);
list_add_tail(&data->list, &hwsim_radios);