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 A5AAE8045D for ; Mon, 2 Nov 2026 16:54:56 +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 6A2Grd8T026999; Mon, 2 Nov 2026 19:53:39 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2Grd8T026999 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=openvz.org; s=default; t=1793638424; bh=fmpOytmyccET8JBmPA6roNvmEhELkdILT1CHuQfkeT8=; h=From:To:Date:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe; b=BYbVNSj1rnJmiYa8LtGSUdmiEMn5zOeXxDGf2qMBItn79/T3mctmXr5ytJFJ6srtv 2uOd7Jj1An+xiGBOEgUfXZ/tmvIUvC/DudlSvcs8/ldo4HDFzWtZ2yqwxXEFRGRitS NOlgWODB9xaVnJsmD1PJoPXgFKipkWQDH15MsIWbwTj1ySk+Pcxqou4MtztbWv1u/D VHRNhQCNYoKKlE2GIIUlDVjZTIMfJeeU647LI7ju9zo2y2z124yq1u8jY2OFwK5idO zbhttNOCeSgpnmPQlWOoLa/5UDNy/XHCy+Pquzy7ec861FBb8X9/8L2IczBQjzYn6e kN5xgjsn8Tc9g== Received: from mail-ej1-f69.google.com (mail-ej1-f69.google.com [209.85.218.69]) by mail.openvz.org (8.14.4/8.14.4) with ESMTP id 6A2Grb95026995 (version=TLSv1/SSLv3 cipher=AES128-GCM-SHA256 bits=128 verify=FAIL) for ; Mon, 2 Nov 2026 19:53:37 +0300 DKIM-Filter: OpenDKIM Filter v2.11.0 mail.openvz.org 6A2Grb95026995 Authentication-Results: mail.openvz.org; dkim=pass (2048-bit key) header.d=openvz.org header.i=@openvz.org header.b="JP3xludi" Received: by mail-ej1-f69.google.com with SMTP id a640c23a62f3a-c42f98f3571so65524766b.3 for ; Mon, 02 Nov 2026 08:53:37 -0800 (PST) X-Forwarded-Encrypted: i=2; AKwUvBzHy7svI1HKUPobGskkW+2fK+wLOom71h8R+ZOaIS5hYofJHsGsi9yIv7DmS2GqGHZP3EWn/A==@openvz.org X-Gm-Message-State: APuU4Z/Z4EiWmyoay272MTlB09dn2XeLeZNnwCyd7DkrE+ZJ9tL6Jh7Z DbO4sk6Ze5MsP8xXWox4umXTmjlBcQjuDSgrWTqHAYBu5Hi7Y5EL1OdkHvhBHzg1Wwrk1d12vKe ndqFcr64Nnz3qItZSioncuObQzsm3gfaa+V3ayREverqp3PaIzOSlsw== X-Gm-Gg: AYBFou0+Y52ny1X3RR5LOqkUBYSJps5i6hX8bhmSygewSwWvNHypAztIg12pHoLijh4 pf587CQtNFeuEfKM5evBYW+MlGk5SoDcRjEWIPgEdMJ3AHbnC+w+lf1WQhcdeLjbk9gpLoPuM4X x61EfMmI5KBK3WY0zfSWVKFoSIembYCb/DK2aKnZBgkt1KG8wJV5xCwlIanSXWArbJv9Duq9ILM H225pHvTJXXcG/iKRgmJV8kJUeIXOlFh275kxIbsvpEBuUyUeXtmohyAYwMiNcz+Hcz2F/3EVcb YB4p3lKeLw== X-Received: by 2002:a05:600c:8b64:b0:4a2:84c:52f3 with SMTP id 5b1f17b1804b1-4ac16fa21dcmr262810175e9.6.1793635946490; Mon, 02 Nov 2026 08:12:26 -0800 (PST) X-Received: by 2002:a05:600c:8b64:b0:4a2:84c:52f3 with SMTP id 5b1f17b1804b1-4ac16fa21dcmr262809225e9.6.1793635945863; Mon, 02 Nov 2026 08:12:25 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1793635945; cv=none; d=google.com; s=arc-20260327; b=r7KGni8i5xuwfJ/xlgiNo6UjgwFZmmeyPoswnpPPN1z1DtacaeG1P2YLB6dmgr0aJ/ OmbDnYx8qYF3obCXawqraPFF/aM5zpHiWm6pzz6S1CHgh6heN4QkaeVGQXb32gU+WaR1 UatpOLv09hLgF19Cqn6JHpjjyZgveIP5Qf3c4t51nBgu/aeYcTHGDgGef8R8hJ7vsAHg B26vXXNOIbcpU2CdTvMvcnUzuxOqNoww5Y6tEe09HBHUzyB4t8jdkzLCD/4ssdPOV1Ac 0gijyOawVcBxEUBNLpR5zue2Uo0L6n4sLP+tfMlp6+eojAT9yiaqqHn1olfrzoMjq47j 30kA== 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=IQK0CWnsrvHgc6VmzlVMKQgRqJZLR3CqpQgm8wftFXw=; fh=n3P9/uFnDRmvZ0NWusbRVnOvYiBM6CqFgQuUSYIuNRE=; b=YNVBU3C7NxM9WxDJNBSp65mLyQKmITGAHzX+axnh89m7MEmFvleqLL1xsmvptHn88n 8r6LRFsGSxXCIJGL7tooeir+MmoiKOzpIQ3fuQjdngNRQnkQy6cck9mvkbY8phdtlpES 4HXlv0ytKZ9eNn7yutbnpAtpUZzTkXRhNenzrOV22W8pMrn5++8BCxnukZ93THIgUn9z owDh9zyPhlm3sMEs70s39Cb9jhK8vlrTnDEq0Jufnvh8VyvjXW8ZLC1XCBp8QD48v2Br osQPypABQIQJazVbHgQ+szsTIe4J1MoKhU0olnTPl00Q3214SrGpS7PpXnGCgZ9iDmp3 As9A==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=JP3xludi; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:91db:48d7:7451:652a 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 5b1f17b1804b1-4ac2341c58esor24177855e9.16.2026.11.02.08.12.25 for (Google Transport Security); Mon, 02 Nov 2026 08:12:25 -0800 (PST) Received-SPF: softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:91db:48d7:7451:652a as permitted sender) client-ip=2a06:5b06:b600:300:91db:48d7:7451:652a; Authentication-Results: mx.google.com; dkim=pass header.i=@openvz.org header.s=google header.b=JP3xludi; spf=softfail (google.com: domain of transitioning den@openvz.org does not designate 2a06:5b06:b600:300:91db:48d7:7451:652a 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=1793635945; x=1794240745; 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=IQK0CWnsrvHgc6VmzlVMKQgRqJZLR3CqpQgm8wftFXw=; b=JP3xludiBDqxj1kIvD7Qdb/4UsC/4weH+Ix+6a1TDQbewc/fesiycTAkQPPQsTCdvE yOel/X5doC7HIJL7Z9GZbHQ74iQYQQN3de9TkNtKfcfwQKVlwmj9fgZo7oSvQAxh4f1m 3UM+J02JlMMXL1EN9uVURqloP9Hgu3H509Ez3aOoOn89R+P6GQcMppybabG62uPOESbx pRokquo1BuTBC7qW9VxPU4le9z7U9xTv1XMLep/manTEhJxzD9IAxVoySq9+fCTVv0/e +OT24dYFWh0AXsWmIxwaORwuKuQMhhmbR0bzQULvYnq7Mktd6sIqnTsOC/WKYoHfcN0A qTXQ== X-Forwarded-Encrypted: i=1; AKwUvByW3AbjqQVKywznZTCIFu+AL2aMWivX86+Lbqwu4WvoujxF1aCva0vl523iE4dH0kCvlS60ww==@openvz.org X-Received: by 2002:a05:600c:1c06:b0:4a2:fe11:9a8a with SMTP id 5b1f17b1804b1-4ac121940c8mr314394645e9.0.1793635945261; Mon, 02 Nov 2026 08:12:25 -0800 (PST) Received: from athena.sw.ru ([2a06:5b06:b600:300:91db:48d7:7451:652a]) by smtp.gmail.com with ESMTPSA id ffacd0b85a97d-48e71b9b54dsm20387623f8f.47.2026.11.02.08.12.24 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2026 08:12:24 -0800 (PST) From: "Denis V. Lunev" To: Date: Mon, 2 Nov 2026 17:12:17 +0100 Message-ID: <20261102161219.3735623-3-den@openvz.org> X-Mailer: git-send-email 2.53.0 In-Reply-To: <20261102161219.3735623-1-den@openvz.org> References: <20261102161219.3735623-1-den@openvz.org> MIME-Version: 1.0 X-OZ-Fwd: true Cc: devel@openvz.org Subject: [Devel] [PATCH hci-8.1 2/2] ms/blk-throttle: fix throtl_data leak during disk release 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: Yu Kuai Tightening the throttle activation check in blk_throtl_activated() to require both q->td presence and policy bit set introduced a memory leak during disk release: blkg_destroy_all() clears the policy bit first during queue deactivation, causing subsequent blk_throtl_exit() to skip throtl_data cleanup when blk_throtl_activated() fails policy check. Idealy we should avoid modifying blk_throtl_exit() activation check because it's intuitive that blk-throtl start from blk_throtl_init() and end in blk_throtl_exit(). However, call blk_throtl_exit() before blkg_destroy_all() will make a long term deadlock problem easier to trigger[1], hence fix this problem by checking if q->td is NULL from blk_throtl_exit(), and remove policy deactivation as well since it's useless. [1] https://lore.kernel.org/all/CAHj4cs9p9H5yx+ywsb3CMUdbqGPhM+8tuBvhW=9ADiCjAqza9w@mail.gmail.com/#t Fixes: bd9fd5be6bc0 ("blk-throttle: fix access race during throttle policy activation") Reported-by: Yi Zhang Closes: https://lore.kernel.org/all/CAHj4cs-p-ZwBEKigBj7T6hQCOo-H68-kVwCrV6ZvRovrr9Z+HA@mail.gmail.com/ Signed-off-by: Yu Kuai Signed-off-by: Jens Axboe (cherry picked from commit 336aec7b06be860477be80a4299263a2e9355789) https://virtuozzo.atlassian.net/browse/VSTOR-152993 Feature: fix ms/block Signed-off-by: Denis V. Lunev --- block/blk-throttle.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/block/blk-throttle.c b/block/blk-throttle.c index cfa1cd60d2c5..95bf175c2a13 100644 --- a/block/blk-throttle.c +++ b/block/blk-throttle.c @@ -1842,12 +1842,15 @@ void blk_throtl_exit(struct gendisk *disk) { struct request_queue *q = disk->queue; - if (!blk_throtl_activated(q)) + /* + * blkg_destroy_all() already deactivate throtl policy, just check and + * free throtl data. + */ + if (!q->td) return; timer_delete_sync(&q->td->service_queue.pending_timer); throtl_shutdown_wq(q); - blkcg_deactivate_policy(disk, &blkcg_policy_throtl); kfree(q->td); } -- 2.53.0 _______________________________________________ Devel mailing list Devel@openvz.org https://lists.openvz.org/mailman/listinfo/devel