From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.openvz.org (mail.openvz.org [69.168.225.77]) by lore.virtuozzo.com (Postfix) with ESMTPS id CDE6D811BB for ; Thu, 5 Nov 2026 14:59:20 +0000 (UTC) Received: from mail.openvz.org (localhost [127.0.0.1]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A5Ew2gM005844; Thu, 5 Nov 2026 17:58:03 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A5Ew2gM005844 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=default; t=1793890686; bh=T6BjnYTCkNCmPVretSwrLPq0oIQevkxinCig/gdUZKA=; h=From:To:Date:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe; b=CGOPYqaWrJhDvLlODbx1Ttx31CDf+Q8mmLFet1qeiYAABLJcRMBrxCf98JlNTCTF3 fFN2jSUI9jtHUvsZ8OKJXfzbwQeZSFe666OvtAXI5H8U2dfZoeIDUxRcxZcssh1Ii6 GJ2g8rIVERmI6DZSgXKwbBtWaywzFUGhDxhUHohgctoIUqMP9wzr/mStM56kvSfvu1 hOH0cgTYSy6Ww4kCbbsh4JCYP513GDTTqoPn65htbaFrPNydG/oJvV2nu3xtsTUIKz 3lm2kxUxpskNBUstWcH9zajR62HITUKcDZQ+QA8Skd4ypoBzCAsnjUGTj1ryWEAhKN c1YzRo/hLiyLg== Received: from mail-wr1-f72.google.com (mail-wr1-f72.google.com [209.85.221.72]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A5Evstm005823 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Thu, 5 Nov 2026 17:57:54 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A5Evstm005823 Authentication-Results: mail.openvz.org; dkim=pass (2048-bit key) header.d=openvz.org header.i=@openvz.org header.b="ZXDf4x1H" Received: by mail-wr1-f72.google.com with SMTP id ffacd0b85a97d-49090fde23aso1552466f8f.2 for ; Thu, 05 Nov 2026 06:57:54 -0800 (PST) X-Gm-Message-State: APuU4Z/Edpe+5oM4GjyUxoorauvv9f80MNtBaiibVIPChEz0PLioWQl2 DUNmd/QjyP6XUZGwKVEUbOclPNJQ0y3AKYqNkRb/L09qj0CpxztvVx9IcYShVVmMTrNRtkgwUNG sih4wW4jQajOX0HTv6g73rpt4szsblgPirz9mUfpMpdrZu7rf3U0H4A== X-Gm-Gg: AYBFou0IG82Exn5tlhuhkeJaSa8pOvLMQAJLa4g/aSZunLz6SKvBcz7mHux5K56a4HH 1aDHZEtd+78oCFKOprC6abU2hS/PSNm5n42z+kJK45AqExlBYnCJ/DIcRQ2WOaFf3bjQxADFMKP HUlPoLP20E5MuNJElfOHa62Ox7mo6H81JLEarwXTgn4cw5vutw7dM7STllTLcP3EZfguiNFVhms T2nnexnVwj0JF9mev8CkYD9MQleOK1tN6p8twprmwGuxY3PSZhNGaCZhBUP9WN3/83UXbrBaz/S ELYQD2DEig== X-Received: by 2002:a05:6000:40d9:b0:48e:69ff:ba36 with SMTP id ffacd0b85a97d-48e8a2feb40mr17580164f8f.28.1793890673807; Thu, 05 Nov 2026 06:57:53 -0800 (PST) X-Received: by 2002:a05:6000:40d9:b0:48e:69ff:ba36 with SMTP id ffacd0b85a97d-48e8a2feb40mr17580126f8f.28.1793890673404; Thu, 05 Nov 2026 06:57:53 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1793890673; cv=none; d=google.com; s=arc-20260327; b=UZSx9mgcPflRZaSAQsMiY0USQmsFKxvVWY/inA92ym8cn24ueTm8fqIimD23d5lnZm 6cYzRXn1KwzhpNlPtaSZ2djlN/X7Be9TmCfKvMRAlgNt8A+MK7CAdCvTbtV879b4QNgf cTCfi+LkI9aD2n7iKfRgWTXCGCr9aC9EojggWDKgCQi413hrqV73h1kbQ0znX9tcqy/C 68/sKGW/7NPhSMNB1O1VU3QSNbUSnz7GxydF+W9ktORB6IvrAZrHyncAjNE4N1FVB1pI TB0Mw2n5pXfRjtYJllFqiqWdUnajerSq53BftEQCjJkxi9/Kd3lSIe4bNkUvY0WOuJyV iJOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20260327; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:dkim-signature; bh=Ho3H70fMJ1odZSWVE2DiEwkdvWpKDC9Sq+X7gsEPRHk=; fh=ozrYJQ1t3QIP6s65KBq5xgJxiFM2qf+5wwn3ABTusyU=; b=HZrXmCNSbtDB5VVQm24rtRUHHaQWtGYUEi+j/DLak66XIX4xQGge/Dq0tuD3aNtyZL s3Y6Qh8gBn0UUgpztOof6RoFxp0sZPL7/C93jLMl+1f9YQDaD0c44Gs7cZaWa7tkYxGb 3PmxgVFUa5fejTIo/CeAGF7VaKaf8SElJq6M9n/B8ri8tQrRqEZiUMPfrTPezC2svIqq HW7pWuBdbCkVoo8Xr2Wu9bvzq1f55o0jTYW1Q/0XPhCQNbnci9GmSJX8ooqoZoxSWMi5 uj/19nE187HaXP7acGo6L19sBE4q/ZmYAOtNIf+VZOgyABK0cJFbWAdHN+K2R0Xsn+on 7hQA==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=ZXDf4x1H; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:3848:9c8a:8cf7:6236 as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org Received: from mail-sor-f41.google.com (mail-sor-f41.google.com. [209.85.220.41]) by mx.google.com with SMTPS id ffacd0b85a97d-48fecda25c1sor1158713f8f.12.2026.11.05.06.57.53 for (Google Transport Security); Thu, 05 Nov 2026 06:57:53 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:3848:9c8a:8cf7:6236 as permitted sender) client-ip=2a06:5b06:b600:300:3848:9c8a:8cf7:6236; Authentication-Results: mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=ZXDf4x1H; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:3848:9c8a:8cf7:6236 as permitted sender) smtp.mailfrom=den@openvz.org; dara=neutral header.i=@openvz.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=google; t=1793890673; x=1794495473; darn=openvz.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=Ho3H70fMJ1odZSWVE2DiEwkdvWpKDC9Sq+X7gsEPRHk=; b=ZXDf4x1HjrOmEHyPFejubTB1AxNy6lwYeBCOoodozXDtPZuABeFPy2JjpJUzLBHYiB 8NGTnZQ45BH/oO7kBOu+Z9jERkmPoFLH5G31xibko8Vt/v7Clo+6V9fPUjntgM+J+Z/7 eXWnS+AoTRrUBVWk5hgGzrrEISEL6okSISp5RX4oFTpPW4Cg+TjmQ128mqjH0i4H+aUf HRVPJXRIGN+lsc5YoxELClKy0WJNUwu2QkhHx8iR9AxeOP6CzkfuAsvBNDLDFZdTLRff r1kX76vuWll+/9pRungRQz5X2hJ62udAAijt+IxAjIb3quFoWAOdt4TfGaSSR3HddCBG fO3A== X-Received: by 2002:a05:600c:848c:b0:4a6:42cc:bf65 with SMTP id 5b1f17b1804b1-4ac1709b206mr454710395e9.17.1793890672935; Thu, 05 Nov 2026 06:57:52 -0800 (PST) Received: from athena.sw.ru ([2a06:5b06:b600:300:3848:9c8a:8cf7:6236]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48fed92a753sm11719747f8f.45.2026.11.05.06.57.52 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 05 Nov 2026 06:57:52 -0800 (PST) From: "Denis V. Lunev" To: khorenko@virtuozzo.com Date: Thu, 5 Nov 2026 15:57:47 +0100 Message-ID: <20261105145749.2643035-2-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261105145749.2643035-1-den@openvz.org> References: <20261105145749.2643035-1-den@openvz.org> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 v2 1/3] dm-ploop: fix flip_upper_deltas returning with two md_locks held X-BeenThere: devel@openvz.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: OpenVZ development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: devel-bounces@openvz.org Errors-To: devel-bounces@openvz.org From: Denis V. Lunev ploop_check_delta_before_flip() takes the md_lock of a live BAT page and of the matching page of the lower delta before it compares them. When it finds a cluster both deltas map, it jumps to unmap past both unlocks: the cmd returns -EEXIST with the locks held and interrupts disabled, after freeing the page of the lower delta with its lock still taken. dmsetup comes back to userspace in atomic context, and the next pio touching that BAT page spins on its md_lock for good, a hard lockup. A flip_upper_deltas message on a chain where the top delta overwrote a cluster of the lower one gets there. The ploop library does not: its reverse merge clears those entries in the lower delta with the device suspended before it flips. Leave the scan only after both locks are dropped. Fixes: 0d4b4d0a20a9 ("dm-ploop: introduce per-md page locking") https://virtuozzo.atlassian.net/browse/VSTOR-153445 Feature: dm-ploop: ploop target driver Reviewed-by: Andrey Zhadchenko Reviewed-by: Konstantin Khorenko Signed-off-by: Denis V. Lunev --- drivers/md/dm-ploop-cmd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/md/dm-ploop-cmd.c b/drivers/md/dm-ploop-cmd.c index 45fa4fe7a45a..d6abbdc3c7e3 100644 --- a/drivers/md/dm-ploop-cmd.c +++ b/drivers/md/dm-ploop-cmd.c @@ -1146,11 +1146,13 @@ static int ploop_check_delta_before_flip(struct ploop *ploop, struct file *file) d_bat_entries[i] != BAT_ENTRY_NONE) { ret = -EEXIST; stop = true; - goto unmap; + break; } } spin_unlock(&d_md->md_lock); spin_unlock_irq(&md->md_lock); + if (stop) + break; clu = ploop_page_clu_idx_to_bat_clu(md->id, i); if (clu == nr_be - 1) { -- 2.53.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel