From: Jon M. <jm...@re...> - 2020-03-18 14:28:10
|
On 2/20/20 10:44 AM, Xin Long wrote: > On Wed, Feb 19, 2020 at 4:34 PM Dmitry Vyukov <dv...@go...> wrote: >> On Wed, Feb 19, 2020 at 9:29 AM Dmitry Vyukov <dv...@go...> wrote: >>> On Mon, Aug 12, 2019 at 9:44 AM Ying Xue <yin...@wi...> wrote: >>>> syzbot found the following issue: >>>> >>>> [ 81.119772][ T8612] BUG: using smp_processor_id() in preemptible [00000000] code: syz-executor834/8612 >>>> [ 81.136212][ T8612] caller is dst_cache_get+0x3d/0xb0 >>>> [ 81.141450][ T8612] CPU: 0 PID: 8612 Comm: syz-executor834 Not tainted 5.2.0-rc6+ #48 [...] >>>> Fixes: e9c1a793210f ("tipc: add dst_cache support for udp media") >>>> Reported-by: syz...@sy... >>>> Signed-off-by: Hillf Danton <hd...@si...> >>>> Signed-off-by: Ying Xue <yin...@wi...> >>> Hi, >>> >>> Was this ever merged? >>> The bug is still open, alive and kicking: >>> https://syzkaller.appspot.com/bug?extid=1a68504d96cd17b33a05 >>> >>> and one of the top crashers currently. >>> Along with few other top crashers, these bugs prevent most of the >>> other kernel testing from happening. >> /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\ >> >> +jmaloy new email address Acked-by: Jon Maloy <jm...@re...> >> >>>> --- >>>> net/tipc/udp_media.c | 12 +++++++++--- >>>> 1 file changed, 9 insertions(+), 3 deletions(-) >>>> >>>> diff --git a/net/tipc/udp_media.c b/net/tipc/udp_media.c >>>> index 287df687..ca3ae2e 100644 >>>> --- a/net/tipc/udp_media.c >>>> +++ b/net/tipc/udp_media.c >>>> @@ -224,6 +224,8 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, >>>> struct udp_bearer *ub; >>>> int err = 0; >>>> >>>> + local_bh_disable(); >>>> + >>>> if (skb_headroom(skb) < UDP_MIN_HEADROOM) { >>>> err = pskb_expand_head(skb, UDP_MIN_HEADROOM, 0, GFP_ATOMIC); >>>> if (err) >>>> @@ -237,9 +239,12 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, >>>> goto out; >>>> } >>>> >>>> - if (addr->broadcast != TIPC_REPLICAST_SUPPORT) >>>> - return tipc_udp_xmit(net, skb, ub, src, dst, >>>> - &ub->rcast.dst_cache); >>>> + if (addr->broadcast != TIPC_REPLICAST_SUPPORT) { >>>> + err = tipc_udp_xmit(net, skb, ub, src, dst, >>>> + &ub->rcast.dst_cache); >>>> + local_bh_enable(); >>>> + return err; >>>> + } >>>> >>>> /* Replicast, send an skb to each configured IP address */ >>>> list_for_each_entry_rcu(rcast, &ub->rcast.list, list) { >>>> @@ -259,6 +264,7 @@ static int tipc_udp_send_msg(struct net *net, struct sk_buff *skb, >>>> err = 0; >>>> out: >>>> kfree_skb(skb); >>>> + local_bh_enable(); >>>> return err; >>>> } >>>> >>>> -- >>>> 2.7.4 >>>> >>>> -- >>>> You received this message because you are subscribed to the Google Groups "syzkaller-bugs" group. >>>> To unsubscribe from this group and stop receiving emails from it, send an email to syz...@go.... >>>> To view this discussion on the web visit https://groups.google.com/d/msgid/syzkaller-bugs/1565595162-1383-4-git-send-email-ying.xue%40windriver.com. |