From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 02463C77B7A for ; Tue, 30 May 2023 18:32:35 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232839AbjE3Scd (ORCPT ); Tue, 30 May 2023 14:32:33 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:59714 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233450AbjE3Scb (ORCPT ); Tue, 30 May 2023 14:32:31 -0400 Received: from mail-pl1-x629.google.com (mail-pl1-x629.google.com [IPv6:2607:f8b0:4864:20::629]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 929B0100 for ; Tue, 30 May 2023 11:32:30 -0700 (PDT) Received: by mail-pl1-x629.google.com with SMTP id d9443c01a7336-1a950b982d4so23295ad.0 for ; Tue, 30 May 2023 11:32:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20221208; t=1685471550; x=1688063550; h=mime-version:user-agent:message-id:date:subject:cc:to:from:from:to :cc:subject:date:message-id:reply-to; bh=4sS3/Bfwt7TvEDXuu7/He/mgRn4IfxDIex6g4PACeMk=; b=TPlFY3sS6/OYtQC0ozjQX0WNPBenow76gDcaot3VOPiWXJp28K8qANb2lorHHtNNpe OmtD1fp6f3trSbPERXJVMI/JYQmYvk6JPsUNupn5kYtCjZR5e6eS9J8TzEOG0AmtGQ1e yyVO9HnELsEW83+88u52R4bXnAWQycG2VTbZVwjXDSNt83eF/qpiN5Bz93q9I+IoqrJG z3JwVOX7gveo2e/bH5IEkwLNevMcT6oP9+XU8mETg+JoYfQSpJAD0AQj2xbc9LRGFwK6 b9oqbdNxSEwS3kX+R+iVX21hha4GenbVQO+ulbb5gGIpfSbiKyQVCd52vDppNuaYs4RK Flxw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1685471550; x=1688063550; h=mime-version:user-agent:message-id:date:subject:cc:to:from :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=4sS3/Bfwt7TvEDXuu7/He/mgRn4IfxDIex6g4PACeMk=; b=X+BUqL+qm0S/x0tMHHp67goWy41ZNL+z7bgHXBalMI538fKEtEElyzP0w352Ky4/UX KYMT9GwazFqKLYDTcMzFi6G6AsQK4NysZdkG++mmBycct13CPVpavvKdjTmXa27w/js1 geUDVh2nLudfMWA8Uf2U0JI4YB0h3tG8QtuOpUW/jXQZ+voe451KCV5Lziul7zaQGLi/ oQ32zEZTFMiMVtlL20mCti4h3qUWqMWeSR9Ku5cG+Fnei6F9edRLMFZYVpACnCsI8txR G2IvHkHHa6E/SNvXGvJiKqKDK/uxNsiXW4BfWo5Aq8XZvpT91x1ryXEZTavBAODv/rbl EV5g== X-Gm-Message-State: AC+VfDx5o6DK5gn+waFe31Y8z1pezhguVuNwkvCaRquBkqZv9Pbthojd zALLo6QEM1dXlkgBFUqneo7zcA== X-Google-Smtp-Source: ACHHUZ4c0qVs/v1Z0x3arLpGG81NNp/nncDFmE5pavfGAXBP886zvP7ttp4FXvBVFE+cppUlk7XrFw== X-Received: by 2002:a17:902:dac2:b0:19f:3c83:e9fe with SMTP id q2-20020a170902dac200b0019f3c83e9femr223100plx.14.1685471549929; Tue, 30 May 2023 11:32:29 -0700 (PDT) Received: from bsegall-glaptop.localhost (c-73-158-249-138.hsd1.ca.comcast.net. [73.158.249.138]) by smtp.gmail.com with ESMTPSA id w21-20020aa78595000000b0064d47cd117esm1972236pfn.39.2023.05.30.11.32.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 30 May 2023 11:32:29 -0700 (PDT) From: Benjamin Segall To: Alexander Viro , Christian Brauner Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org, stable@vger.kernel.org, Andrew Morton Subject: [PATCH RESEND] epoll: ep_autoremove_wake_function should use list_del_init_careful Date: Tue, 30 May 2023 11:32:28 -0700 Message-ID: User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/28.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org autoremove_wake_function uses list_del_init_careful, so should epoll's more aggressive variant. It only doesn't because it was copied from an older wait.c rather than the most recent. Fixes: a16ceb139610 ("epoll: autoremove wakers even more aggressively") Signed-off-by: Ben Segall Cc: stable@vger.kernel.org --- fs/eventpoll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/fs/eventpoll.c b/fs/eventpoll.c index 52954d4637b5..081df056398a 100644 --- a/fs/eventpoll.c +++ b/fs/eventpoll.c @@ -1756,11 +1756,11 @@ static struct timespec64 *ep_timeout_to_timespec(struct timespec64 *to, long ms) static int ep_autoremove_wake_function(struct wait_queue_entry *wq_entry, unsigned int mode, int sync, void *key) { int ret = default_wake_function(wq_entry, mode, sync, key); - list_del_init(&wq_entry->entry); + list_del_init_careful(&wq_entry->entry); return ret; } /** * ep_poll - Retrieves ready events, and delivers them to the caller-supplied -- 2.39.0.rc0.267.gcb52ba06e7-goog