Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp1584155pxb; Mon, 22 Feb 2021 06:01:22 -0800 (PST) X-Google-Smtp-Source: ABdhPJxUeZxcJ5F4itJ+EkInxrVUVhbO1uHLgB1BQBCfr9lw4QcR9Lk1z0ZvFngPCoaNGQnxPNyK X-Received: by 2002:a17:906:aacd:: with SMTP id kt13mr12328518ejb.31.1614002478805; Mon, 22 Feb 2021 06:01:18 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614002478; cv=none; d=google.com; s=arc-20160816; b=uM5LPrESGbbS50UvqbULIlHJI7nddUvmaFcOD8nKS8vINhUdymhs9m/MbTFYcOoXLo nQRHxNnaRrtFiETCbgAmJh9m4X6Xiuh9VBb2K27nfg5EPgrzZpghHKUm2t31jJTbBELK liX2hb9L5J8v86gMpuoDscoXXyvx+aNt+a37H+lSQxc65L6+MMbX8JecHUvxQooEohE2 ROan2SAO7h15SvY91nLUmZ07olp1b4q6Tj4/p2XQMF0jAD1JR2nasdChcWE9B3D5/zu2 TpxczHERE8pKxAA+lEJzgLeGL4FnvBCZBhWQ/mSTqBNcV2Y8g82nSBUJgqNA40hxJlp3 P/5A== 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=hOSybwoe9O/I5uR/n95K22jfkot/d72BPx30prpEbSg=; b=fstgQEDR6sYntw3oIBx3N3/XNYIji+A7vR8P8dYcTJy3Z027K89VWIM3KbCo/M4YYK 3AbRGdtqh1UECnYyQmSHx6WZlPDHj/4AGzuc/60r4T4L8KsgxwhFdgnb862e9PjQrApi 5Q9989BVKQIObWDcP9L4j4F5urwuHB0mV/faG1jyBoTGUKdEDcC48r0kcK/TQ6OgrefN zd97N8WjP7JS+/aec6pwiL1SE29cu6yj9h2LGapLEyDutOf2V+qRTBak448wIk1Lmukc PSQ+fALauO7zlpxC+AiimL8xT9BMqwruPYh64mCMMFs7rwAOTMheFn2kTC8bQQwCfMpE ywfA== 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 c4si8871849edv.517.2021.02.22.06.00.55; Mon, 22 Feb 2021 06:01:18 -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 S232115AbhBVOAP (ORCPT + 99 others); Mon, 22 Feb 2021 09:00:15 -0500 Received: from szxga04-in.huawei.com ([45.249.212.190]:12636 "EHLO szxga04-in.huawei.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231811AbhBVMyq (ORCPT ); Mon, 22 Feb 2021 07:54:46 -0500 Received: from DGGEMS405-HUB.china.huawei.com (unknown [172.30.72.59]) by szxga04-in.huawei.com (SkyGuard) with ESMTP id 4Dkhsn199xz16BC4; Mon, 22 Feb 2021 20:52:29 +0800 (CST) Received: from use12-sp2.huawei.com (10.67.189.174) by DGGEMS405-HUB.china.huawei.com (10.3.19.205) with Microsoft SMTP Server id 14.3.498.0; Mon, 22 Feb 2021 20:53:57 +0800 From: Xiaoming Ni To: , , , , , CC: , , Subject: [PATCH] futex: fix dead code in attach_to_pi_owner() Date: Mon, 22 Feb 2021 20:53:52 +0800 Message-ID: <20210222125352.110124-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 From: Thomas Gleixner The handle_exit_race() function is defined in commit c158b461306df82 ("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: c158b461306df82 ("futex: Cure exit race") Cc: stable@vger.kernel.org # 4.9.258-rc1 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