From patchwork Fri Mar 5 12:22:08 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Greg Kroah-Hartman X-Patchwork-Id: 393510 Delivered-To: patch@linaro.org Received: by 2002:a02:8562:0:0:0:0:0 with SMTP id g89csp391036jai; Fri, 5 Mar 2021 04:40:50 -0800 (PST) X-Google-Smtp-Source: ABdhPJxT9l4VsEWoVIv6SWZEBv8kBC1jDmh358KlcpxNXEzgDmFIzc0Ir2RAasOQCEB2/rECX9F3 X-Received: by 2002:aa7:d316:: with SMTP id p22mr8517374edq.107.1614948050436; Fri, 05 Mar 2021 04:40:50 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614948050; cv=none; d=google.com; s=arc-20160816; b=0o+10oVhuFD6AY15kBXvB/z5F6i4dSDu2PDJr3BEKH5tLxzx6Zs+gZ66ofArOAa6Dq I3tw2ox7XGxJCnoDQu9P+57jHcrKjCWTczI+9Fzbp3YHoscCHG4PswuFEiFMBCu2MD7t 25DfYJeCjcCqIxJ2A2fy37FOsDd7YICUSfozDd6n3wRG95ZGJlGPMN4K5B5THJYRbGDI bXdBiM4pBsi6CH8hq+aSamXFqEUuhqLdTHIF+ZZQvqPDwpHjO0W1JmTphqz1g6hx8LCA pZ8ArJOkypc5YkyhvFCYs1S1//QuvRJZFsKObzfSz8iHeZ4ybhiZbPflKIe53LrKR1Wy ylxQ== 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 :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=06bgHh7QfsxTVuMtyavHeG+yV3cwH7BPjTY1G0eRD4M=; b=Ft+3koajXBp83XBGa1svV3N8CUJPB3Yy1Tm30SHKXnb/Gu5Zv1Ra2xteLa794T2KeW 1Ul5TQxUQ4WYvtAxNlqjh+kFoBmSWL1TRi3jghjah2aE1bb5EZXJ13Wp6otTxUPRA6df ezUI4wulYaSCHK9SaK2HtqcSAjakEbbOWTFjPfULnxRz+JtRiZLNVC2TjihOZoeoVAVZ ozqviluay5ZV0SOHHZqx8XCMshFbNdzWiyU01cB20sblGxDcr3h4diHkuARZA2kB+Ig6 uPropCPtiBr0UCe3gryXXelxRLY7CzJ2sDVX7VknLOick/cmmZ2o302zn6/Thjh3wfym cvAg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=NC50c2ua; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c8si1080821edj.174.2021.03.05.04.40.50; Fri, 05 Mar 2021 04:40:50 -0800 (PST) Received-SPF: pass (google.com: domain of stable-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=@linuxfoundation.org header.s=korg header.b=NC50c2ua; spf=pass (google.com: domain of stable-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=stable-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S232184AbhCEMkT (ORCPT + 13 others); Fri, 5 Mar 2021 07:40:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:54298 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232203AbhCEMjs (ORCPT ); Fri, 5 Mar 2021 07:39:48 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 5C8A76501D; Fri, 5 Mar 2021 12:39:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614947986; bh=tmbZ0ujeLAKfplvADqenZ3g25Ac5KzfRJiS9W3Sutrs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=NC50c2uavEKx8I8ZcW6JyL+zAoXAT7NjrUF6BwzSqFV75OYre8xdH46Q7JHU5XnEH BvdfnFygwxvBqddDL+TVMFrUo/Jz6ofH2D0B+s3TaB83RbiGyuMe2Iii0v4tBFJbus scSY/MdiRAXG0SzvXQHxcRzsVy2I1eEemMmadF6o= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Robin Murphy , Will Deacon , Ben Hutchings Subject: [PATCH 4.14 09/39] arm64: cmpxchg: Use "K" instead of "L" for ll/sc immediate constraint Date: Fri, 5 Mar 2021 13:22:08 +0100 Message-Id: <20210305120852.226425678@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210305120851.751937389@linuxfoundation.org> References: <20210305120851.751937389@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Precedence: bulk List-ID: X-Mailing-List: stable@vger.kernel.org From: Will Deacon commit 4230509978f2921182da4e9197964dccdbe463c3 upstream. The "L" AArch64 machine constraint, which we use for the "old" value in an LL/SC cmpxchg(), generates an immediate that is suitable for a 64-bit logical instruction. However, for cmpxchg() operations on types smaller than 64 bits, this constraint can result in an invalid instruction which is correctly rejected by GAS, such as EOR W1, W1, #0xffffffff. Whilst we could special-case the constraint based on the cmpxchg size, it's far easier to change the constraint to "K" and put up with using a register for large 64-bit immediates. For out-of-line LL/SC atomics, this is all moot anyway. Reported-by: Robin Murphy Signed-off-by: Will Deacon Signed-off-by: Ben Hutchings Signed-off-by: Greg Kroah-Hartman --- arch/arm64/include/asm/atomic_ll_sc.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) --- a/arch/arm64/include/asm/atomic_ll_sc.h +++ b/arch/arm64/include/asm/atomic_ll_sc.h @@ -268,7 +268,7 @@ __LL_SC_PREFIX(__cmpxchg_case_##name##sz "2:" \ : [tmp] "=&r" (tmp), [oldval] "=&r" (oldval), \ [v] "+Q" (*(u##sz *)ptr) \ - : [old] "Lr" (old), [new] "r" (new) \ + : [old] "Kr" (old), [new] "r" (new) \ : cl); \ \ return oldval; \