Received: by 10.213.65.68 with SMTP id h4csp1793629imn; Sun, 1 Apr 2018 15:21:29 -0700 (PDT) X-Google-Smtp-Source: AIpwx49uGWxkqvWYSmY7D2iKyNm/AKurdOfo4t6jr2zS9jk4SrqXMIPTSpC0MvFLJN7ESCxJSaqx X-Received: by 10.101.68.201 with SMTP id g9mr4778805pgs.263.1522621289141; Sun, 01 Apr 2018 15:21:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1522621289; cv=none; d=google.com; s=arc-20160816; b=sP+ERylnRHlnr+mO47LOBusuUiW8C5e0qb0cXjL3RDnLLYiT2ktVwnYz65+PS1QXqK zxjbBCcMAMuq6TryZmel63vbKNtNrHejNAo3pcu+zaWSFQV11H+tY9fwfYHS7XFZignN GBAqHu5pR8aDSRHpE2E+3GQ1yPhGMVb595a0ppPR1kG+RPDU8iXQojIZ9paW1xRQdjeq hlSZNH5Ac+Y4kIXR4n/KJFzib72zNKidKTPLLctvqwXIGLijM438Shyp6i9ZMo01WBVY 9gIei/Gi4id+6mAnzqTKv6H26ceZFtHAbN33W2eOA6b2tEXv1LPJ7QzMfdCBCeciwRob o4ew== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:user-agent:in-reply-to :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature:arc-authentication-results; bh=avWWmFGjbIK+DAA3HnKl+ias1RAHHjY6fGnBqwZFgVo=; b=FDkKkeNBaXlRH97U1h9hBT9q7HBAqtOkaMpuVN0h5b+OWhwhrUv3ZpJHfRSKQcE06P rOCkdQzgnhOfEH3x7pD3r0xX4ZFtu90xiSJORDGBPguo9Ibkt5CS2xwQYa+igBjFRO4Q JqDR/K4VEbMU1IdwQWlLRpGg2f2FmNYzgLBkWtYrYZGxGdj7hSihCQZx8WoYNQj4Kizy qAZA+6Q3T8JJxgZHeo7wTrG2k07dHGNn2RqLQe5XHjh6qfYzjpX0a0qT79pslIWLSiu5 /2TaWtenp/WW8OVeUQJSVmq8sx7CinLorFUT9t7zofuuZkivh/T37kPj8ONk1h+65fqq 6AZQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=QOQWAbK+; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id u6-v6si13486282plz.64.2018.04.01.15.21.12; Sun, 01 Apr 2018 15:21:29 -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=fail header.i=@infradead.org header.s=bombadil.20170209 header.b=QOQWAbK+; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753979AbeDAWUH (ORCPT + 99 others); Sun, 1 Apr 2018 18:20:07 -0400 Received: from bombadil.infradead.org ([198.137.202.133]:40352 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753943AbeDAWUG (ORCPT ); Sun, 1 Apr 2018 18:20:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=bombadil.20170209; h=In-Reply-To:Content-Type:MIME-Version :References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=avWWmFGjbIK+DAA3HnKl+ias1RAHHjY6fGnBqwZFgVo=; b=QOQWAbK+hwyCN/2GYTwbnpLlE R6+X76k+FL910b+7kxwz2d4GYU3weDAeReY5P7Xw8FULiGmmKObkaOlZLEus2I66QBqhG2AHJdKG9 g5qVmqZcbyE2y47v4zFHDygUVmWpqtHWrYlRFlaxbc5Et/OFPDo2aSDgq8SPNDDcDug7DTXcYd2Cg mHbrffrbBWH+4VRuf6rh0Yx2C85RSl0LgpPmStIsuIAIXIj+ev/iTOs1odtmNx8dgYTwgTSKljwzJ 7Hv2CZ08FnDWm5ZugDlOGogBkFfM9JpxKxqzR1Y970jq19f1uSXAv04kocjezHU81Ps364aP0rYzq JcVawBumw==; Received: from willy by bombadil.infradead.org with local (Exim 4.90_1 #2 (Red Hat Linux)) id 1f2lKV-00027r-DO; Sun, 01 Apr 2018 22:20:03 +0000 Date: Sun, 1 Apr 2018 15:20:03 -0700 From: Matthew Wilcox To: Eric Biggers Cc: Al Viro , syzbot , linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, syzkaller-bugs@googlegroups.com, linux-nfs@vger.kernel.org Subject: Re: BUG: corrupted list in __dentry_kill Message-ID: <20180401222003.GU13332@bombadil.infradead.org> References: <001a11447acaa9eec40568bd5438@google.com> <20180401033519.GZ30522@ZenIV.linux.org.uk> <20180401200531.GA30522@ZenIV.linux.org.uk> <20180401210508.GA743@sol.localdomain> <20180401214854.GB743@sol.localdomain> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20180401214854.GB743@sol.localdomain> User-Agent: Mutt/1.9.2 (2017-12-15) Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sun, Apr 01, 2018 at 02:48:54PM -0700, Eric Biggers wrote: > list_del corruption. prev->next should be 000000002c929de0, but was 0000000065421b2c Shuold probably try applying this; we might get a better clue about the corruption. diff --git a/lib/list_debug.c b/lib/list_debug.c index a34db8d27667..5d5424b51b74 100644 --- a/lib/list_debug.c +++ b/lib/list_debug.c @@ -21,13 +21,13 @@ bool __list_add_valid(struct list_head *new, struct list_head *prev, struct list_head *next) { if (CHECK_DATA_CORRUPTION(next->prev != prev, - "list_add corruption. next->prev should be prev (%p), but was %p. (next=%p).\n", + "list_add corruption. next->prev should be prev (%px), but was %px. (next=%px).\n", prev, next->prev, next) || CHECK_DATA_CORRUPTION(prev->next != next, - "list_add corruption. prev->next should be next (%p), but was %p. (prev=%p).\n", + "list_add corruption. prev->next should be next (%px), but was %px. (prev=%px).\n", next, prev->next, prev) || CHECK_DATA_CORRUPTION(new == prev || new == next, - "list_add double add: new=%p, prev=%p, next=%p.\n", + "list_add double add: new=%px, prev=%px, next=%px.\n", new, prev, next)) return false; @@ -43,16 +43,16 @@ bool __list_del_entry_valid(struct list_head *entry) next = entry->next; if (CHECK_DATA_CORRUPTION(next == LIST_POISON1, - "list_del corruption, %p->next is LIST_POISON1 (%p)\n", + "list_del corruption, %px->next is LIST_POISON1 (%px)\n", entry, LIST_POISON1) || CHECK_DATA_CORRUPTION(prev == LIST_POISON2, - "list_del corruption, %p->prev is LIST_POISON2 (%p)\n", + "list_del corruption, %px->prev is LIST_POISON2 (%px)\n", entry, LIST_POISON2) || CHECK_DATA_CORRUPTION(prev->next != entry, - "list_del corruption. prev->next should be %p, but was %p\n", + "list_del corruption. prev->next should be %px, but was %px\n", entry, prev->next) || CHECK_DATA_CORRUPTION(next->prev != entry, - "list_del corruption. next->prev should be %p, but was %p\n", + "list_del corruption. next->prev should be %px, but was %px\n", entry, next->prev)) return false;