From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-oo2-f42.google.com (mail-oo2-f42.google.com [74.125.231.170]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1766435AC3F for ; Sat, 26 Sep 2026 15:49:28 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=74.125.231.170 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790437772; cv=none; b=cZIgpQhkjrI0PbuPBYdGHIATxW7CJ60VEMoCaIs9BmSf2kkiLCjdVXvVuoatNHxfXBKhby8Hoj19zMwZNMitITk9w0bsRXg9fTbxHbpear7CsxWDp2TG87eiSmfxo1aBehJnDTCSvuVh/6MXQxjby64IOuZx8JoJq4KNQaAU53E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1790437772; c=relaxed/simple; bh=2ChPtfS7fuQ6xmL5pBM0ED+Tz6MNWUwwNmCfWCfm6zM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hrTiDpJ3amI7ou769+7IPh/bllgauNuTeRpKvVhV9pFeD9TEqhEc0aWvm+NpQV7IPyg6x1Zmi2ru15o+gixYZbV2WE2ZuqlYm9inJ7JMGu3aLPME0kU2wR4DQATNS4B3XJbLcxpo5x9plfrG2vQhzwgqQx/CBdVY9VMqhkfZQeo= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=mohVNcip; arc=none smtp.client-ip=74.125.231.170 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="mohVNcip" Received: by mail-oo2-f42.google.com with SMTP id 46e09a7af769-81b8e8e9cb0so10059a34.3 for ; Sat, 26 Sep 2026 08:49:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1790437768; x=1791042568; darn=vger.kernel.org; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:from:to:cc:subject:date :message-id:reply-to:content-type; bh=pt1JZ0Xx4dSQpjlcwcv4OrOAetyhY0kdTpc42Knguac=; b=mohVNcipWlGEJslyD0IsZkG+B5AWQcv5qAkzYCOwQUICWSKmnSx5vjgc13hcsLdTpZ qlyD7kSE0P6DL3qf2Kfg9MA3nVIP5m19BH1Fa/68btsEZPAGWhOnXwH5VxCn1snzRnDi v1DcYeborhQd2p3+CZLOI6wImkx69Hk+T+rK9h60DiouWnNNQL5UG4xC32i9hUnvG9h/ 4vLAJwdMOREqCBZy4wxmp29ie15jvz0LXK3Db8TOcpc/qfPu6Dg+g77uI9q8ckGdwvWv 5LJXZPKn40TOYbxMBRPBI27DLYyWyeYhN8x4bZNuSa2DyZ4I/vZM5AMyR+JXTdX1E3FI 2grA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1790437768; x=1791042568; h=cc:to:in-reply-to:references:message-id:content-transfer-encoding :content-type:mime-version:subject:date:from:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to :content-type; bh=pt1JZ0Xx4dSQpjlcwcv4OrOAetyhY0kdTpc42Knguac=; b=K3QVX6Z2K8FBeGNYohc78uH7vDpDJZgZp0aqze5Tw3ejsgXtktvnYq0hZO78KtH74d QVvLERhlbvnLeM9rhrq0+76j9cFCY8ZTdP60BMrGMsaJqI0zcsQB9l9q1LpymAetfVm1 93Xo9p+HhqyK/8Tvx1n1qrLfiVQVPklIyktBd87cVq90/9R+GZORjzTLdia7vHSrXPeo FXiWifmFPHaC35eyLeM/m0b3xouFZRMuoW2rNxc1Ovsh+XzRsleXYkPncciqakiORuL6 bCYHD+pt4U52lbgngjebAXp5NjdvCBy26osNO6AMWgp1q46e0S3g+/JsQeZmKb6XPFj6 TcZQ== X-Forwarded-Encrypted: i=1; AKwUvBxq+0QMl30X4vpmmNUW66KTsly4wkDRQq7EQ31SYuNmAWVT/CCu8mGAChDSgJOYmFAaW4TKOxc=@vger.kernel.org X-Gm-Message-State: AFuF++lE8+IYs11Q+2GEYe7IQufl2e9I18Ho/Wc0VY055raw13M/v9wK Ru1wrLyJOnLjK14IZtH+2opOxPK2huqAllgd2671zBtrxU4yJ4qOFKFS X-Gm-Gg: AYBFou0mYhQjlCTMcC6KOJBgi6uBQVoupF7j/uHh7fxIiUsjiGO4uvsHF4CjzSrnBxm aKl1eShdZy2rsLED6PjUXiym+pAexpIvN9Sv5hAKFwiQxuohVCqEL6/8R5DaHDIuF9q7rK8p83P hkvulqZwSDsBwKOG8Vi5pICAywPYon8vz6eoB/e90hixAmRMvXh2MNGt1wB+s06HIMS896/SC+E KVqrjdOLLu11PLo0eNNuv3y0icPBoprO5t3TJlEIcAIVyra7tjYT28QiVQ65xPS8K2D+oN46ILv 02J85cY8r6oKv+qaDBa8klzJYZKjHg0Pyn37ikWCFiXv51joAMpv//TDzQPXSa4n90ZTJFjBtfY miO3B/wRMzuxR+59LfiNiI5Ln9oR69wDcE1lX2YpmhXr3tlHayAXxQxubuFI0FF8eP5NQYkBU5+ 9G5xb6pJynZbvWKyU8Y8bG24kIBxxBHiCSHU+TH2QmCIHYVk6WbF7biMiRsQdRPZQB+f1g/YVeq 1WVlhWh4G8gYwpiKpJNCVeR0+KLHvO91s5L4b0t0FOCg0A79D4M+K0LzVADvqxyhBoTARqCXfxG Mf2T4gPe5Kj1YuB0rtzhtgQY5m0QIFfQd6OZYZCb514JPItH4UOv+0uPKyfR5SDcLce3+X+hAev 93ZK4MXpIMis9ty4NRbBY X-Received: by 2002:a05:6830:6734:b0:7dc:4a43:fb5c with SMTP id 46e09a7af769-81781294540mr9561085a34.11.1790437767719; Sat, 26 Sep 2026 08:49:27 -0700 (PDT) Received: from [127.0.1.1] (174-29-1-49.hlrn.qwest.net. [174.29.1.49]) by smtp.gmail.com with ESMTPSA id 46e09a7af769-818e98b16d4sm5442366a34.26.2026.09.26.08.49.25 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 26 Sep 2026 08:49:26 -0700 (PDT) From: James Hilliard Date: Sat, 26 Sep 2026 09:48:59 -0600 Subject: [PATCH net v4 04/15] xsk: freeze deferred pool teardown during system sleep Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260926-submit-stmmac-reset-fixes-v1-v4-4-ec1c0250b3c9@gmail.com> References: <20260926-submit-stmmac-reset-fixes-v1-v4-0-ec1c0250b3c9@gmail.com> In-Reply-To: <20260926-submit-stmmac-reset-fixes-v1-v4-0-ec1c0250b3c9@gmail.com> To: Russell King , Andrew Lunn , Heiner Kallweit , "David S. Miller" , Jakub Kicinski , Paolo Abeni , Joakim Zhang , "Russell King (Oracle)" , Maxime Chevallier , Andrew Lunn , Maxime Coquelin , Alexandre Torgue , Christian Marangi , Tiezhu Yang , Huacai Chen , Alexei Starovoitov , Daniel Borkmann , Jesper Dangaard Brouer , John Fastabend , Stanislav Fomichev , Serge Semin , Suraj Jaiswal , Richard Cochran , Joao Pinto , Vladimir Oltean , Ong Boon Leong , Voon Weifeng , "Song, Yoong Siang" , Linus Walleij , Martin Blumenstingl , Magnus Karlsson , Maciej Fijalkowski , Simon Horman , =?utf-8?q?Bj=C3=B6rn_T=C3=B6pel?= , Thierry Reding , Jonathan Hunter , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Eric Dumazet Cc: Richard Genoud , Alastair D'Silva , Maxime Ripard , netdev@vger.kernel.org, linux-kernel@vger.kernel.org, linux-stm32@st-md-mailman.stormreply.com, linux-arm-kernel@lists.infradead.org, bpf@vger.kernel.org, ZhaoJinming , Lorenzo Bianconi , Ding Hui , James Hilliard , linux-tegra@vger.kernel.org, linux-sunxi@lists.linux.dev X-Mailer: b4 0.15.2 Pool destruction calls the driver under RTNL from system_wq. That queue is not frozen during system sleep, so ndo_bpf() can run after the device suspend callback has gated its clocks or after the noirq phase. Use the freezable workqueue for deferred pool release. Work already running completes before device suspend, and newly queued destruction waits until device resume. The pool, UMEM and netdev references remain owned by the work until then. This does not replace driver error handling after a failed resume. Fixes: 1c1efc2af158 ("xsk: Create and free buffer pool independently from umem") Signed-off-by: James Hilliard --- net/xdp/xsk_buff_pool.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/net/xdp/xsk_buff_pool.c b/net/xdp/xsk_buff_pool.c index 9d2d94f1fb75..c58f56f24a9c 100644 --- a/net/xdp/xsk_buff_pool.c +++ b/net/xdp/xsk_buff_pool.c @@ -337,7 +337,10 @@ bool xp_put_pool(struct xsk_buff_pool *pool) if (refcount_dec_and_test(&pool->users)) { INIT_WORK(&pool->work, xp_release_deferred); - schedule_work(&pool->work); + /* Teardown calls ndo_bpf(), which may need powered hardware. + * RTNL alone does not exclude the device's system PM callbacks. + */ + queue_work(system_freezable_wq, &pool->work); return true; } -- 2.53.0