Search Linux Wireless

Re: [linux-stable] 4fc2942b6e kernel BUG at kernel/time/hrtimer.c:109!

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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);



[Index of Archives]     [Linux Host AP]     [ATH6KL]     [Linux Wireless Personal Area Network]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [Linux Kernel]     [IDE]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite Hiking]     [MIPS Linux]     [ARM Linux]     [Linux RAID]

  Powered by Linux