Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp390367pxb; Wed, 24 Feb 2021 05:10:05 -0800 (PST) X-Google-Smtp-Source: ABdhPJxYJjYcX9xPmcwbJmbrPVwWPv56NrcgPivOsW506hDNQIPXU7ixTYJYO1oCTVwaIJf/5eCA X-Received: by 2002:a17:906:1956:: with SMTP id b22mr32123664eje.114.1614172205345; Wed, 24 Feb 2021 05:10:05 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614172205; cv=none; d=google.com; s=arc-20160816; b=busbQQSKxOUcKBHTl73jk/2XiGvvipVX82e2GLhDA+M6u0rts5Akr60JAo7JyInEXk puh86s0gEi5szF7Nr4SLt0j+uZ4wwSaeIvEewXgkCPntvNE269QffAkKgZhO4yPHCg9q 6xSuTtoh4wCO3FdBu9pbjk7/ACSlNvorf/InxqVQP4jicWuJ+5qvRN7oGDVprVmRRlkD 6krYsKJxMIkUr71OhiQL++LBbf/H5gvJ69lMqXx5LuiMjLNsa+PYZX8sHmyhFvnY3q6h EVuYLEohYOpAIkIKJc8w9j08+ybZTwMGsL9qxs1qvsUC8XYj64YjM4mtSx8MPPKlZNgW uEJw== 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 :message-id:date:subject:cc:to:from; bh=4pdGhMvfmVLr4GsItex2kN3PsZK6WZYj4wn62FvOM7k=; b=MsR4QdtuoGE9WP6g5+yufgbpG2uifyr68IjRFXhIKtILRoKKc7ZlRDLGZzGF6CFTUr 1+MQzvjKK99SegvRV4+SU9LSby5mxPpxxk6+31CXPmn7I/ffPTELJ3190A7hrZDI2qkq iP1KuhlNBO9sLVW2OKex1RYb4FW1WoxS46NvQlpJVUnacvDpeBZN78HF5Jy/vy754gtu OvmSoDW2YPvlwIODNZvDPc7vu9adydr+tH4phd95xZ9i06Pn0WG6ceC+ADCzzmLCWlsg lspzb70gkadGcPwpn/G5NGdfDlZkmjlM52uAuIpkRq/J4r378YHO3G7c8A7sZtD2ahXF KsAQ== ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id dn25si1112274edb.503.2021.02.24.05.09.23; Wed, 24 Feb 2021 05:10:05 -0800 (PST) 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; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234798AbhBXKKW (ORCPT + 99 others); Wed, 24 Feb 2021 05:10:22 -0500 Received: from szxga06-in.huawei.com ([45.249.212.32]:12950 "EHLO szxga06-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234314AbhBXKKS (ORCPT ); Wed, 24 Feb 2021 05:10:18 -0500 Received: from DGGEMS408-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga06-in.huawei.com (SkyGuard) with ESMTP id 4Dls7P0Db9zjQ6v; Wed, 24 Feb 2021 18:08:17 +0800 (CST) Received: from use12-sp2.huawei.com (10.67.189.174) by DGGEMS408-HUB.china.huawei.com (10.3.19.208) with Microsoft SMTP Server id 14.3.498.0; Wed, 24 Feb 2021 18:09:27 +0800 From: Xiaoming Ni To: , , , , , CC: , , Subject: [PATCH 4.9.258] futex: fix dead code in attach_to_pi_owner() Date: Wed, 24 Feb 2021 18:09:23 +0800 Message-ID: <20210224100923.51315-1-nixiaoming@huawei.com> X-Mailer: git-send-email 2.27.0 MIME-Version: 1.0 Content-Transfer-Encoding: 7BIT Content-Type: text/plain; charset=US-ASCII X-Originating-IP: [10.67.189.174] X-CFilter-Loop: Reflected Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org The handle_exit_race() function is defined in commit 9c3f39860367 ("futex: Cure exit race"), which never returns -EBUSY. This results in a small piece of dead code in the attach_to_pi_owner() function: int ret = handle_exit_race(uaddr, uval, p); /* Never return -EBUSY */ ... if (ret == -EBUSY) *exiting = p; /* dead code */ The return value -EBUSY is added to handle_exit_race() in upsteam commit ac31c7ff8624409 ("futex: Provide distinct return value when owner is exiting"). This commit was incorporated into v4.9.255, before the function handle_exit_race() was introduced, whitout Modify handle_exit_race(). To fix dead code, extract the change of handle_exit_race() from commit ac31c7ff8624409 ("futex: Provide distinct return value when owner is exiting"), re-incorporated. Fixes: 9c3f39860367 ("futex: Cure exit race") Cc: stable@vger.kernel.org # v4.9.258 Signed-off-by: Xiaoming Ni --- kernel/futex.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/kernel/futex.c b/kernel/futex.c index b65dbb5d60bb..0fd785410150 100644 --- a/kernel/futex.c +++ b/kernel/futex.c @@ -1207,11 +1207,11 @@ static int handle_exit_race(u32 __user *uaddr, u32 uval, u32 uval2; /* - * If the futex exit state is not yet FUTEX_STATE_DEAD, wait - * for it to finish. + * If the futex exit state is not yet FUTEX_STATE_DEAD, tell the + * caller that the alleged owner is busy. */ if (tsk && tsk->futex_state != FUTEX_STATE_DEAD) - return -EAGAIN; + return -EBUSY; /* * Reread the user space value to handle the following situation: -- 2.27.0