Received: by 2002:a05:6a10:6744:0:0:0:0 with SMTP id w4csp4792254pxu; Wed, 21 Oct 2020 05:39:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxXovmNXX5x5y5TidiBheqhSjKyeGsIoKhqZYbD0G9dUwmeE6O6lyiBpXHd6w6jicy0gms8 X-Received: by 2002:a50:eb45:: with SMTP id z5mr2269973edp.144.1603283943451; Wed, 21 Oct 2020 05:39:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1603283943; cv=none; d=google.com; s=arc-20160816; b=zKnxcWOGLAUZnvVMwFEre7Wzrla4dgrJ2AbHcAWapIXhfQV8cc7W/LqVlCayb5ts9L 7E1fNuquos4KDCEOqxZzOJx3akgpva1SPPX7BsyDcZMcw6Sf9Ad6raZufT/n9MEcdliM oq5GvFD55rfw0JaNoLxh7X2WSaJyUkYBwt2lClrnT2BRNfI2hr7KQkSED1ILnZYuYNqx xGjl851O+flllCGPF6BbyDX9vbri111hNkquzeF0KJkXc6EtrgyaSnv1awdRdGN9oqHf 2gbBD8bxkO4eLcHGIzxcMh2LQ20+kZEO7rjWz6d8KYuHO2WbSzphOGKIjWuVxZ5kOo4z DNCQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=4ZfIYvaNWrmlxmwUlUVDOj/+aoxmmPJmVcyV2npsJf4=; b=lhvqXZAMu/Rmbpss71RCsohjLq8YP7/nd+hDFcdzGbTqlT6wcC4Uf6vp29xN+1QSfe eQRIn4OWYVET6rF/iyuTRwe5uJCCjEcuOqGlcym+YkKWjWAuiZ3EK/IT9DFCpC2GSs+E P9V26YzRt8ZpZrgTNcAakJfDthCBj/zHY32GjjICaXO+irMF5Dnz00f66GuFrPU4aAAV 1anQWJkzyTFqN4CORfa1GOtYW5NchXpvsBx0JyPxb/UKPxuLLzJ3GTrrBzkpaqC/RkHh Oah9eei/GkuW20qvLK0lfBfDYNvXSzbhrobtdAeOm52paAEK9PwP4abJyXtdv+bwSCkF XjlA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=QzAZjtGK; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dp1si1547672ejc.167.2020.10.21.05.38.41; Wed, 21 Oct 2020 05:39:03 -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=@kernel.org header.s=default header.b=QzAZjtGK; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2407873AbgJUF2u (ORCPT + 99 others); Wed, 21 Oct 2020 01:28:50 -0400 Received: from mail.kernel.org ([198.145.29.99]:34328 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2407832AbgJUF2u (ORCPT ); Wed, 21 Oct 2020 01:28:50 -0400 Received: from mail-lj1-f171.google.com (mail-lj1-f171.google.com [209.85.208.171]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B078921D7B; Wed, 21 Oct 2020 05:28:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1603258129; bh=eC/8ejH9N5F4wrrvByVIBEvBYC/IQ0CVvBIej1Nl2Sg=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=QzAZjtGK+0+nmQ/pP8JAMiF4/LyT9YluxptTfuHzN8StCRyHXXwonMBx6KB3pBthF wRVLChfN7X0j7w3l2yox1niTP8eakddJr2wNfyG6p6mAL914o0cQ+3NA8MUF1LJKNY CeE3fgMTxcLFjPpnSaRqSa50AZ1n3IY84daY+BzI= Received: by mail-lj1-f171.google.com with SMTP id h20so1116418lji.9; Tue, 20 Oct 2020 22:28:48 -0700 (PDT) X-Gm-Message-State: AOAM531b9Sohaz0siw3kAT6f3AUeL1MXMa9gYJIWsSaHaHFWAXH4b7Bv tcTDpU4ytJ1fPAshuBIehkHNDs1MqBWJ9WWAgV0= X-Received: by 2002:a05:651c:1a5:: with SMTP id c5mr631039ljn.273.1603258126970; Tue, 20 Oct 2020 22:28:46 -0700 (PDT) MIME-Version: 1.0 References: <20201017110651.GA1602260@dragonet> <20201019070319.GA1811280@dragonet> In-Reply-To: <20201019070319.GA1811280@dragonet> From: Song Liu Date: Tue, 20 Oct 2020 22:28:36 -0700 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: WARNING in md_ioctl To: "Dae R. Jeong" Cc: yjkwon@kaist.ac.kr, linux-raid , open list Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Mon, Oct 19, 2020 at 12:03 AM Dae R. Jeong wrote: > > > diff --git i/drivers/md/md.c w/drivers/md/md.c > > index 6072782070230..49442a3f4605b 100644 > > --- i/drivers/md/md.c > > +++ w/drivers/md/md.c > > @@ -7591,8 +7591,10 @@ static int md_ioctl(struct block_device *bdev, > > fmode_t mode, > > err = -EBUSY; > > goto out; > > } > > - WARN_ON_ONCE(test_bit(MD_CLOSING, &mddev->flags)); > > - set_bit(MD_CLOSING, &mddev->flags); > > + if (test_and_set_bit(MD_CLOSING, &mddev->flags)) { > > + err = -EBUSY; > > + goto out; > > + } > > did_set_md_closing = true; > > mutex_unlock(&mddev->open_mutex); > > sync_blockdev(bdev); > > > > Could you please test whether this fixes the issue? > > Since &mddev->open_mutex is held when testing a bit of mddev->flags, I > modified the code just a little bit by putting mutex_unlock() as > belows. Good catch! The fix looks good. Would you like to submit a patch for it? Thanks, Song