From patchwork Fri Mar 5 12:22:23 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: 393513 Delivered-To: patch@linaro.org Received: by 2002:a02:8562:0:0:0:0:0 with SMTP id g89csp392985jai; Fri, 5 Mar 2021 04:43:30 -0800 (PST) X-Google-Smtp-Source: ABdhPJx6jcA7MbvhLDyyA3GHHe7ZKtCEI/4CEgvQHy9OngZHErypHcp5Yx5x35mRGfIbC76twISD X-Received: by 2002:a17:906:4349:: with SMTP id z9mr2050048ejm.471.1614948210208; Fri, 05 Mar 2021 04:43:30 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1614948210; cv=none; d=google.com; s=arc-20160816; b=K605eZoiqBTuBHvRKU8ptK2Q5efHFW9FApwFi0PrzmccXiUd29cIOY80Nvf4hCPh5R 1GK4Mn4FOMEPDxr504TAIZnbgRDTS1uIX/gF5wZ1LZRLvEGgARNtuVNg27tLcux5xlc5 Eqa+oQe+bDC/6meDVfpIbyy5EonWO90oD74C2PCgS24dMgxpnrbEffYJ4KYSLs0k4GIA xG/M9zTehADM9htJgIY9Cx3T0dcaLR7q64e+K7q9hgT3y8oB5mDSuVWs0c9rrhjNsa5e Vv5EfN6QEkL6h4ohvJor2tPNjJbwTAkFHwtXmFz6TA4T4GIz853fyXPgJ6yMLSUPM6OV 1XBA== 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=T9sAufz164OFmLaUCzFzCvC9XeZPFpBx7a/rqGOj8mLp4DlQG5YJY//7Gswbnd74Nn D1XfCq/WZN5sQeSPw8pOG9OZKKxGzJxc7CFlTU792O+20LRdrAtBZbtboQMXXi0Ce32w OOLekFEVnmcNkqWgrYCK6JP+BblSZQc0n6JAi0RK0rbh5E2FWFMmhdah16+dPwI5Z/dp gNOFcDyKSoY32I7hTsMz/lSY0C/caxo9V/NXnXG2dFj4kQenP2XPa5ZQyvhx+xXeJWMN dHSVp02PQJQZWgQaDwSk2MZpiZ4becJ5CarrEakizviN0m/rVVZN4JA82DYo4DK9XYyB Wirg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=UUNnKkNu; 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 k2si1236848ejv.112.2021.03.05.04.43.30; Fri, 05 Mar 2021 04:43:30 -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=UUNnKkNu; 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 S232788AbhCEMmw (ORCPT + 13 others); Fri, 5 Mar 2021 07:42:52 -0500 Received: from mail.kernel.org ([198.145.29.99]:58984 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233749AbhCEMmW (ORCPT ); Fri, 5 Mar 2021 07:42:22 -0500 Received: by mail.kernel.org (Postfix) with ESMTPSA id 63C2765027; Fri, 5 Mar 2021 12:42:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1614948142; bh=tmbZ0ujeLAKfplvADqenZ3g25Ac5KzfRJiS9W3Sutrs=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=UUNnKkNuZtGTQOlePmjVNDD6sxY49z6ROgaO0hJzJTJzwg4SQYPt7p7a77Q7JNpLQ nTYr/AlFHsRUlLVfJKEnBOXvRu51fg2hc5cqt/pIoWAdSaCYJpqpr1A1w2dPsOAfgl 8Rspr7FGlgg8lWScCkKTMp1qPvsJ1ok9kmimeKNY= 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.9 16/41] arm64: cmpxchg: Use "K" instead of "L" for ll/sc immediate constraint Date: Fri, 5 Mar 2021 13:22:23 +0100 Message-Id: <20210305120852.094424092@linuxfoundation.org> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210305120851.255002428@linuxfoundation.org> References: <20210305120851.255002428@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; \