From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f47.google.com (mail-pj1-f47.google.com [209.85.216.47]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 154AF3D9DC0 for ; Thu, 2 Apr 2026 13:08:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.47 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775135285; cv=none; b=AXeTFn5Xz+SeM2QW9etFUUs7v98mjgdIECfoVrbOBQMR6YHzIGm2XrXVyHYZ8IqLw6HSsF7FZV06FFMLE23SPbmbfuItcaiocquOede5wWOQTADDOpi63fMN27CW2alE+P5u6a+KMCe7cAxdp8ryD/ICxRqUzBN66ErzXI11O/Q= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1775135285; c=relaxed/simple; bh=J6KuSzBKCDeaYiVgmtuuUSqnvej1+MF06b183JPn5yo=; h=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version: Content-Type:Content-Disposition:In-Reply-To; b=DGz+ItcM+nesUEVqasRk71TySX+oA2OCVSsgjS0OIhxpMQoq+kI516dpn6O83hC8o1qIxWgAI91BZJe/KSH3V8piNHsEHZsY/QXRd65/t0WkrLtgnzI5nA5NPdZP7mq57sk72MvyIj0Ikz1t6j+kCg//TX9gNoIo0lkH5I5iX/Y= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=PJY3Xeej; arc=none smtp.client-ip=209.85.216.47 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="PJY3Xeej" Received: by mail-pj1-f47.google.com with SMTP id 98e67ed59e1d1-35d94f4ee36so497397a91.3 for ; Thu, 02 Apr 2026 06:08:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775135281; x=1775740081; darn=vger.kernel.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=PJY3XeejgWRIMXpyhMO+u6jxmLwxcfufASnNiIpFCkeNcvwAsithilHAfhY5wy/vng 3OIgjRGhBHlDo5N7PhFCoMz9TVsP5yETjR5N7Rh3OlGy17wuPY0IkACiql1W0ukMTSqo 4KvtkNtw4f3WQUJyfGvDBYgAX7NkxzjN7CDvbMU/GWg+T8UtV8yaT2+0UTb5iIAZrys9 clV/yGPMxreSzrM50jf83Q0/nyNXCMX0BSbHk8PawyfpLZbdrSkfZyovK97mRRnBNt3W pKYWlCXTMLNkGPJ/Sf4MSUpboNvn+sfYQcnjUa1aeRK6+dLoCAcQehPMWL8oFNC3pin4 1z7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775135281; x=1775740081; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=Vnlk4bccjheWHzHoUWCpi4SSnQsX6PJolrHJzu6aZPPCG0nATOoMTmhVGSd0YmRK0w 8cVywGZEXlajjEe2xOJN2Y8qDPPd8/vhc+J7bw2PAvgO+kgdNTvpfTry72Wh39xRdGt1 BLh0WjjYvVyvuS0hUxV28l4yciYqvuakLpZyVw14oUiWXyyhoR6M6oW/nDwv+RJHgqOu smU4Nl2qtRwns+MsoBcYJGXESxgLtIVEjqDdQDk+WuHn6X5EwWcpqme2uC5dln8cHe94 deUF3tBCB1J66Ap6yxc21ExBivRDJMq4vikzKtnBo1EKspkIcKc1Ud+eTv53vl7l9mCV PATA== X-Forwarded-Encrypted: i=1; AJvYcCXBFVQBtg7bptX8ss21HpqZl6lJXQt436Uangatv7XmhnUeqd4sG1Kx0DQu0/8gzFUWvkCnycTPxXsigA==@vger.kernel.org X-Gm-Message-State: AOJu0YxYciQehtYCxa0MLy51wO2+DRXPd8i7+WcGQ0ZaO5pYL6umL/Xy GBRcCc2rI2WnnGMJZ8VwYKWKlNNWOV9/dMKjB/S6R/jSEfc3xS4jKl88 X-Gm-Gg: AeBDieu4ij39tH7T0XWnfv8V8TTyeQqZBFtyjVzIN4gokbbCSv7qytB0VuNPf7BBb/Z kAAEay23z9XgjkhqQ6krh/UeZu/IUCr286kw4pcNMS1F6qBMlsBopoOVnXBay0rgXDNuQ/JGLDX 8eHL3TN6nz7ZS7WlrYoOn4s0ct+Fh+xxLDXWjnf9pzTIZksV56V86WZUASzZtV9Ig7fQhrggPWj FevUlODf9dnbLlGnW/pVGYDOG5GpsJT5sNub8ICCnEjg/BBN9s+1J6tBA2yK83ehkdyx56iNy73 amQRAM9n87QiROOxyMDO2zc0lxu52b9RzwE5HRPx47j3FjnwrHAY/LskyBePPfL936BCZtJKTio iwpuglNG4ZJ5bwaiLhtIeyy7OCAgqpJe7lVWfwhIMc72CryZhRPEZkltRQKaaAErWMo3QxptzZp mC2pGqs+NCxu+ak1O0A84gw1XHA7M= X-Received: by 2002:a17:90b:4d81:b0:35d:a412:3c79 with SMTP id 98e67ed59e1d1-35dc7079cb6mr6805318a91.30.1775135280985; Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Received: from fedora ([209.132.188.88]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35dbe41b11fsm7822915a91.0.2026.04.02.06.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Date: Thu, 2 Apr 2026 13:07:45 +0000 From: Hangbin Liu To: David Laight Cc: Richard Henderson , Matt Turner , Magnus Lindholm , Vineet Gupta , Brian Cain , "James E.J. Bottomley" , Helge Deller , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Andreas Larsson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Chris Zankel , Max Filippov , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, Jakub Kicinski Subject: Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg() Message-ID: References: <20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com> <20260402095747.6efbd456@pumpkin> Precedence: bulk X-Mailing-List: linux-alpha@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <20260402095747.6efbd456@pumpkin> On Thu, Apr 02, 2026 at 09:57:47AM +0100, David Laight wrote: > > diff --git a/arch/alpha/include/asm/cmpxchg.h b/arch/alpha/include/asm/cmpxchg.h > > index ae1b96479d0c..b4b8dac759c4 100644 > > --- a/arch/alpha/include/asm/cmpxchg.h > > +++ b/arch/alpha/include/asm/cmpxchg.h > > @@ -234,7 +234,7 @@ ____cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, > > > > #define arch_cmpxchg_local(ptr, o, n) \ > > ({ \ > > - __typeof__(*(ptr)) _o_ = (o); \ > > + __typeof__(*(ptr)) _o_ = (__typeof__(*(ptr)))(o); \ > > __typeof__(*(ptr)) _n_ = (n); \ > > (__typeof__(*(ptr))) ____cmpxchg((ptr), (unsigned long)_o_, \ > > (unsigned long)_n_, \ > > That looks like it loses the check that 'o' has the same type as '*ptr'. > Maybe this works? > auto _o_ = 1 ? (o) : *(ptr); > Oh, I didn't notice this. Thanks for the comment! Best Regards Hangbin 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6698AD3941D for ; Thu, 2 Apr 2026 13:08:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=HufiQe2AWs94/fePWiDhmBMDJ7Ry2Hb1BWJmmChH2sM=; b=DpdkU8vmFcb1ab BuSgItSIYkBGHyBRUsFMEnr4fVJSFSkKA5t6nynPhtqMoggBkXZp6pC36SUqEcrdYTsm5BH0cPDG+ jr50wJmJFWbaJPdSPJdFIgo1i0Aa4ZoDmTyb7nNWy/24WWqHbrMQy7Eg/OsLnV/4aaRYa5zfb5J7P 5O4DuppATrzeBg/10rKTPYqheZUpuFYUncrx/YwWqCD1jVd6R20LMJ4B4KrpuXTRTPmPU3kQ1nJ80 QssghHXwB3f1yM48wy0rYQ+UHldIS1hfsTnvdR+9PVq/HGj6fFGvO1/ag5vk5GfSUakRgF7fqTn7z tRi2Y8hrHMCSE/eRoLQQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8HmK-000000008oW-0doj; Thu, 02 Apr 2026 13:08:08 +0000 Received: from desiato.infradead.org ([2001:8b0:10b:1:d65d:64ff:fe57:4e05]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8HmI-000000008o2-1aTC for linux-riscv@bombadil.infradead.org; Thu, 02 Apr 2026 13:08:06 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version: References:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=CDwX3BtvLfxDq550vF7PnQT12C 8h642zMmL+uqq4RaqFmnlYW9qZrNtVphWkD948VJSmV5LwVni9tgaFnwA1UTzlgSYqCmWY7WOH7nb HBWC39WipUQAm7WZ06Eg0reLpXlxPgM+mnca7uP/h/wYG2QxJkQ5IujS5asojkz8cYJrfhRMcVp3O kkl6A5uHm1Cv3jypQDoeQdKjgYtIAFxofWLCrw1ywSvf7vtlqpATJJZA+SJTO6Ta0yOuNq1ufVcVO W7+H8/NqUwzepa3qo4nA2mqS6dOD+m2N2p+sJwn3htOkD8H+SUFuIZBYNgfbwgVdamCE4oKJUg0+y mOyEpchQ==; Received: from mail-pj1-x102f.google.com ([2607:f8b0:4864:20::102f]) by desiato.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8HmF-00000002V8G-2z4o for linux-riscv@lists.infradead.org; Thu, 02 Apr 2026 13:08:05 +0000 Received: by mail-pj1-x102f.google.com with SMTP id 98e67ed59e1d1-35d9f68d011so535038a91.2 for ; Thu, 02 Apr 2026 06:08:02 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775135281; x=1775740081; darn=lists.infradead.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=KdCQxl3xZcTvwf/ge78doEjn+mHpzSrYGXSwfJo3ORUsvwJjXTg7UF94Jq1ZycwQnl tbCQFYLs0jjul5E35FODm8eIe4FQwXW/cHtDp7r1agwWcpRu/SPQXfpXcr4BaUUt4y80 MrJo3kLtGHMobWTQiBA9z5n6gyhpMmGbWypdtyMhKxeX+XCK9oFG9wOFqyDCZiIl66b3 ate5kJOfg21qhWLWENosvZK2Wh0NzXBeeNHLQQvJjZdqZfgA8HRjqjg7bVKd6st5XUEd HDKPa5+6VWJ965400bzTL4YaYGL52VMA0ss139/EUKryGu9pKB8gWK7xanP/fiJPYWaG SK+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775135281; x=1775740081; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=q+fFFsx2vaKul7INuCNZqKZ6nuuWfCTcIuV/1Tn1e4JVZoAOrlyRLfYlBO3GrSWcOc Iq6rXFkZa/YklE2p2s0f7XH8JLxqH5w1JyEgfdKQi/+rvM08ZCZjAvvTSZ87Cv3DFaij Mg7Phkw8fwuJqlpKjOjaPVS2LtJZAwvccudjFg6N3BwLVdtVgGx3nvr7XOgiPwUEh1PT TUmzKakFCm9SQNNBxUwZvJrdH9aciBmw+LO6SudxSGlZfuMFP+PnKabATLjSVlFndH+1 g4tYWlWXRZmBuV2lDgHGJfJKHdF+1HI4wQkJnzJ9zr8Ym3Mjtrmus2xvTl0A4DXODkV8 EtZA== X-Forwarded-Encrypted: i=1; AJvYcCWuCOUIBNkhjFdZsYiiPTKbAOiI1ECt3NpPzhOl8CKxBXbMbIh8ft0HwlLVlgvVS1+j9lGSzO1G0djDIg==@lists.infradead.org X-Gm-Message-State: AOJu0YxhawFz6UETVxRV4Fh9KRM0kO0ueQksaEXH5kyRgd8ADL3uDc2w PNzUbAZcYl/gYS5hd8KcYw1MTIBbeXWQ8FCJGJNICnBL+bnBN3YhnVs5 X-Gm-Gg: AeBDiesMjqNSb7mVFz3GWLmtc2TYe87BRVp60Xm73+F+6vfeMvlVncoxVRg+SyYarFd cEzH70AkyghQKnILFV7DWtLTabGdIhO3xuuHF6Zuh+PeXLuC6PaZBTtLb29ZSluSbxpvOauXBqO 7XM5KvihE7QM2mxh/2jcWEm/6Rc1h/DyqiceMrB1gi4Fsn4VyqWwPpnizQ4c19TznU8b6/Szvoe gCk98E74HpW/Mib24zUaFbMZr5I6w5sF+uQ+ap1bY6h8hVrwLVYyml4ANYe3cnVsxen9b2xr0OP sg95q5ppftQy9PfXv04j1xozkvvsPGzX+s1sUaJTj2yCM4j+z37Eexhiw+Tl/kqdcQtOzlu2aIr QqgbL6qC+foSwpfyEAr/usODYQ0jtqm3fq+BRkHv2UL4DjZKN44onchLEon4OofMQkTJcdzBLdK CKs7YyeYEKkBaGOZ64WFW7DNqrK2U= X-Received: by 2002:a17:90b:4d81:b0:35d:a412:3c79 with SMTP id 98e67ed59e1d1-35dc7079cb6mr6805318a91.30.1775135280985; Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Received: from fedora ([209.132.188.88]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35dbe41b11fsm7822915a91.0.2026.04.02.06.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Date: Thu, 2 Apr 2026 13:07:45 +0000 From: Hangbin Liu To: David Laight Cc: Richard Henderson , Matt Turner , Magnus Lindholm , Vineet Gupta , Brian Cain , "James E.J. Bottomley" , Helge Deller , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Andreas Larsson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Chris Zankel , Max Filippov , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, Jakub Kicinski Subject: Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg() Message-ID: References: <20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com> <20260402095747.6efbd456@pumpkin> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20260402095747.6efbd456@pumpkin> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260402_140803_794889_736127FF X-CRM114-Status: GOOD ( 13.83 ) X-BeenThere: linux-riscv@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-riscv" Errors-To: linux-riscv-bounces+linux-riscv=archiver.kernel.org@lists.infradead.org On Thu, Apr 02, 2026 at 09:57:47AM +0100, David Laight wrote: > > diff --git a/arch/alpha/include/asm/cmpxchg.h b/arch/alpha/include/asm/cmpxchg.h > > index ae1b96479d0c..b4b8dac759c4 100644 > > --- a/arch/alpha/include/asm/cmpxchg.h > > +++ b/arch/alpha/include/asm/cmpxchg.h > > @@ -234,7 +234,7 @@ ____cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, > > > > #define arch_cmpxchg_local(ptr, o, n) \ > > ({ \ > > - __typeof__(*(ptr)) _o_ = (o); \ > > + __typeof__(*(ptr)) _o_ = (__typeof__(*(ptr)))(o); \ > > __typeof__(*(ptr)) _n_ = (n); \ > > (__typeof__(*(ptr))) ____cmpxchg((ptr), (unsigned long)_o_, \ > > (unsigned long)_n_, \ > > That looks like it loses the check that 'o' has the same type as '*ptr'. > Maybe this works? > auto _o_ = 1 ? (o) : *(ptr); > Oh, I didn't notice this. Thanks for the comment! Best Regards Hangbin _______________________________________________ linux-riscv mailing list linux-riscv@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-riscv 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4A2E8D3941D for ; Thu, 2 Apr 2026 13:08:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=8eKoUnM1fsPnicTN/5xyKPEfojQCS8dQ+C+6qfxJceo=; b=KnkVas9KG40Fb8 2bF0Va4TVzt1tqLkVVrSAdaHlXzi1bfynZxSmJmY5ocFTeoHzFzWdfJyrnEqSss+B1LrA2enVdAJn 4sN9WQWP6zOkGwyWU6pxPFSuheqNQqBCIdnQfSoxYwtnmUpKb6g7qsZkgZIXon2OItg7X4FnlTdU9 GhN2ndSVUl2iwXOxMlLSl/OJ3APmxMke4/H6i2iGdAXm2UKVNTzhMnYut8OeQnNztf2l1qSQUU3nj DX3pe8HE/CyjRBpMQIrEpTkdGvLDnXAGwUADmU76cqakhESw0Dn0jTV0FM7EN54M8405s8Jni4Cv7 s+rNI2CjmZFwcJF6ki/w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8HmF-000000008nK-3mZP; Thu, 02 Apr 2026 13:08:03 +0000 Received: from mail-pj1-x1033.google.com ([2607:f8b0:4864:20::1033]) by bombadil.infradead.org with esmtps (Exim 4.98.2 #2 (Red Hat Linux)) id 1w8HmE-000000008mu-1FsQ for linux-snps-arc@lists.infradead.org; Thu, 02 Apr 2026 13:08:03 +0000 Received: by mail-pj1-x1033.google.com with SMTP id 98e67ed59e1d1-35d99031e4eso483978a91.1 for ; Thu, 02 Apr 2026 06:08:01 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1775135281; x=1775740081; darn=lists.infradead.org; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=KdCQxl3xZcTvwf/ge78doEjn+mHpzSrYGXSwfJo3ORUsvwJjXTg7UF94Jq1ZycwQnl tbCQFYLs0jjul5E35FODm8eIe4FQwXW/cHtDp7r1agwWcpRu/SPQXfpXcr4BaUUt4y80 MrJo3kLtGHMobWTQiBA9z5n6gyhpMmGbWypdtyMhKxeX+XCK9oFG9wOFqyDCZiIl66b3 ate5kJOfg21qhWLWENosvZK2Wh0NzXBeeNHLQQvJjZdqZfgA8HRjqjg7bVKd6st5XUEd HDKPa5+6VWJ965400bzTL4YaYGL52VMA0ss139/EUKryGu9pKB8gWK7xanP/fiJPYWaG SK+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1775135281; x=1775740081; h=in-reply-to:content-disposition:mime-version:references:message-id :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=; b=BsU1Rd/iHiYo0y48auR5jhnKR2HfND9Eag9P3wPz8ejet5b0PJhARTYpJK/PnO1jLn oETAVmsrcsKJ1hM9pm771AdB7nCfpVvgSE14Xcv9406wJNW79xFUzTi4TUP0BhetFT0b Z83UJuyLJYMSAv1DpVSA2GW74L9GWNkA844rZH4uZrRjV2sAoujF7K2ignlyK0bPLYwa mEdT5FMPPoFOw6IlG5NZiR3ODIHz9CG251+9dhcCns9oUFFI0ILWN0KdtL3P4/rHq65U OrdAKcXHufJ7crsgJXtkSG0VoHWmWHc2FwmNgjrWmnoAXvYMlZZH++1pFcnruykteUbe ZUaA== X-Forwarded-Encrypted: i=1; AJvYcCXV4E5p+65U12+QLV/EaxUksnjfUq6UAO33Yq0B26GB/g7K+dzupVCpHvCBbS3nhzFrZ9nHZIG1dODuhozS9A==@lists.infradead.org X-Gm-Message-State: AOJu0YwSppxYqh2zgTFtT5GlC5ek28kTw1pmevCtrWE0WSe0fj1tsODU UHQXcvXE5dejfQRDYBJpiLlKAdjc/uiYtcyfwz0MAkLDxBriWw0zD3Bp X-Gm-Gg: AeBDieublxhie25Lhb1v09F0Z6Mn5c3jYnhU5UWhqhQl0g+FEmK/+9rJycbnSe0W9GA kTZV5MOFpJqeKOAYJrSdWZaVIlTcyz52l4cr43NIA0GdvEt7AFa84uvFYNZqGX1x3ENOD+7GD1k pVWYg1df0n4RcEXXUTv+2soAxJ2vAVdgoasQ7a6glQ9E+v0eEvUlhFnah27t/4UDzjUNUYT2orf QZFKN+bKKFytiAhf8JATWkgWtwO2yKaK4ky9Y73kIAz7JVh9LLwjQoD2bznjKNPxwwNxBEBZRYV B8WHavdiPtdb7yby6yoyuGdMFLygkebjS92f2+VRUPBuAq1pMAtiRO3Hjz2ae2mx/u3GaN35Ykc SBgdAyBn1ANbz6m0kQlzLulNL86XWCHz3A3mP/rWWHBdtskGnCqflgoHQk86jFbquTGCY3wbbim N0sialYxsJE3qpI2GDsqt+Y8iHOkk= X-Received: by 2002:a17:90b:4d81:b0:35d:a412:3c79 with SMTP id 98e67ed59e1d1-35dc7079cb6mr6805318a91.30.1775135280985; Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Received: from fedora ([209.132.188.88]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-35dbe41b11fsm7822915a91.0.2026.04.02.06.07.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 02 Apr 2026 06:08:00 -0700 (PDT) Date: Thu, 2 Apr 2026 13:07:45 +0000 From: Hangbin Liu To: David Laight Cc: Richard Henderson , Matt Turner , Magnus Lindholm , Vineet Gupta , Brian Cain , "James E.J. Bottomley" , Helge Deller , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Paul Walmsley , Palmer Dabbelt , Albert Ou , Alexandre Ghiti , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , "David S. Miller" , Andreas Larsson , Thomas Gleixner , Ingo Molnar , Borislav Petkov , Dave Hansen , x86@kernel.org, "H. Peter Anvin" , Chris Zankel , Max Filippov , linux-alpha@vger.kernel.org, linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org, linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org, linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, Jakub Kicinski Subject: Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg() Message-ID: References: <20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com> <20260402095747.6efbd456@pumpkin> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20260402095747.6efbd456@pumpkin> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20260402_060802_369543_D9F7F78D X-CRM114-Status: GOOD ( 13.97 ) X-BeenThere: linux-snps-arc@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Linux on Synopsys ARC Processors List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Sender: "linux-snps-arc" Errors-To: linux-snps-arc-bounces+linux-snps-arc=archiver.kernel.org@lists.infradead.org On Thu, Apr 02, 2026 at 09:57:47AM +0100, David Laight wrote: > > diff --git a/arch/alpha/include/asm/cmpxchg.h b/arch/alpha/include/asm/cmpxchg.h > > index ae1b96479d0c..b4b8dac759c4 100644 > > --- a/arch/alpha/include/asm/cmpxchg.h > > +++ b/arch/alpha/include/asm/cmpxchg.h > > @@ -234,7 +234,7 @@ ____cmpxchg(volatile void *ptr, unsigned long old, unsigned long new, > > > > #define arch_cmpxchg_local(ptr, o, n) \ > > ({ \ > > - __typeof__(*(ptr)) _o_ = (o); \ > > + __typeof__(*(ptr)) _o_ = (__typeof__(*(ptr)))(o); \ > > __typeof__(*(ptr)) _n_ = (n); \ > > (__typeof__(*(ptr))) ____cmpxchg((ptr), (unsigned long)_o_, \ > > (unsigned long)_n_, \ > > That looks like it loses the check that 'o' has the same type as '*ptr'. > Maybe this works? > auto _o_ = 1 ? (o) : *(ptr); > Oh, I didn't notice this. Thanks for the comment! Best Regards Hangbin _______________________________________________ linux-snps-arc mailing list linux-snps-arc@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-snps-arc