Received: by 2002:a25:1985:0:0:0:0:0 with SMTP id 127csp2171340ybz; Sun, 26 Apr 2020 12:45:00 -0700 (PDT) X-Google-Smtp-Source: APiQypKzz6FBlu6ZUWSRLhNq4cBpRIT6ptATLr97mgDr+yf3RgfJkMyzBh74rErWWj+hdomCIwE0 X-Received: by 2002:a17:906:7750:: with SMTP id o16mr16870800ejn.12.1587930300470; Sun, 26 Apr 2020 12:45:00 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1587930300; cv=none; d=google.com; s=arc-20160816; b=Xx/6Kil0Q8CUqYMYKWSGz95T9K4k7imD+kzySlQySPQ35FPUnk+t1TsjOk+8RM1k+W KZ8YtIIOfjBwLJmXv+idrnndPGRylab/4qRdzPawLwvGD1hFKVx1oedQfOUo57yYcx2k JcB8SBfukfXeSKyiuhZN19A3z2bXvXfAyg5u7q/rzWwGQwn13Bs/9IRKCc+0FnmLI75E uYnv654DY3tLNL5afzG6Vv1jRY5QhNAyEcvohyEeydJl+GoRiCp3jr3ZG9cPsqBJIG7F q4R/mVvM8weJ8i3KqAlO7Utf408oPJu24BaJ+nKdyrw6kpX/w2obDNYgrAMVwTgIw04/ w76A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:dkim-signature; bh=dWxzbSRZ2Yp2a5YFqP5fV6RTvPP95iczTf3dj7uASWc=; b=kwqzG9oJG3dYQha+bAvzgyv95ALkCk30ht84OW6mgJ56buCiXzfLhOM3fQKHPYJiX6 ab13AFCrOqyO3kfhQeWw3XvXRZZTMQRmdFjJLkF8aUgCg0CeJK3cwbTdcSqFkFhdvXZF nVObTIFfHSFGCQHoEnM6M7b1pec7hTtL2MNhNSC7Ctljowdi+mjk0GYPEpV9jmEZHBSd 6bx98lRo2teCsEQ9AV8OWk3IytWE85+UsPR+17g3HR2NkLWX4qP/+R6Hlvumoom4SGY8 Yx07nYdxPKECr7FHDWjoUnphGnKX9m3jeksXZlsXXmcr37YmcMwKHw2+XCaZlsAPruHn LY4g== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@zx2c4.com header.s=mail header.b=bYO8K8Ue; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id v21si7057247eja.226.2020.04.26.12.44.37; Sun, 26 Apr 2020 12:45:00 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@zx2c4.com header.s=mail header.b=bYO8K8Ue; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=zx2c4.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726249AbgDZTnU (ORCPT + 99 others); Sun, 26 Apr 2020 15:43:20 -0400 Received: from mail.zx2c4.com ([192.95.5.64]:55279 "EHLO mail.zx2c4.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726171AbgDZTnU (ORCPT ); Sun, 26 Apr 2020 15:43:20 -0400 Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTP id e76007a9; Sun, 26 Apr 2020 19:31:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=zx2c4.com; h=mime-version :references:in-reply-to:from:date:message-id:subject:to:cc :content-type; s=mail; bh=Q95WupxJotcACUWONTVu7EW65Ro=; b=bYO8K8 UeSNbeGbha+u6Z+X4OWjAckkt578muPBYfljxTemQveUyZ4Y4KqM3k5XP3wLRZN3 3mYbpBfLS7i0PpncwzhsYoncBN8ReR5a/OkMjlGMooXNhMaeWFyl3aNqIi+dVcW5 XrVcNxNrpXIIa/A+YYSAurfsFS7n25G0dWk+n5zm0J3HEeTWS6Hdyhd4Zjk3oKgS qha1334mjnFs+Z7o8hcpMwI+D1TUO1jYj++hJNUACygOipLiP2fRE42PDXMcXzTA Y+QNHPHPi3Uxr0XHqfQ2KNxqhX4lR1zeaTfSN33UxQOu1cyFzO8lQwRfVgdy23uG 5kPRxtnoVNbQkuyA== Received: by mail.zx2c4.com (ZX2C4 Mail Server) with ESMTPSA id a45018e5 (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO); Sun, 26 Apr 2020 19:31:46 +0000 (UTC) Received: by mail-il1-f172.google.com with SMTP id u189so14740028ilc.4; Sun, 26 Apr 2020 12:43:11 -0700 (PDT) X-Gm-Message-State: AGi0PuZQXvRTigFAKCzD2TWIRZvSoUg3vp2NAHEMQqTqxxE5VOtNh79Z +ttimxxB8QjU2QwSPSjkWAgyaP/sAGKcWREV1t4= X-Received: by 2002:a92:5c82:: with SMTP id d2mr18807878ilg.231.1587930190268; Sun, 26 Apr 2020 12:43:10 -0700 (PDT) MIME-Version: 1.0 References: <0000000000005fd19505a4355311@google.com> In-Reply-To: From: "Jason A. Donenfeld" Date: Sun, 26 Apr 2020 13:42:58 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: INFO: rcu detected stall in wg_packet_tx_worker To: Eric Dumazet Cc: syzbot , David Miller , Florian Fainelli , Greg Kroah-Hartman , jhs@mojatatu.com, =?UTF-8?B?SmnFmcOtIFDDrXJrbw==?= , Krzysztof Kozlowski , kuba@kernel.org, kvalo@codeaurora.org, leon@kernel.org, LKML , linux-kselftest@vger.kernel.org, Netdev , Shuah Khan , syzkaller-bugs@googlegroups.com, Thomas Gleixner , vivien.didelot@gmail.com, Cong Wang Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Apr 26, 2020 at 1:40 PM Eric Dumazet wrote: > > > > On 4/26/20 10:57 AM, syzbot wrote: > > syzbot has bisected this bug to: > > > > commit e7096c131e5161fa3b8e52a650d7719d2857adfd > > Author: Jason A. Donenfeld > > Date: Sun Dec 8 23:27:34 2019 +0000 > > > > net: WireGuard secure network tunnel > > > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=15258fcfe00000 > > start commit: b2768df2 Merge branch 'for-linus' of git://git.kernel.org/.. > > git tree: upstream > > final crash: https://syzkaller.appspot.com/x/report.txt?x=17258fcfe00000 > > console output: https://syzkaller.appspot.com/x/log.txt?x=13258fcfe00000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=b7a70e992f2f9b68 > > dashboard link: https://syzkaller.appspot.com/bug?extid=0251e883fe39e7a0cb0a > > userspace arch: i386 > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=15f5f47fe00000 > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=11e8efb4100000 > > > > Reported-by: syzbot+0251e883fe39e7a0cb0a@syzkaller.appspotmail.com > > Fixes: e7096c131e51 ("net: WireGuard secure network tunnel") > > > > For information about bisection process see: https://goo.gl/tpsmEJ#bisection > > > > I have not looked at the repro closely, but WireGuard has some workers > that might loop forever, cond_resched() might help a bit. I'm working on this right now. Having a bit difficult of a time getting it to reproduce locally... The reports show the stall happening always at: static struct sk_buff * sfq_dequeue(struct Qdisc *sch) { struct sfq_sched_data *q = qdisc_priv(sch); struct sk_buff *skb; sfq_index a, next_a; struct sfq_slot *slot; /* No active slots */ if (q->tail == NULL) return NULL; next_slot: a = q->tail->next; slot = &q->slots[a]; Which is kind of interesting, because it's not like that should block or anything, unless there's some kasan faulting happening.