On Fri, 2016-07-01 at 15:38 +0800, Ding Tianhong wrote:
...
>  net/ipv6/addrconf.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/net/ipv6/addrconf.c b/net/ipv6/addrconf.c
> index f555f4f..e294a3d 100644
> --- a/net/ipv6/addrconf.c
> +++ b/net/ipv6/addrconf.c
> @@ -3284,6 +3284,12 @@ restart:
>               spin_unlock_bh(&addrconf_hash_lock);
>       }
>  
> +     /*
> +      * It is safe here to schedule out to avoid softlocking if preempt
> +      * is disabled.
> +      */
> +     cond_resched();
> +
>       write_lock_bh(&idev->lock);
>  
>       addrconf_del_rs_timer(idev);

Seeing you apparently cooked your patch against an old kernel (which
one ?) ...

I tried vanilla net-next kernel, and apparently I could not trigger the
softlockup you mentioned.

Are you sure current kernel has a bug to begin with ?

Thanks.



Reply via email to