Received: by 2002:ac0:bc90:0:0:0:0:0 with SMTP id a16csp395017img; Wed, 20 Mar 2019 03:00:30 -0700 (PDT) X-Google-Smtp-Source: APXvYqxC2Z3wfgVnykFDS5eVWD27TIBx3ON5U1RF4KTzY87z6MnZQtniDCpi5xiqOZOfixG0Gdya X-Received: by 2002:a62:484:: with SMTP id 126mr7232167pfe.91.1553076030116; Wed, 20 Mar 2019 03:00:30 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1553076030; cv=none; d=google.com; s=arc-20160816; b=XOrn5oflcoqa0PB4NQ32py8m9dkJjE8AOeHZj4k/u6dfJIcI0dg3hS/hNSoEgMzuoD IpNMIom8gUk1+7aw1DCHx+Fc2C/PtWhrm5ug9JUp4PwGy1YReMyISyeB1gDYM73AVRJB 37fsy1B+kUefuSItBBkxqBiEoo7HVOsl5bRXlaX34GgRtCTJ8U8hInkpAtfsaHU48GyW Ius7JNfkjK5cuJQdsLQJVoTQNbKqzwz1WfLjclAwomK3AtPt/H+SHt/K2BNNw2w6rrxM YEM27YK0cFAZmdTID+p0Cj+OuDeWRpZKtXxubSB85sXbm9+llt420dCDgZgUrySZnNDd gaeA== 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=s2voj6kjaLi6fKovfCR/88xY1mnaSXnV0VQQW9aYLas=; b=lQdIIpTaoD9yQ2F/49ie+aoMIiQyiyGBuJqwBFsNnGObg83h2RFxq4QdRmTPKKCa70 8l9YAMKRWnj6ZrNHOb73M7IZgMAKBCvGTr08zR6/+sPMm3j6+lfHfhUkww7XeCr5TIBS rEOvJCzycb3gRaX8DzNTUhLBZGnKjWsey+ZzLiULWfp8wUbmbQ7YM4fsysW5EvwI4Mqi KYznrbfRMSz8JklZTCNA20R+bLlDgR8MkhXIp74zI6nIY2nJDZeocUwxJYdwlpw5Agjv pDWNWK2KpiBt/A5f5UlBI/Syw9aXekGv+pdB8pbXGbBhYQgSMts/O0UPi/0X8VpD1ZFs HOEg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=JYDMbaf0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id b37si1576716pla.155.2019.03.20.03.00.14; Wed, 20 Mar 2019 03:00:30 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=JYDMbaf0; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727566AbfCTJ7W (ORCPT + 99 others); Wed, 20 Mar 2019 05:59:22 -0400 Received: from mail-it1-f196.google.com ([209.85.166.196]:36500 "EHLO mail-it1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726910AbfCTJ7W (ORCPT ); Wed, 20 Mar 2019 05:59:22 -0400 Received: by mail-it1-f196.google.com with SMTP id h9so9385185itl.1 for ; Wed, 20 Mar 2019 02:59:21 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=s2voj6kjaLi6fKovfCR/88xY1mnaSXnV0VQQW9aYLas=; b=JYDMbaf0YUF3eOTaoaFwUe3CxvxxMo7gejjtbDw95GMO9vUIsR2u4jhbxb/8nQ0fy6 m6wn+rcYWlW6YHJoSOyz7Uu9aTKGqXNqqFU4zf7N1SmOgxrDGfHoQ6UR6uU9EEU8EeyG zFbxfCNX6lr3uAZ8X4mfsdaj1z7cTD2wl+WP/5kWf5g5c7IUOHtTCuUbNRj+rAgCHXWI /lR62pUrei+SwFhBxmHZG6HNaaCZVtlq3bQf6Mk7Zf1QoT+1TxUFo90O2RLX3kVXUzEA b6phamX/1j02VTV4LGuMZQQuc35jaIE34WG6kQOYNEXk1R88iO+L6KAWgq9xE8c9KTjn qCwQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=s2voj6kjaLi6fKovfCR/88xY1mnaSXnV0VQQW9aYLas=; b=jpySXSs236s4viYAQ/fKbrD0iVdjjLi6GiyvfsEUHLfFIRBjtoSurKilFgJ+BJAU1E jXA+at883qpajPCMSqP0BEBIYcARVa7pj+tUWbExZztA9UoEn9liidIUvUdONqJSgmUs usp1APomWA3Ob7+EaaQwcvHBN0+y5GsTnaD6lR0grLVhz/8eiVivSE6WdOdER4C7dXSD 8VObXVNm4Hy8GT5NDhE41WxF0BOihHpj3EPzOoqkAKmrrrsu8A4A37xzI2H3d+N01EKN SX6YMLNQi8TdMAkoGzJx/pR5RDQb1kChpy3WoEl3ECA2OUd2L0vW6Dr5tG4jmg6YrgjU NO9w== X-Gm-Message-State: APjAAAW/jXbjGylG7j0G/E/06FATX11YCuWu3q31KF43I0PvmWAV3FYc 1/YYTBi7j/FnVQCM0tKAla63FPCXZ+ks0FsFTfD+ymWEsTykGA== X-Received: by 2002:a02:84ab:: with SMTP id f40mr4094497jai.72.1553075961022; Wed, 20 Mar 2019 02:59:21 -0700 (PDT) MIME-Version: 1.0 References: <000000000000db3d130584506672@google.com> In-Reply-To: From: Dmitry Vyukov Date: Wed, 20 Mar 2019 10:59:09 +0100 Message-ID: Subject: Re: kernel panic: corrupted stack end in wb_workfn To: Andrey Ryabinin Cc: syzbot , Andrew Morton , Qian Cai , David Miller , guro@fb.com, Johannes Weiner , Josef Bacik , Kirill Tkhai , LKML , Linux-MM , linux-sctp@vger.kernel.org, Mel Gorman , Michal Hocko , netdev , Neil Horman , Shakeel Butt , syzkaller-bugs , Al Viro , Vladislav Yasevich , Matthew Wilcox , Xin Long 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 Wed, Mar 20, 2019 at 10:56 AM Andrey Ryabinin wrote: > > On 3/17/19 11:49 PM, syzbot wrote: > > syzbot has bisected this bug to: > > > > commit c981f254cc82f50f8cb864ce6432097b23195b9c > > Author: Al Viro > > Date: Sun Jan 7 18:19:09 2018 +0000 > > > > sctp: use vmemdup_user() rather than badly open-coding memdup_user() > > > > bisection log: https://syzkaller.appspot.com/x/bisect.txt?x=137bcecf200000 > > start commit: c981f254 sctp: use vmemdup_user() rather than badly open-c.. > > git tree: upstream > > final crash: https://syzkaller.appspot.com/x/report.txt?x=10fbcecf200000 > > console output: https://syzkaller.appspot.com/x/log.txt?x=177bcecf200000 > > kernel config: https://syzkaller.appspot.com/x/.config?x=5e7dc790609552d7 > > dashboard link: https://syzkaller.appspot.com/bug?extid=ec1b7575afef85a0e5ca > > syz repro: https://syzkaller.appspot.com/x/repro.syz?x=16a9a84b400000 > > C reproducer: https://syzkaller.appspot.com/x/repro.c?x=17199bb3400000 > > > > Reported-by: syzbot+ec1b7575afef85a0e5ca@syzkaller.appspotmail.com > > Fixes: c981f254 ("sctp: use vmemdup_user() rather than badly open-coding memdup_user()") > > From bisection log: > > testing release v4.17 > testing commit 29dcea88779c856c7dc92040a0c01233263101d4 with gcc (GCC) 8.1.0 > run #0: crashed: kernel panic: corrupted stack end in wb_workfn > run #1: crashed: kernel panic: corrupted stack end in worker_thread > run #2: crashed: kernel panic: Out of memory and no killable processes... > run #3: crashed: kernel panic: corrupted stack end in wb_workfn > run #4: crashed: kernel panic: corrupted stack end in wb_workfn > run #5: crashed: kernel panic: corrupted stack end in wb_workfn > run #6: crashed: kernel panic: corrupted stack end in wb_workfn > run #7: crashed: kernel panic: corrupted stack end in wb_workfn > run #8: crashed: kernel panic: Out of memory and no killable processes... > run #9: crashed: kernel panic: corrupted stack end in wb_workfn > testing release v4.16 > testing commit 0adb32858b0bddf4ada5f364a84ed60b196dbcda with gcc (GCC) 8.1.0 > run #0: OK > run #1: OK > run #2: OK > run #3: OK > run #4: OK > run #5: crashed: kernel panic: Out of memory and no killable processes... > run #6: OK > run #7: crashed: kernel panic: Out of memory and no killable processes... > run #8: OK > run #9: OK > testing release v4.15 > testing commit d8a5b80568a9cb66810e75b182018e9edb68e8ff with gcc (GCC) 8.1.0 > all runs: OK > # git bisect start v4.16 v4.15 > > Why bisect started between 4.16 4.15 instead of 4.17 4.16? Because 4.16 was still crashing and 4.15 was not crashing. 4.15..4.16 looks like the right range, no? > testing commit c14376de3a1befa70d9811ca2872d47367b48767 with gcc (GCC) 8.1.0 > run #0: crashed: kernel panic: Out of memory and no killable processes... > run #1: crashed: kernel panic: Out of memory and no killable processes... > run #2: crashed: kernel panic: Out of memory and no killable processes... > run #3: crashed: kernel panic: Out of memory and no killable processes... > run #4: OK > run #5: OK > run #6: crashed: WARNING: ODEBUG bug in netdev_freemem > run #7: crashed: no output from test machine > run #8: OK > run #9: OK > # git bisect bad c14376de3a1befa70d9811ca2872d47367b48767 > > Why c14376de3a1befa70d9811ca2872d47367b48767 is bad? There was no stack corruption. > It looks like the syzbot were bisecting a different bug - "kernel panic: Out of memory and no killable processes..." > And bisection for that bug seems to be correct. kvmalloc() in vmemdup_user() may eat up all memory unlike kmalloc which is limited by KMALLOC_MAX_SIZE (4MB usually). Please see https://github.com/google/syzkaller/blob/master/docs/syzbot.md#bisection for answer.