Re: [PATCH net] net: bridge: start hello timer only if device is up

2017-06-01 Thread Sebastian Ott
On Thu, 1 Jun 2017, Nikolay Aleksandrov wrote:
> When the transition of NO_STP -> KERNEL_STP was fixed by always calling
> mod_timer in br_stp_start, it introduced a new regression which causes
> the timer to be armed even when the bridge is down, and since we stop
> the timers in its ndo_stop() function, they never get disabled if the
> device is destroyed before it's upped.
> 
> To reproduce:
> $ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on;
> ip l del br0; done;
> 
> CC: Xin Long 
> CC: Ivan Vecera 
> CC: Sebastian Ott 
> Reported-by: Sebastian Ott 
> Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in 
> br_stp_start")
> Signed-off-by: Nikolay Aleksandrov 
> ---
> Sebastian it'd be great if you can test the patch as well.

I did and can confirm that it fixes the problem.

Thanks,
Sebastian



Re: [PATCH net] net: bridge: start hello timer only if device is up

2017-06-01 Thread David Miller
From: Nikolay Aleksandrov 
Date: Thu,  1 Jun 2017 18:07:55 +0300

> When the transition of NO_STP -> KERNEL_STP was fixed by always calling
> mod_timer in br_stp_start, it introduced a new regression which causes
> the timer to be armed even when the bridge is down, and since we stop
> the timers in its ndo_stop() function, they never get disabled if the
> device is destroyed before it's upped.
> 
> To reproduce:
> $ while :; do ip l add br0 type bridge hello_time 100; brctl stp br0 on;
> ip l del br0; done;
> 
> CC: Xin Long 
> CC: Ivan Vecera 
> CC: Sebastian Ott 
> Reported-by: Sebastian Ott 
> Fixes: 6d18c732b95c ("bridge: start hello_timer when enabling KERNEL_STP in 
> br_stp_start")
> Signed-off-by: Nikolay Aleksandrov 

Applied and queued up for -stable.