From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A90A4C61DA4 for ; Fri, 3 Feb 2023 14:33:05 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233833AbjBCOdE (ORCPT ); Fri, 3 Feb 2023 09:33:04 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49142 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233573AbjBCOcx (ORCPT ); Fri, 3 Feb 2023 09:32:53 -0500 Received: from out1-smtp.messagingengine.com (out1-smtp.messagingengine.com [66.111.4.25]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C71849A81D; Fri, 3 Feb 2023 06:32:50 -0800 (PST) Received: from compute6.internal (compute6.nyi.internal [10.202.2.47]) by mailout.nyi.internal (Postfix) with ESMTP id 1A4A85C012D; Fri, 3 Feb 2023 09:32:48 -0500 (EST) Received: from imap51 ([10.202.2.101]) by compute6.internal (MEProxy); Fri, 03 Feb 2023 09:32:48 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=arndb.de; h=cc :cc:content-type:date:date:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:sender:subject :subject:to:to; s=fm3; t=1675434768; x=1675521168; bh=FALddAaYGF gcZ9rzGoq/Hl0U4sB28CXCpLkKlDzWrcc=; b=ImCPonV//aJmPtqPlGZhwlANPu 91sIQWxvF5XKSi+wUqebKPHfTdT+6YwMbkPMNc8yiTUpX6flki7+ET8CC4fJx21+ 64oNWJmZRnfhOKIt1ilrrWnoHfH3nR1dYD3NpmZgjauUIT/RqUX/btwVEn1pcrLL o5s/SQ8t34eXcsieq5fhynfd3gsrEXekQ+UCJLdtIBMCzT6sDiPhtP5kBs5+VtjZ W1sqqJXbfYbnc8VASUlfz2VZEL+Bl5F5h/5XDqWZCPRbRVyykOUEplvVVLo+HjZK +A5VUCNxTNyZZRINTAnSbP0XS8zzRAnEc3KmwwLYXalQxwzPCMPVMefcaQ2Q== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1675434768; x=1675521168; bh=FALddAaYGFgcZ9rzGoq/Hl0U4sB2 8CXCpLkKlDzWrcc=; b=PirNOKqmbyM+NttfTfonhcvv1Hxev/Xgj75l6at0P5Az C+XPWBxRtOaixIsFcL3A9ZVndSBcS4piHn7MOyuMlYNwmPewhtqryNZVtDxBrDn4 qPhvK3tf+WC2EfXoXMOIHcYcsrvLo6+sA/ODXg8ipYptBHQ9802+3cwewOYe1xAa Z/p96mcmC8obrDrBQxtClIw2RBHHjLRXXGLTEcmzUhpLfFp+iFYommwfMgUDJHyi 425rUzepDaxi/w2iS8xaiAQDjAs33prSlRttTXK0Hxa+BqzXsle6GaXE+2PqcLWc YFXhHb2T/ruaj4ASoU/+OXUO8WCLHxas1VnMSWA2jQ== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvhedrudegtddgiedvucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepofgfggfkjghffffhvfevufgtsehttdertderredtnecuhfhrohhmpedftehr nhguuceuvghrghhmrghnnhdfuceorghrnhgusegrrhhnuggsrdguvgeqnecuggftrfgrth htvghrnhepffehueegteeihfegtefhjefgtdeugfegjeelheejueethfefgeeghfektdek teffnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomheprg hrnhgusegrrhhnuggsrdguvg X-ME-Proxy: Feedback-ID: i56a14606:Fastmail Received: by mailuser.nyi.internal (Postfix, from userid 501) id A5F98B6044F; Fri, 3 Feb 2023 09:32:47 -0500 (EST) X-Mailer: MessagingEngine.com Webmail Interface User-Agent: Cyrus-JMAP/3.9.0-alpha0-107-g82c3c54364-fm-20230131.002-g82c3c543 Mime-Version: 1.0 Message-Id: In-Reply-To: <8B94CEAB-63AD-400F-A5CD-31AC4490EF4C@rivosinc.com> References: <8B94CEAB-63AD-400F-A5CD-31AC4490EF4C@rivosinc.com> Date: Fri, 03 Feb 2023 15:32:28 +0100 From: "Arnd Bergmann" To: "Matt Evans" , linux-kernel@vger.kernel.org, Linux-Arch Cc: "Palmer Dabbelt" Subject: Re: [PATCH] locking/atomic: cmpxchg: Make __generic_cmpxchg_local compare against zero-extended 'old' value Content-Type: text/plain Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Wed, Feb 1, 2023, at 19:39, Matt Evans wrote: > __generic_cmpxchg_local takes unsigned long old/new arguments which > might end up being up-cast from smaller signed types (which will > sign-extend). The loaded compare value must be compared against a > truncated smaller type, so down-cast appropriately for each size. > > The issue is apparent on 64-bit machines with code, such as > atomic_dec_unless_positive(), that sign-extends from int. > > 64-bit machines generally don't use the generic cmpxchg but > development/early ports might make use of it, so make it correct. > > Signed-off-by: Matt Evans > --- Applied to the asm-generic tree for 6.3, thanks Arnd