Received: by 10.213.65.68 with SMTP id h4csp3782879imn; Tue, 10 Apr 2018 04:46:28 -0700 (PDT) X-Google-Smtp-Source: AIpwx4/5zQGHvHFfPwyRsUOGGI7kmWmXE1yR6rW5bpz7R9VUuAIYw8VK0PKMZnEJKEOG2LmG6TqA X-Received: by 10.98.174.5 with SMTP id q5mr24773pff.155.1523360788889; Tue, 10 Apr 2018 04:46:28 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1523360788; cv=none; d=google.com; s=arc-20160816; b=UPR590AbbeWNuSSon65um4RY2A/GcPL2L32Ag23gYi/NCV/DK1ty2BmEWMxGWi5ef4 QXUPdcnMkRtpadq2asj1snNdtPKXGz92DlcQI8UEwnrdCeoZErN7gMWy8dRFErjEyCzi 8qlv4XcnBalSSZomWLxcBJ1YjuTSMH08km+QhwSWvkHWYCdO5iJPXby8DJfuAzS3holm A1o10Z6wJMPOlJV4u3KgM/AEAwHUnhVU1GY1JA1m40YAn2bJIMgOhyd8Ovi6Ow2y0lA3 g92PFMCtA6Tb76clmW7rZHrNnwfLt+BtLab3xFf2cHmVKi/DnLPxTXen1H4J6zzX/rUn G5jQ== 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 :references:in-reply-to:mime-version:dkim-signature :arc-authentication-results; bh=5hfNZc+pzrMwdFEQ/g9tDvipyNkLTzNO6by0WW+4N0U=; b=U94nEwDjpMRYf7JNce4m7SiAw4ldmp0idutIZZErZD37uFNkaZ53oHlwdqL8H1VHA7 5vL9nl/0TubJQeM57w7EDfZMjCeIOJd60+MLDFKdmrs47a6Zhd6UDiSBqbeiwjSOor+F Fu4wbJxAnEhPkWwlZ9MKFPh9dFKlpfCvi42DyAjoH6GXn2fatn/JLmbbuI6CHv2iIN4t 9lctuwtFSHnblNdwjuHrWUqPpE3ek1lyUzRngXi4NBPmPtwLwq0tlaGB9iCy0R7wUt79 9Oa9XBlEU9YrtH1twSLKFAQOibwfJ+ULxL3z0jp9JSL+xcHxzYpMihEIwwfVbfjh51t6 rIXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20161025 header.b=DnHHbfB0; 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 j66si1738450pgc.566.2018.04.10.04.45.51; Tue, 10 Apr 2018 04:46:28 -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=DnHHbfB0; 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 S1752740AbeDJLmK (ORCPT + 99 others); Tue, 10 Apr 2018 07:42:10 -0400 Received: from mail-pf0-f176.google.com ([209.85.192.176]:33669 "EHLO mail-pf0-f176.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752408AbeDJLmI (ORCPT ); Tue, 10 Apr 2018 07:42:08 -0400 Received: by mail-pf0-f176.google.com with SMTP id f15so8071644pfn.0 for ; Tue, 10 Apr 2018 04:42:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=5hfNZc+pzrMwdFEQ/g9tDvipyNkLTzNO6by0WW+4N0U=; b=DnHHbfB0Ma/MVbdMrzDG3i3BUM1TB8e8OfMiO6JzYg1VHGFVsdQDAY7AJItW3aMqsr vRntpAneXcY+3VBdUzQ4F0cpJM++s+tiT2L0aGuIWSMSHyn0IMsAKUhhGJ1Z//1mrKaX MRumgkbr3zkxknEHwXajo7nei4JFWuJDCzXDafFFPduK4YdvKUCoL8ovt4qWeKadQqP4 8F+7D5OlBNWmm555dhfWCbgJomClddigow11QZHrCznTjJx/FocQVVeafftgXXTp6ygU njIlzGF7SV74J8lcHs3N36lDgZk3jJq4dVU7evC+V+WS4BAVwsIKRyJYYz9PD3LKXa/0 Z2Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=5hfNZc+pzrMwdFEQ/g9tDvipyNkLTzNO6by0WW+4N0U=; b=kxQT5Nwy+kfwTEuwAN9yTtRgz8DBKWKfwjnn+DGQBS0BXoOk1xc+KjRuvsL0o9DbN7 1uEwn2DqGdPBoy3eDS5yrQ7yleySIfKqg/7qCKCk6JiHAAoluHxLF1nyCQ+C5Pgf6rJ5 ksDJccAZGChlit9LQHt3tnUHde9azWYNsiRiKyckXbB+lvYGeHijG2tQEDLAbzVtFCrM d+UXt3qt6Hv16fSsfd/ea0dcDpuM3BQ8JqOz8Nzbxr4ZqRcMBPrOWE7nwozgJc8TRYRp HPh93YYUPC2p5bKcKwubuRkELUv0xRNQKTDNbbMjs/k+bYpVRFATAQdee7UEo+5gOtwo NBpw== X-Gm-Message-State: ALQs6tDWGpXBq3SPze4gT+2KwlRctZAfAnFgXiarMRn1vf9mdUDrKTZy tx/AbyscGgmMxiAfhYtQwQb9SujmYPPTGIO2Fi/BsA== X-Received: by 10.101.101.207 with SMTP id y15mr49680pgv.84.1523360527526; Tue, 10 Apr 2018 04:42:07 -0700 (PDT) MIME-Version: 1.0 Received: by 10.100.182.136 with HTTP; Tue, 10 Apr 2018 04:41:47 -0700 (PDT) In-Reply-To: <59a08949-7e2f-42ff-edda-f24a6c624551@I-love.SAKURA.ne.jp> References: <652eab47-81b5-3249-3c78-427eeec45fbc@I-love.SAKURA.ne.jp> <2e093801-6d71-6747-42df-52f191811ad0@I-love.SAKURA.ne.jp> <87bdec75-3c59-6587-2436-1470263ab11f@kernel.dk> <59a08949-7e2f-42ff-edda-f24a6c624551@I-love.SAKURA.ne.jp> From: Dmitry Vyukov Date: Tue, 10 Apr 2018 13:41:47 +0200 Message-ID: Subject: Re: INFO: task hung in __blkdev_get To: Tetsuo Handa Cc: Jens Axboe , Ming Lei , Ingo Molnar , Peter Zijlstra , syzbot , LKML , syzkaller-bugs , Omar Sandoval 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 Tue, Apr 10, 2018 at 12:55 PM, Tetsuo Handa wrote: > Hello. > > Since syzbot is reporting so many hung up bug which involves /dev/loopX , > is it possible to "temporarily" apply below patch for testing under syzbot Unfortunately it's not possible, for full explanation please see: https://github.com/google/syzkaller/blob/master/docs/syzbot.md#no-custom-patches > ( after "block/loop: fix deadlock after loop_set_status" and > "loop: fix LOOP_GET_STATUS lock imbalance" in linux-block.git#for-linus > are merged into linux.git )? > > I haven't got a smoking gun by lockdep, but I noticed that > > [upstream] INFO: task hung in lo_open (2) > https://syzkaller.appspot.com/bug?id=1f93b57f496d969efb9fb24167f6f9de5ee068fd > > contained "lo->lo_ctl_mutex => bdev->bd_mutex" locking order > > 2 locks held by syz-executor6/15084: > #0: (&lo->lo_ctl_mutex/1){+.+.}, at: [<00000000cc154b8d>] lo_ioctl+0x8b/0x1b70 drivers/block/loop.c:1355 > #1: (&bdev->bd_mutex){+.+.}, at: [<0000000058b7c5b5>] blkdev_reread_part+0x1e/0x40 block/ioctl.c:192 > > while commit f028f3b2f987ebc6 ("loop: fix circular locking in loop_clr_fd()") > says that > > * Calling fput holding lo_ctl_mutex triggers a circular > * lock dependency possibility warning as fput can take > * bd_mutex which is usually taken before lo_ctl_mutex. > > which implies that the locking order should be "bdev->bd_mutex => lo->lo_ctl_mutex" > and also says that use of "_nested" version might mask some other real bugs > which could be the bug syzbot is frequently reporting as hung tasks... > > diff --git a/drivers/block/loop.c b/drivers/block/loop.c > index 264abaa..5559b15 100644 > --- a/drivers/block/loop.c > +++ b/drivers/block/loop.c > @@ -1360,7 +1360,7 @@ static int lo_ioctl(struct block_device *bdev, fmode_t mode, > struct loop_device *lo = bdev->bd_disk->private_data; > int err; > > - err = mutex_lock_killable_nested(&lo->lo_ctl_mutex, 1); > + err = mutex_lock_killable(&lo->lo_ctl_mutex); > if (err) > goto out_unlocked; > >