Received: by 2002:a05:6a10:c604:0:0:0:0 with SMTP id y4csp808998pxt; Thu, 5 Aug 2021 12:11:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJygn/m9czTwv6dDQqSyYe4b0rbF+OHMVHRhBAadtR9oD0F/Fppwhv00Jgt+Vic0CAsrzQ+F X-Received: by 2002:a05:6402:8cf:: with SMTP id d15mr8711555edz.8.1628190718384; Thu, 05 Aug 2021 12:11:58 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1628190718; cv=none; d=google.com; s=arc-20160816; b=isyBp1nOpzg85FfId2wbFA454fwYx7iJb9E2ZusweAppF8u2QLUQWpY+rbo9WtxhZ7 IBne7zXPrD70xVdDtXpXwyeS5IQoaTYRx0aGnBqaMkXteIDhoMSKFoR6i9PLelyK3Lbs 6hgXUwDRk6DBy65FtWxyWMtszY2kymc1JZpAGXTRylJs9owOIqA6TEijOtvd7yd4CKCg KHHPT+gIyOxc+cBBDTrYpgVQWOkT0LeMugMx41wY06uyH7bFV/Jl3G8PUsJJnQVo+Afx 9gBOR0njIZQr5qwKwurA2D8A5kQEeGLtpMtHIRh67z9i7005iNoSKqadHDZi+sWIiMOl d5PQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:subject:cc:to:from:date:dkim-signature:dkim-signature :message-id; bh=L89kb3bK/8i7QLZQxNCKbjHrAz7lR5evlX/81M/CJ6U=; b=o9ld4XPM/k8fLV7giPFRrYlLZ7DzdzsR2EmPPtz5rT0hLN9zo6l9R8V5goM+DZoxQi b9HklWMtU2tRORQviGMNumHC8EBlyPJ/TK6ILjKp1031hclTlEscWKR69inXoRY8FYyF 3PXD4uhDWd2qo2hMOvJh4BnX6iwc3XvOtTLzgrw0lJeQH1swwVTAlh1kKxkhUOkewFfP aIS6MlqB/0mRkaln5MaxuxMHCauBGn2u8+tUyN/GWjYqQwrjRgRhPfSeapSC+ynj3i8Y V5XOodkzq8s5zUzVkuCE/mcNqUITumJAMdX8+UeF4ZKjYS5SrCyEK9busgAKIKvxVPE+ 6wfw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=kElMHNfm; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=1TlWqzGw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id nb14si7476215ejc.608.2021.08.05.12.11.33; Thu, 05 Aug 2021 12:11:58 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linutronix.de header.s=2020 header.b=kElMHNfm; dkim=neutral (no key) header.i=@linutronix.de header.s=2020e header.b=1TlWqzGw; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=QUARANTINE dis=NONE) header.from=linutronix.de Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S242473AbhHEPqC (ORCPT + 99 others); Thu, 5 Aug 2021 11:46:02 -0400 Received: from Galois.linutronix.de ([193.142.43.55]:44026 "EHLO galois.linutronix.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S242509AbhHEPmq (ORCPT ); Thu, 5 Aug 2021 11:42:46 -0400 Message-ID: <20210805153956.051961951@linutronix.de> DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1628178151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: references:references; bh=L89kb3bK/8i7QLZQxNCKbjHrAz7lR5evlX/81M/CJ6U=; b=kElMHNfmvfG9ssjeyjhpTaTctLAjFmr/4kdv2HDweuOF1JWswmJMXGegxTQ2Ri84vDIZHj ELhJnIqtqFA0IHSyu/9zBiIJG4zfuGg1b1E+u3fQA7Wk5/5bCAoulM6Dfv+Sa/wBUvSvRv DxkxQ9PR0B7Ifo7feY3QvIbdhEswbvOhQwmbeXR2FFDOZWWJF6Tt3jkcJ3VqDh/33Mfl/3 hIE+TrMWDUtniv8sRqD0nB0djJuiAFDxkPMmQALyIFaEgnMRIePy6hEqS6ocIPTMfpYbVv kGLU4bmLdkLGasfwPEnFj2sMJ8qXMHb2AEDABFVKSn2qfv6OZluhsHWGYlxr2w== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1628178151; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: references:references; bh=L89kb3bK/8i7QLZQxNCKbjHrAz7lR5evlX/81M/CJ6U=; b=1TlWqzGwPHunNzWhfFZCPU8QapZz3hAg/lfCEQPAG4Lj+jZD4MKy+CY1qB5b4gr14cZm0A sSSHGDP88A+s2vAQ== Date: Thu, 05 Aug 2021 17:13:56 +0200 From: Thomas Gleixner To: LKML Cc: Peter Zijlstra , Ingo Molnar , Juri Lelli , Steven Rostedt , Daniel Bristot de Oliveira , Will Deacon , Waiman Long , Boqun Feng , Sebastian Andrzej Siewior , Davidlohr Bueso , Mike Galbraith Subject: [patch V3 56/64] futex: Correct the number of requeued waiters for PI References: <20210805151300.330412127@linutronix.de> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-transfer-encoding: 8-bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org From: Thomas Gleixner The accounting is wrong when either the PI sanity check or the requeue PI operation fails. Adjust it in the failure path. Will be simplified in the next step. Signed-off-by: Thomas Gleixner --- kernel/futex.c | 4 ++++ 1 file changed, 4 insertions(+) --- --- a/kernel/futex.c +++ b/kernel/futex.c @@ -2131,6 +2131,8 @@ static int futex_requeue(u32 __user *uad /* Ensure we requeue to the expected futex for requeue_pi. */ if (requeue_pi && !match_futex(this->requeue_pi_key, &key2)) { + /* Don't account for it */ + task_count--; ret = -EINVAL; break; } @@ -2172,6 +2174,8 @@ static int futex_requeue(u32 __user *uad */ this->pi_state = NULL; put_pi_state(pi_state); + /* Don't account for it */ + task_count--; /* * We stop queueing more waiters and let user * space deal with the mess.