Received: by 2002:a05:6a10:1d13:0:0:0:0 with SMTP id pp19csp1267706pxb; Fri, 20 Aug 2021 01:38:33 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzatzRqQGtSusYvjqPQi+gaU8ac2Ud47R2OTViM18fHHaxFLYlliq32zTLLxb8m1lkrgCo7 X-Received: by 2002:a92:da11:: with SMTP id z17mr13103630ilm.176.1629448712889; Fri, 20 Aug 2021 01:38:32 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1629448712; cv=none; d=google.com; s=arc-20160816; b=Jx5+WMKsP8sWGPZynjCSTYod1435tCGJrh03xQbSl7YBpyLuR/d3g4xEJHSER4jXHI AL8WER3sNvFTFlril0fX+2jOFM+cSgyJBAOGwZEV7OLwDxTP0eSKg3zVLO+MrPPWEAZX bcvAXCCv9MUgDOfikFTq6LnYFt8JT2DJt9hQAvW4QHIlnH+IEbUeJltuVfixZVHz/PrY eyqRdoZFJKOdYXtL+gOKQJs8RDSnTGWY7p8mnmRUPWk9w6hdG1Syri0wEoPgS+CCqQ1P fdtFNt/xLjJjTkRqjEZaYD05Bv5oaI4ijrxzZkcRla+a6jiUkQcnYijJDEXzJ6XUwOJO Ze+g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-language:content-transfer-encoding :in-reply-to:mime-version:user-agent:date:message-id:from:references :cc:to:subject:dkim-signature; bh=ecM/6ojxZtANL/C/M4VUBHGG8yziqnnJSVmQ/MwMgJU=; b=jGjQQKZs9rN09aF+jSfLoFofCknHmzYt+3uRIiI3xRWCPSVfy/ZPPty7cM0h8NlWZh Oa5MUVUYTjgAMccEGWI6qK6+WpmsVQbcLNqwtmwtEhhNyJoCeJC00XtAuGgwcDIOMJbJ RB1x9t4B5xZ8IOST4XXaWg3xvAwYX7FyyWhqibVOoG2do4qVCD/lZ/pimovUd6Ot/gLq B4FKeDUR0hmc2zxzlws5pBdq9e1GuZyPLm7DK42LdqMbmSTOxmHDRLsjcFYElnVqO+jE +IWacJddQY4cXDR5jXbwbdol1/E5MNQe0KRaE4bidz0qOE9ijrTv9BLnSmBsAMPqDDGx p1qA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20161025 header.b=dYWcrRFG; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id g8si5740900ioq.76.2021.08.20.01.38.21; Fri, 20 Aug 2021 01:38:32 -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=@gmail.com header.s=20161025 header.b=dYWcrRFG; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230395AbhHTIQp (ORCPT + 99 others); Fri, 20 Aug 2021 04:16:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229586AbhHTIQn (ORCPT ); Fri, 20 Aug 2021 04:16:43 -0400 Received: from mail-pj1-x102c.google.com (mail-pj1-x102c.google.com [IPv6:2607:f8b0:4864:20::102c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E0B9BC061575 for ; Fri, 20 Aug 2021 01:16:05 -0700 (PDT) Received: by mail-pj1-x102c.google.com with SMTP id n13-20020a17090a4e0d00b0017946980d8dso13235803pjh.5 for ; Fri, 20 Aug 2021 01:16:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-transfer-encoding:content-language; bh=ecM/6ojxZtANL/C/M4VUBHGG8yziqnnJSVmQ/MwMgJU=; b=dYWcrRFGVy+Hspxx11e/2FIBZDrV3bxa2lacG8O6IlMMM62HW/quyHYtMsVs+/Qbzu OA7KhrqGYcFoRDMe9gekLOYtFXHf2co/vXmhOocqfx4S/mlefCvCPHBLQgfahSfpVAiQ Gvjcb2ekAIWGyM4kRFTc6xNnwlzpD3lWnQ1leiQA8gVejGj2AVukgFPwNV4QYxfG7IvJ Y5wT4jiD7RTcDQbtYzNvkB0JcVE9JnX08v1VB0BJa7u/ncqkBlajAe35r6bm0fcNTuv0 VhE5G2p9n/VcuGzZ3GWCrABQ3MLEcFDdf5APAm2xuNdwPTZRbb3RBBLPnUap7xhrxv1V yZLQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-transfer-encoding :content-language; bh=ecM/6ojxZtANL/C/M4VUBHGG8yziqnnJSVmQ/MwMgJU=; b=HK5qNbFte9sXZIavooC8/scluZkqOpxCj6R3APAsF4HaCPIl6m9TMosrszw90s6Izo CflF+a+hbYY2XvcPUdGZuwV6SuBIL42FdG35fC4oArsEW+YzidawDifgiWXsGhLGxIh8 bSde+Pn7hKBir1hDc/8hINtntJ93/ONMNSQXX6T63wlh1G/iI4V4Nf8PldpO4cQu0OSK lO1JhIDebrpwIrGMd6mU7dwZYvTRkQxdQ7LPtXIQ9JeksZXB1MRCPFd1GVAkkNh45ejQ qKcvsX+UmENGnu1yHKqdSEvDdsrYO7BLbzytVcVwck5/Lb+DDCEK45vuC312WUEpVSNg zrGQ== X-Gm-Message-State: AOAM5303Mf71x550AgQ6zUQ5cAc7K0/q5wOhlDn3ZF1UBrhO3n9UFSW0 R82JUVAxvTlVg8HVYVRohmeGhtb6iKM= X-Received: by 2002:a17:90a:2f44:: with SMTP id s62mr3374998pjd.222.1629447365080; Fri, 20 Aug 2021 01:16:05 -0700 (PDT) Received: from [10.133.0.54] ([85.203.23.237]) by smtp.gmail.com with ESMTPSA id n15sm6081871pff.149.2021.08.20.01.16.02 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Fri, 20 Aug 2021 01:16:04 -0700 (PDT) Subject: Re: [BUG] fs: dlm: possible ABBA deadlock To: David Teigland Cc: cluster-devel@redhat.com, linux-kernel@vger.kernel.org References: <79f8d302-f53f-3891-965a-bcb460ab15ca@gmail.com> <20210819155509.GB21218@redhat.com> From: Jia-Ju Bai Message-ID: Date: Fri, 20 Aug 2021 16:16:02 +0800 User-Agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.4.1 MIME-Version: 1.0 In-Reply-To: <20210819155509.GB21218@redhat.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit Content-Language: en-US Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2021/8/19 23:55, David Teigland wrote: > On Thu, Aug 19, 2021 at 04:54:57PM +0800, Jia-Ju Bai wrote: >> Hello, >> >> My static analysis tool reports a possible ABBA deadlock in the dlm >> filesystem in Linux 5.10: >> >> dlm_recover_waiters_pre() >>   mutex_lock(&ls->ls_waiters_mutex); --> line 5130 >>   recover_convert_waiter() >>     _receive_convert_reply() >>       lock_rsb() >>         mutex_lock(&r->res_mutex); --> line 69 >> >> dlm_recover_waiters_post() >>   lock_rsb() >>     mutex_lock(&r->res_mutex); --> line 69 >>   mutex_lock(&ls->ls_waiters_mutex); --> line 5307 >> >> When dlm_recover_waiters_pre() and dlm_recover_waiters_post() are >> concurrently executed, the deadlock can occur. >> >> I am not quite sure whether this possible deadlock is real and how to fix it >> if it is real. >> Any feedback would be appreciated, thanks :) > They won't be concurrent, "pre" runs before recovery, and "post" is after. Okay, thanks for your reply :) Best wishes, Jia-Ju Bai