Received: by 2002:a05:7412:b10a:b0:f3:1519:9f41 with SMTP id az10csp1143176rdb; Fri, 1 Dec 2023 08:05:04 -0800 (PST) X-Google-Smtp-Source: AGHT+IGoNOB8YnvDqqQBtNg2OaKgYp4yWToUoMcAbn4nxxBdOpIn94MfleqmCjaY6fXulaXrbrA7 X-Received: by 2002:a17:90b:1d8c:b0:285:b7b9:dcd4 with SMTP id pf12-20020a17090b1d8c00b00285b7b9dcd4mr21692511pjb.16.1701446703998; Fri, 01 Dec 2023 08:05:03 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701446703; cv=none; d=google.com; s=arc-20160816; b=aPh9Y8lxFWntXIIQJ5IhgRfydRaD0tc247CmulS0UYWZ1cJy4EcwcMx6rWInMLvN9m /hsffoc0aILMXHZ9eNPpBhm1jbrcn/SzALTyuvXyvOQbvdxa9vW6NgHYt/q9F/jXv5iv BdTwjC+S2wlG7shBHoRe0ndtyfXAeM0vduyl7gZn3fxw/I3+5U4zm386TWYi8d/L/aHz vLSE2O8w3nsAOuygFmt8JZQYjQmy81NebYls1CHBnZDXS3f0gHGOOz+OLUDV7oM0nshe LDh1+22vJxl1TaHS3Z/oGm1pzFDcx47eazCSeYI32H+fo9LT+zKgwDaVNjaLPIi0FWCX JXqQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:cc:to:subject :message-id:date:from:in-reply-to:references:mime-version :dkim-signature; bh=VIw3vEF2EG/mTMxw2khY1FH0qqPJ+aeReW5VuqhMwP0=; fh=t1uXTGCC/v/dIMvdvPPQ6N8GgXP05V9O5loGC4lJlNo=; b=MkxB6zF/WmezCbEvzcUN/TpXPvA6W0sFK/blRJ8M4tHYabqAVspjSb00+opQO+SUV6 B+MczFtRMWN9MDAVW9VMbty4K52WSafYaKJgUydx3pynWoY3Uvow8c2rGRJDP0q8QbdI ZqEdhX6v1YKIVMdsH9522wj/oELz2d8ad3QcbxZROV53+jM9pqFuP3hjz35LQWrX1jX0 AkPCjcv6H4fbLlMlNt//iC918/R3n0rGVy7vZJl3WEGkQqnXih+cy6jqICgW7JXZgRfM TlGcEaVwZbqSE3Z9zBzZ6kNLdGMx9Ozqvrg3W6cBPe2ZM/WG8FWxcDs5/8+4jHsm1lan hNzw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=V8aYhMYG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Return-Path: Received: from snail.vger.email (snail.vger.email. [2620:137:e000::3:7]) by mx.google.com with ESMTPS id gz10-20020a17090b0eca00b00285f918f395si3390697pjb.190.2023.12.01.08.04.33 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 01 Dec 2023 08:05:03 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) client-ip=2620:137:e000::3:7; Authentication-Results: mx.google.com; dkim=pass header.i=@google.com header.s=20230601 header.b=V8aYhMYG; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::3:7 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=REJECT sp=REJECT dis=NONE) header.from=google.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 05B9F811F12F; Fri, 1 Dec 2023 08:04:13 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1378443AbjLAQEB (ORCPT + 99 others); Fri, 1 Dec 2023 11:04:01 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:56030 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1378661AbjLAQD7 (ORCPT ); Fri, 1 Dec 2023 11:03:59 -0500 Received: from mail-ed1-x536.google.com (mail-ed1-x536.google.com [IPv6:2a00:1450:4864:20::536]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2888A10DF for ; Fri, 1 Dec 2023 08:04:05 -0800 (PST) Received: by mail-ed1-x536.google.com with SMTP id 4fb4d7f45d1cf-54c69c61b58so4363a12.1 for ; Fri, 01 Dec 2023 08:04:05 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20230601; t=1701446643; x=1702051443; darn=vger.kernel.org; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=VIw3vEF2EG/mTMxw2khY1FH0qqPJ+aeReW5VuqhMwP0=; b=V8aYhMYGPG7qXDSgQZV048cN3bvc4ya+jEedS0ehzqcpE8A7T25Ve09tW1ILDL0yQg cxAJKjbiIcAmghFPbzabY6ZJqAg9bj8M7I53mgMMmG8ATpRLdj+pgPKe+La2Oqneah5t UljG21HuOsew014XfiEEsiXdbDxELwqlPj7QCAuVBKEHtpIqrxxPFE7vdzhC81nRVDzM bPD0I6zMqgKwPprPzP2iNZOxu0ClP63y8NFWDy28H/Y2ZHcu8/rp3cz2bc5Qbq7UFHQQ f7pryyhSQqi5wk9/BJ8PSKU7Jjc74qIg6pA4aKF+G5ndlZ01EQqCXVL5djZyNHC05Utz cS3w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1701446643; x=1702051443; h=content-transfer-encoding:cc:to:subject:message-id:date:from :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=VIw3vEF2EG/mTMxw2khY1FH0qqPJ+aeReW5VuqhMwP0=; b=NNhNdESHHSy/TdhT52sXLsSofoNY2pXPVlPse4fu5mE1757aOJqTThoT5N5i4kBEZE m0Vf2+2dAWP+xPb/rg1vt77fDsouYBpd73ggcQVDMnU6EFtVWx1bD3Amm1/TkxdDEQzx MG5fhwOLLJOxKETL88z82EOPO1d5TKV6fmMVlCjUI0uN+vccL8aeLpkUfBwg2xLaoOX5 zlZGQERQ2RN2WZh+SkomTh+Y/vWbJ7wV5FmG5VN0d5in7F0yfql8dwmw1iJrnmF/t3+x s2Dard8fday5cdB5Qe5GdiMX9dgDW9hy7jefCtRcLxtZAdGwkHXWPsEbv9Zl4RAixlWZ vlKQ== X-Gm-Message-State: AOJu0YzdqtyoIzrOlQhrH+2/sUH2wyzyYvUYap4isD5wqk6FQLZS0hVS NM/QY2doLsS/tzPQ3GQHdOUqEyNUD/yYUEmXGoRsTQ== X-Received: by 2002:a50:d49c:0:b0:543:fb17:1a8 with SMTP id s28-20020a50d49c000000b00543fb1701a8mr83893edi.3.1701446643476; Fri, 01 Dec 2023 08:04:03 -0800 (PST) MIME-Version: 1.0 References: <20231130204817.2031407-1-jannh@google.com> <06c05c8b-9a3b-4c04-b898-0f82e98da70f@redhat.com> In-Reply-To: From: Jann Horn Date: Fri, 1 Dec 2023 17:03:25 +0100 Message-ID: Subject: Re: [PATCH] locking: Document that mutex_unlock() is non-atomic To: Waiman Long Cc: Peter Zijlstra , Ingo Molnar , Will Deacon , Jonathan Corbet , linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable X-Spam-Status: No, score=-17.6 required=5.0 tests=BAYES_00,DKIMWL_WL_MED, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF, ENV_AND_HDR_SPF_MATCH,RCVD_IN_DNSWL_BLOCKED,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE,USER_IN_DEF_DKIM_WL,USER_IN_DEF_SPF_WL autolearn=unavailable autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Fri, 01 Dec 2023 08:04:13 -0800 (PST) On Fri, Dec 1, 2023 at 4:52=E2=80=AFPM Waiman Long wro= te: > On 12/1/23 10:01, Jann Horn wrote: >> I think this pattern anyway only works when you're only trying to wait >> for the current holder of the lock, not tasks that are queued up on >> the lock as waiters - so a task initially holds a stable reference to >> some object, then acquires the object's lock, then drops the original >> reference, and then later drops the lock. >> You can see an example of such mutex usage (which is explicitly legal >> with userspace POSIX mutexes, but is forbidden with kernel mutexes) at >> the bottom of the POSIX manpage for pthread_mutex_destroy() at >> , >> in the section "Destroying Mutexes". > > The POSIX mutex is reference-counted. I don't understand what you mean by that. Anyway, I guess this thread of discussion is moot - I'm not suggesting that kernel mutexes should support this behavior.