[{"id":3672621,"web_url":"http://patchwork.ozlabs.org/comment/3672621/","msgid":"<20260402095747.6efbd456@pumpkin>","date":"2026-04-02T08:57:47","subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","submitter":{"id":89989,"url":"http://patchwork.ozlabs.org/api/people/89989/","name":"David Laight","email":"david.laight.linux@gmail.com"},"content":"On Thu, 02 Apr 2026 14:56:01 +0800\nHangbin Liu <liuhangbin@gmail.com> wrote:\n\n> The old value passed to cmpxchg() is semantically read-only: it is\n> only loaded into a register as a comparand and is never written back.\n> However, the macro currently assigns it implicitly to a local variable\n> of type __typeof__(*(ptr)), which triggers -Werror=discarded-qualifiers\n> when old is a const-qualified pointer and ptr points to a non-const type.\n> \n> To avoid this, let's add an explicit cast to __typeof__(*(ptr)) for the\n> old local variable in the cmpxchg macros. This explicit cast suppresses\n> the -Wdiscarded-qualifiers diagnostic.\n> \n> The new value is intentionally left without a cast: new will be stored\n> into *ptr, so silently accepting a const-qualified new would allow\n> callers to store a pointer-to-const into a non-const location without\n> any compiler warning.\n> \n> Suggested-by: Jakub Kicinski <kuba@kernel.org>\n> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>\n...\n> \n> diff --git a/arch/alpha/include/asm/cmpxchg.h b/arch/alpha/include/asm/cmpxchg.h\n> index ae1b96479d0c..b4b8dac759c4 100644\n> --- a/arch/alpha/include/asm/cmpxchg.h\n> +++ b/arch/alpha/include/asm/cmpxchg.h\n> @@ -234,7 +234,7 @@ ____cmpxchg(volatile void *ptr, unsigned long old, unsigned long new,\n>  \n>  #define arch_cmpxchg_local(ptr, o, n)\t\t\t\t\t\\\n>  ({\t\t\t\t\t\t\t\t\t\\\n> -\t__typeof__(*(ptr)) _o_ = (o);\t\t\t\t\t\\\n> +\t__typeof__(*(ptr)) _o_ = (__typeof__(*(ptr)))(o);\t\t\\\n>  \t__typeof__(*(ptr)) _n_ = (n);\t\t\t\t\t\\\n>  \t(__typeof__(*(ptr))) ____cmpxchg((ptr), (unsigned long)_o_,\t\\\n>  \t\t\t\t\t  (unsigned long)_n_,\t\t\\\n\nThat looks like it loses the check that 'o' has the same type as '*ptr'.\nMaybe this works?\n\tauto _o_ = 1 ? (o) : *(ptr);\n\n  David","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19209-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=s7OZk4Ay;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19209-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2a00:1450:4864:20::336\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=s7OZk4Ay;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com\n (client-ip=2a00:1450:4864:20::336; helo=mail-wm1-x336.google.com;\n envelope-from=david.laight.linux@gmail.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmbNW6nhDz1yCs\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 19:58:03 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fmbNV3VmQz2yYK;\n\tThu, 02 Apr 2026 19:58:02 +1100 (AEDT)","from mail-wm1-x336.google.com (mail-wm1-x336.google.com\n [IPv6:2a00:1450:4864:20::336])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fmbNR6rydz2xls\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 02 Apr 2026 19:57:58 +1100 (AEDT)","by mail-wm1-x336.google.com with SMTP id\n 5b1f17b1804b1-48334ee0aeaso5220115e9.1\n        for <linuxppc-dev@lists.ozlabs.org>;\n Thu, 02 Apr 2026 01:57:58 -0700 (PDT)","from pumpkin (82-69-66-36.dsl.in-addr.zen.co.uk. [82.69.66.36])\n        by smtp.gmail.com with ESMTPSA id\n 5b1f17b1804b1-4887e735532sm217845265e9.0.2026.04.02.01.57.48\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 02 Apr 2026 01:57:49 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775120282;\n\tcv=none;\n b=mCdQrc6P24yOio3O6HbCgGcdIVS821XKEoqGMREW1Zrr6xKDhyTlFwV4c2CysJOv3btcHvkyPftTqIQbth8Lx1Zkqn1kTe25hcNswFZcThjgdJ7DbsFeDadcBMdviV/Qbmhkkt7hZ0IaB5NTLDUl/rfYQZNAY6e1kTG5S2Uqtw78WAm7MbuN2xVfJEZwohioSu1liRBfEOdvKTRRcU1dWZkI3vWjCJVY7on5/36fmhRp7JCyPHe2yHIWicmXCJsBT5XENehwMp1ViZkwLkZuDyOXxYj1Q3E24PNO6zHm1kU5uSanBKZBFEVxSPwEgfJwrnqK1vmmlLntDRIwqOn3RQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775120282; c=relaxed/relaxed;\n\tbh=LnQTQFMkaspyfTBlP7NJBNzFuL146lWNPT7LvqeL2XU=;\n\th=Date:From:To:Cc:Subject:Message-ID:In-Reply-To:References:\n\t MIME-Version:Content-Type;\n b=Wnjidmomrz2HXlU1vo8pcWQmT4R0P/mk2JgFz7VtEtorLchrNDhdQigUlYizOTZSOJb30dXiLi6nthoQrkFYmrE4QRlJGlIRSb99b3YTcXSjut4U5rhDkVIFSv6ux7Xo+R4E0+FuFoxIdv3X09jRp2L7P44PdrGurE7SvP48Xgjm7vc+5RhELHB66u3Ij3FEcmYtwfTKxoYJ5aNZ/yhcTW0PsWsnkaZD+uvRxhKH0AVLPM9nXRKwKaPQJmIICrZXlVMB4NigEXGfDTYcXdAnX1oVz55fbuvigglb77s5NjQCfXqZr57m3vZeQVW3xBcsgYBFSJgjc8IsPu6iW6ZXaA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=s7OZk4Ay; dkim-atps=neutral;\n spf=pass (client-ip=2a00:1450:4864:20::336; helo=mail-wm1-x336.google.com;\n envelope-from=david.laight.linux@gmail.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775120270; x=1775725070;\n darn=lists.ozlabs.org;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:subject:cc:to:from:date:from:to:cc:subject:date\n         :message-id:reply-to;\n        bh=LnQTQFMkaspyfTBlP7NJBNzFuL146lWNPT7LvqeL2XU=;\n        b=s7OZk4AyxPNCQM8seQHu4f10QLtKc9TzQYLgDtQrvBQo9+fUpMsAY24ow0qdm/Qu/M\n         cnqXZNkrVKE2e+ZQvYNxwTUzJH2dz6EIS+E15/uDwo42ioIebTwVXhV67GOKN+2vXQI1\n         2+9RKvdBkllXUd7/PUyUYQRYlQxfC/sukAsEddohyonsgLCGodFOXYbhFMNBHmb/dUGU\n         yxT+Xqz56MSNko5kcQk1n/B6H5DLUPwi+ltYfmeluXCwZma9VAbCI6gqCLlv5prom2qT\n         1qxkPjbEAhh67NR4G3LkE7gKYTgsY/AfODLLq6qM12m7NrXOT8fxFREm/ChqLFi7FkLx\n         eKUQ==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775120270; x=1775725070;\n        h=content-transfer-encoding:mime-version:references:in-reply-to\n         :message-id:subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from\n         :to:cc:subject:date:message-id:reply-to;\n        bh=LnQTQFMkaspyfTBlP7NJBNzFuL146lWNPT7LvqeL2XU=;\n        b=IUS97Y1APIQ5vgLVVEb6kDVhauKX0yg+HrXfPh2Il5uxTYtrFnQu0cYz8RopLSqBUb\n         vcn9g1lizxw/XeoONGZ2ypTweWNHqcLzpkXrWp93L4/tTawCR0G/drWsw/9dENwozZuH\n         JAImYc30g3RMVIMxbV904wQf0PIsXz2HNZwUJ4PlwJMemPmAu1UQFXXcInCS8gRYwXHi\n         XWmBw2DwyFQ0nQTVcbd5JdWEbbwQ71W5FBxf+fyy7vR79RqiVPw/hmx8TrSp96T5UOCP\n         Wvp2UKXNlBr4z9u+uXleviWdyL9wlmQxKZ874tiaX/frn+cPIiigUpVrnLFWjckbfD6B\n         B/QQ==","X-Forwarded-Encrypted":"i=1;\n AJvYcCVqXj3FzJqsBbi9nOGcAluPbXgKMtZVV9ms7BxbY85UG50tyIbzyUkifTSr4RxR5UUo4qIepqctj1IBsHY=@lists.ozlabs.org","X-Gm-Message-State":"AOJu0YwO5t98L1qwBBpKLSDWqmYVirFW4hFPB3xLqd0Z5ghxRaq+Cod4\n\teBlGESyeg54YdxGSCzQd6hhIKgImRRtJ5xZ5SZJTfxTG1Zv8+u+Tan3y","X-Gm-Gg":"ATEYQzzU4tYHc/bXy2wgVGigSp2mIShEw7JLVNISTLO4kG6jo6oW7cd/FeKrV+ohajm\n\txsB4+6wLJyalD7UHZXkhrAgoiQnSJIW6UzS9b7xzxKqi7YCZ0sb+WDfcUdwnf1ceiVhpSnMH37G\n\tgvzhDBjS6cP0BFS5qWb/qkYqrStPKRBoKjE/bA6tCCvrJ9J/67OYszlRxNOadqiWlo9rgHMyrgW\n\t08ZTeEeEVQay1xEaC/bRKzczJxifrirLSp3R/D7AwDLGp5JKzsVluqT7lYLZ2HujHmHmyHDchLT\n\tU0RtvKFAuaEu2uSmVBhB7shsHqbYCSXlFYHYbMJ4i7XWY1LznKLOeNCCqvM3dNoes+W+XyX99bQ\n\t6fYo93+a/vwlXTJlggSPVirBmIDc1KC0BKMa+n/QCho9P0//sogxf8SbjaBVI46K896ttVgyhxk\n\tT+Ge1nPy/e6GfO7fYWy7wuSR4Z6JABdogEdfXufPfQq9KpBWY3rG8GjC9u5iCR","X-Received":"by 2002:a05:600c:630f:b0:487:288:1198 with SMTP id\n 5b1f17b1804b1-4888359da58mr102555095e9.22.1775120270131;\n        Thu, 02 Apr 2026 01:57:50 -0700 (PDT)","Date":"Thu, 2 Apr 2026 09:57:47 +0100","From":"David Laight <david.laight.linux@gmail.com>","To":"Hangbin Liu <liuhangbin@gmail.com>","Cc":"Richard Henderson <richard.henderson@linaro.org>, Matt Turner\n <mattst88@gmail.com>, Magnus Lindholm <linmag7@gmail.com>, Vineet Gupta\n <vgupta@kernel.org>, Brian Cain <bcain@kernel.org>, \"James E.J. Bottomley\"\n <James.Bottomley@HansenPartnership.com>, Helge Deller <deller@gmx.de>,\n Madhavan Srinivasan <maddy@linux.ibm.com>, Michael Ellerman\n <mpe@ellerman.id.au>, Nicholas Piggin <npiggin@gmail.com>, \"Christophe\n Leroy (CS GROUP)\" <chleroy@kernel.org>, Paul Walmsley <pjw@kernel.org>,\n Palmer Dabbelt <palmer@dabbelt.com>, Albert Ou <aou@eecs.berkeley.edu>,\n Alexandre Ghiti <alex@ghiti.fr>, Yoshinori Sato\n <ysato@users.sourceforge.jp>, Rich Felker <dalias@libc.org>, John Paul\n Adrian Glaubitz <glaubitz@physik.fu-berlin.de>, \"David S. Miller\"\n <davem@davemloft.net>, Andreas Larsson <andreas@gaisler.com>, Thomas\n Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>, Borislav Petkov\n <bp@alien8.de>, Dave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,\n \"H. Peter Anvin\" <hpa@zytor.com>, Chris Zankel <chris@zankel.net>, Max\n Filippov <jcmvbkbc@gmail.com>, linux-alpha@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n linux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,\n linuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,\n linux-sh@vger.kernel.org, sparclinux@vger.kernel.org, Jakub Kicinski\n <kuba@kernel.org>","Subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","Message-ID":"<20260402095747.6efbd456@pumpkin>","In-Reply-To":"<20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com>","References":"<20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com>","X-Mailer":"Claws Mail 4.1.1 (GTK 3.24.38; arm-unknown-linux-gnueabihf)","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=US-ASCII","Content-Transfer-Encoding":"7bit","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3672659,"web_url":"http://patchwork.ozlabs.org/comment/3672659/","msgid":"<20260402104733.GZ3738786@noisy.programming.kicks-ass.net>","date":"2026-04-02T10:47:33","subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","submitter":{"id":493,"url":"http://patchwork.ozlabs.org/api/people/493/","name":"Peter Zijlstra","email":"peterz@infradead.org"},"content":"On Thu, Apr 02, 2026 at 02:56:01PM +0800, Hangbin Liu wrote:\n> The old value passed to cmpxchg() is semantically read-only: it is\n> only loaded into a register as a comparand and is never written back.\n> However, the macro currently assigns it implicitly to a local variable\n> of type __typeof__(*(ptr)), which triggers -Werror=discarded-qualifiers\n> when old is a const-qualified pointer and ptr points to a non-const type.\n> \n> To avoid this, let's add an explicit cast to __typeof__(*(ptr)) for the\n> old local variable in the cmpxchg macros. This explicit cast suppresses\n> the -Wdiscarded-qualifiers diagnostic.\n> \n> The new value is intentionally left without a cast: new will be stored\n> into *ptr, so silently accepting a const-qualified new would allow\n> callers to store a pointer-to-const into a non-const location without\n> any compiler warning.\n> \n> Suggested-by: Jakub Kicinski <kuba@kernel.org>\n> Signed-off-by: Hangbin Liu <liuhangbin@gmail.com>\n> ---\n\nWhere is this a problem? I've never seen this. Also, new code should\nprobably use try_cmpxchg() anyway.","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19211-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=desiato.20200630 header.b=fWHvfBdk;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19211-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2001:8b0:10b:1:d65d:64ff:fe57:4e05\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=desiato.20200630 header.b=fWHvfBdk;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=none (no SPF record) smtp.mailfrom=infradead.org\n (client-ip=2001:8b0:10b:1:d65d:64ff:fe57:4e05; helo=desiato.infradead.org;\n envelope-from=peterz@infradead.org; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmdqZ3v6nz1yGH\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 02 Apr 2026 21:48:10 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fmdqS48zqz2ySk;\n\tThu, 02 Apr 2026 21:48:04 +1100 (AEDT)","from desiato.infradead.org (desiato.infradead.org\n [IPv6:2001:8b0:10b:1:d65d:64ff:fe57:4e05])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fmdqL0J28z2xQD\n\tfor <linuxppc-dev@lists.ozlabs.org>; Thu, 02 Apr 2026 21:47:53 +1100 (AEDT)","from\n 2001-1c00-8d85-4b00-266e-96ff-fe07-7dcc.cable.dynamic.v6.ziggo.nl\n ([2001:1c00:8d85:4b00:266e:96ff:fe07:7dcc]\n helo=noisy.programming.kicks-ass.net)\n\tby desiato.infradead.org with esmtpsa (Exim 4.98.2 #2 (Red Hat Linux))\n\tid 1w8FaH-00000002G2g-3cX8;\n\tThu, 02 Apr 2026 10:47:34 +0000","by noisy.programming.kicks-ass.net (Postfix, from userid 1000)\n\tid 53C6A30301D; Thu, 02 Apr 2026 12:47:33 +0200 (CEST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775126884;\n\tcv=none;\n b=fYfUji5VT84oDofwqJAmsaWJg+dalkozq0V/qi8UMNSqLHEZI2UMcXV1JsE8NJnNfQHx4fGn/3KoUEVUxObcoDVcYZfn4E9ayAlNQH6i8SbJgFHOjPWUgxuJntNHAdBhYqmI+wIKnXgqWkdWCP56UB7Z4C+QpubUSMGdKM4YBxgwiEacPTDaVpAVIw1f4uRA44ogq6bGvEakMXXrXPjlMSTJJf0NmDQLTcy56tjJ5vb3RYXHL8LeEm2dkUsOhop+xg6DOtclY3YMRqoQn8R+y6ggA65CdDWRiYynYjxeN+scDe54YP0OF26WRty9t/RWoIP5+glDvJHneh4ZKcIxMg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775126884; c=relaxed/relaxed;\n\tbh=WuSnxkIyTO13mUz+vZ1/ml/c/eqQ5D0dK9NUy7xy4Pw=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=JXmY/yByIwCxAGOAuozvvqBT4cq91/kBiRezkkQSX1WyCUfbD5VupEhp0Cc0Kq0y9zucyebDgE/OrNHL+IohvVu1WrrZhiZe2cRjdrY84S4qd5M6QFISKVsWpLjDz5QSrVIYbv1QuGdlwRwxFNQ+WCtBkOiaI/GNqtLf4EcgG6S7PN6pZXiWI6IdgepgQzQAXFzp1QZRimuRLSbXcmztR2wXLxqPeXGmooxuE+xpIuhMIaImMog2P2t3ozfQkviYnCb3grp02rKDxzp4hYLuzP/sb8zxWE/rNhWgQme1+6dcesfJ2mjG3SUWpjCXTBrCNnGMRVzi9f4G6Bs7Q2BVjQ==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=infradead.org;\n dkim=pass (2048-bit key;\n secure) header.d=infradead.org header.i=@infradead.org header.a=rsa-sha256\n header.s=desiato.20200630 header.b=fWHvfBdk; dkim-atps=neutral;\n spf=none (client-ip=2001:8b0:10b:1:d65d:64ff:fe57:4e05;\n helo=desiato.infradead.org; envelope-from=peterz@infradead.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=infradead.org","DKIM-Signature":"v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed;\n\td=infradead.org; s=desiato.20200630; h=In-Reply-To:Content-Type:MIME-Version:\n\tReferences:Message-ID:Subject:Cc:To:From:Date:Sender:Reply-To:\n\tContent-Transfer-Encoding:Content-ID:Content-Description;\n\tbh=WuSnxkIyTO13mUz+vZ1/ml/c/eqQ5D0dK9NUy7xy4Pw=; b=fWHvfBdkYBp1lDE/7yjJLeJyG4\n\tTDG024jO+otVJtwiymsQjjwAfzXysI0Ne/Hap+hOUQ6HF3At22XcXejbtpYlWZVb7GLO9iSy8lBz/\n\txXoiPgVJTNjnS6NdQ+JrLTq5kguJS2cahxS6gs3sXaw3b07PcCyOKgqMNnJYuSMZkSWQ1zbwrH1lL\n\toQvCfWFVfYg2y5n87Si+3p5rgef7vqX5HJwvSTsRp8czWpsWUtQti6XMSrgnlzRPw7jmDhnI0sbSY\n\tFLNqQFUUhtoZK6LgqB9dMKy1Plr2pBXtNoo1Rj1bEdri+YGju2kRuh4KtAyO/E8p9i0u4EW5ey6u+\n\tj2zCRXxw==;","Date":"Thu, 2 Apr 2026 12:47:33 +0200","From":"Peter Zijlstra <peterz@infradead.org>","To":"Hangbin Liu <liuhangbin@gmail.com>","Cc":"Richard Henderson <richard.henderson@linaro.org>,\n\tMatt Turner <mattst88@gmail.com>,\n\tMagnus Lindholm <linmag7@gmail.com>,\n\tVineet Gupta <vgupta@kernel.org>, Brian Cain <bcain@kernel.org>,\n\t\"James E.J. Bottomley\" <James.Bottomley@hansenpartnership.com>,\n\tHelge Deller <deller@gmx.de>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tNicholas Piggin <npiggin@gmail.com>,\n\t\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n\tPaul Walmsley <pjw@kernel.org>, Palmer Dabbelt <palmer@dabbelt.com>,\n\tAlbert Ou <aou@eecs.berkeley.edu>, Alexandre Ghiti <alex@ghiti.fr>,\n\tYoshinori Sato <ysato@users.sourceforge.jp>,\n\tRich Felker <dalias@libc.org>,\n\tJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tAndreas Larsson <andreas@gaisler.com>,\n\tThomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,\n\tBorislav Petkov <bp@alien8.de>,\n\tDave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,\n\t\"H. Peter Anvin\" <hpa@zytor.com>, Chris Zankel <chris@zankel.net>,\n\tMax Filippov <jcmvbkbc@gmail.com>, linux-alpha@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n\tlinux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,\n\tlinux-sh@vger.kernel.org, sparclinux@vger.kernel.org,\n\tJakub Kicinski <kuba@kernel.org>","Subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","Message-ID":"<20260402104733.GZ3738786@noisy.programming.kicks-ass.net>","References":"<20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com>","X-Spam-Status":"No, score=-2.5 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_MED,SPF_HELO_NONE,SPF_NONE\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}},{"id":3672713,"web_url":"http://patchwork.ozlabs.org/comment/3672713/","msgid":"<ac5qIUS5azbWAc9q@fedora>","date":"2026-04-02T13:07:45","subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","submitter":{"id":15639,"url":"http://patchwork.ozlabs.org/api/people/15639/","name":"Hangbin Liu","email":"liuhangbin@gmail.com"},"content":"On Thu, Apr 02, 2026 at 09:57:47AM +0100, David Laight wrote:\n> > diff --git a/arch/alpha/include/asm/cmpxchg.h b/arch/alpha/include/asm/cmpxchg.h\n> > index ae1b96479d0c..b4b8dac759c4 100644\n> > --- a/arch/alpha/include/asm/cmpxchg.h\n> > +++ b/arch/alpha/include/asm/cmpxchg.h\n> > @@ -234,7 +234,7 @@ ____cmpxchg(volatile void *ptr, unsigned long old, unsigned long new,\n> >  \n> >  #define arch_cmpxchg_local(ptr, o, n)\t\t\t\t\t\\\n> >  ({\t\t\t\t\t\t\t\t\t\\\n> > -\t__typeof__(*(ptr)) _o_ = (o);\t\t\t\t\t\\\n> > +\t__typeof__(*(ptr)) _o_ = (__typeof__(*(ptr)))(o);\t\t\\\n> >  \t__typeof__(*(ptr)) _n_ = (n);\t\t\t\t\t\\\n> >  \t(__typeof__(*(ptr))) ____cmpxchg((ptr), (unsigned long)_o_,\t\\\n> >  \t\t\t\t\t  (unsigned long)_n_,\t\t\\\n> \n> That looks like it loses the check that 'o' has the same type as '*ptr'.\n> Maybe this works?\n> \tauto _o_ = 1 ? (o) : *(ptr);\n> \nOh, I didn't notice this. Thanks for the comment!\n\nBest Regards\nHangbin","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19216-incoming=patchwork.ozlabs.org@lists.ozlabs.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linuxppc-dev@lists.ozlabs.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aYMrR4Co;\n\tdkim-atps=neutral","legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=lists.ozlabs.org\n (client-ip=2404:9400:21b9:f100::1; helo=lists.ozlabs.org;\n envelope-from=linuxppc-dev+bounces-19216-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2607:f8b0:4864:20::1034\"","lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aYMrR4Co;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=gmail.com\n (client-ip=2607:f8b0:4864:20::1034; helo=mail-pj1-x1034.google.com;\n envelope-from=liuhangbin@gmail.com; receiver=lists.ozlabs.org)"],"Received":["from lists.ozlabs.org (lists.ozlabs.org\n [IPv6:2404:9400:21b9:f100::1])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature ECDSA (secp384r1 raw public key)\n server-digest SHA384)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fmhxB1z4Kz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 03 Apr 2026 00:08:12 +1100 (AEDT)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fmhx30L0sz2xTh;\n\tFri, 03 Apr 2026 00:08:07 +1100 (AEDT)","from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com\n [IPv6:2607:f8b0:4864:20::1034])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest\n SHA256)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fmhx03W6Mz2xN8\n\tfor <linuxppc-dev@lists.ozlabs.org>; Fri, 03 Apr 2026 00:08:03 +1100 (AEDT)","by mail-pj1-x1034.google.com with SMTP id\n 98e67ed59e1d1-35d9f68d011so535041a91.2\n        for <linuxppc-dev@lists.ozlabs.org>;\n Thu, 02 Apr 2026 06:08:03 -0700 (PDT)","from fedora ([209.132.188.88])\n        by smtp.gmail.com with ESMTPSA id\n 98e67ed59e1d1-35dbe41b11fsm7822915a91.0.2026.04.02.06.07.48\n        (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n        Thu, 02 Apr 2026 06:08:00 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775135286;\n\tcv=none;\n b=OqjQIEK2Q+/4deMudn3gQvj4dqC8Paz3iHp2dmp+Qaj9TLMc9XuyKQH8/PMVgMK/BDH9hPTTZ2r5+6fwsQGBQOmuyZgF4TDLxxpWMY6BBSHhb52IcL5IHs4Hnkis82Gh1cx9xrBVeMlwUB4hpS2vmF/4HXJfizjROMg02IndtMr+P6xnMdu3IuxgPYovfZBe5Kd6m7P3Jl82afPKraC7WLW4gcwzsPcqPIj7WCGITR+EqlPDCgdAmhOPZ8FXIENrYY2FD7TLixD0Mv4eTwH4vo3Mrmk04nGYg8evnbTEe5Wqesa8wmCUX6bUBPKYPNh5PjX6Vnhk3n45+2bUjnF8jQ==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775135286; c=relaxed/relaxed;\n\tbh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=;\n\th=Date:From:To:Cc:Subject:Message-ID:References:MIME-Version:\n\t Content-Type:Content-Disposition:In-Reply-To;\n b=Q9TCIigjRwM7fTZ1Y0KxrjHWpNGlmoZW+NcooAU7B67AZGYU/KuocbBVciGhc0DtvNiZtIygBsqEsbZykl7sYVPDWnwQ6YSh8d0O4X3RDihA/MO9BdOL/N3Kpp6jawYAGx8VsAAEOFeIWui9708Ijfnza66kHzbaTMGkv8eIb1ZErEb87k4cS7ePMyjr3McftEzQeSSsp7TrOGKEr5fryQofzGBHAH1vRCxA8iMiB32RT3hDoP5zO1XNXhalkcXMsK6F4+Xt3uUe9yE8iciOtaaaSb9Mr3CKEMsndcJaij7kqUBpLI9wXRxXI+dPLo1x4r3MKZvw3yVdpBB56kLlfA==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=none dis=none) header.from=gmail.com; dkim=pass (2048-bit key;\n unprotected) header.d=gmail.com header.i=@gmail.com header.a=rsa-sha256\n header.s=20251104 header.b=aYMrR4Co; dkim-atps=neutral;\n spf=pass (client-ip=2607:f8b0:4864:20::1034; helo=mail-pj1-x1034.google.com;\n envelope-from=liuhangbin@gmail.com;\n receiver=lists.ozlabs.org) smtp.mailfrom=gmail.com","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=gmail.com; s=20251104; t=1775135281; x=1775740081;\n darn=lists.ozlabs.org;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:from:to:cc:subject:date:message-id:reply-to;\n        bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=;\n        b=aYMrR4CoY07wEEfJv7vDUwD3aMcUfiDC0/jJcrS4HLpdAEpu03Fxd7I7Fa6cJbb3Vb\n         18uBGhb1mzFlOUV6SG1RbX+bhGuxBeV8/SHHBACcDtgOR25No+tSMq3WJ0oEM6rpb98V\n         /Yxm9UMjBwFdahjuEdkv1D9AEtr1hWTQ7Kjpa3iIxoE9uXHGOG7mXj/23wFD0RzKUlZE\n         uPTpjqxoOJ34O3nFTmF76l2TqJLWa3+Ue1trs/1QW/E8HLrs5w+z8I/YdQ4ml/DRmXiu\n         rL08a6PNofMkaX3e4iKmWLitx2CqE1GR2tASD0NX6UG9fNLa5SmwX7DCGzSFVXJ6MImC\n         lsaw==","X-Google-DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/relaxed;\n        d=1e100.net; s=20251104; t=1775135281; x=1775740081;\n        h=in-reply-to:content-disposition:mime-version:references:message-id\n         :subject:cc:to:from:date:x-gm-gg:x-gm-message-state:from:to:cc\n         :subject:date:message-id:reply-to;\n        bh=KWxJTOWQkri5jmv5ZKMT+tNuIWsfKgbRVKTEMtbqloY=;\n        b=GdacZvExljKLRgpECgquGrRWPEpTgI3ZofjXJ9iIDvTqco6MtDiP1mElPm7FFg7qkj\n         rqx0FIgEfJg99VJXiGZogBo3QDRsaciC56DptjiE1WDZ24d9f5suvawqby88Ef5g/Bl7\n         Eah9b2iBdait6nNAf42cdrSYFK8uhCJ24fLFPz0+lpKBuS+5lq8CftxQ87MSe57X2b17\n         ylCDIGN7gVQuX8hKm/LWYCbTlGtUsWVh1+foMdhRskl8wqw5lfrfit3/fzoRyUHYzjAt\n         wfDsZFcE16vFuoaGp8jghRy7qjlPWZt41lvcvkgfL/xlJAdZ2ovYh6FEeehIvYSGWt8U\n         ceGA==","X-Forwarded-Encrypted":"i=1;\n AJvYcCXmhPtygOGM064bYVs7EbvS8esKDMY4+3gATQgPWpft6wFL8HViwIdoM9OhNCnnl73Vj9DW1SsFsNJi1gU=@lists.ozlabs.org","X-Gm-Message-State":"AOJu0Yw8xfz3czGNhKfr7WT8YYTC6HN2E/X6Bz6PqmNXBf0Endepk0y8\n\tMaF8fR+Mf9E1woPXOVOUZTUF1sFlDnhsjS8az898lIpwidDBouQPkSu9","X-Gm-Gg":"AeBDiesLgZCEYzIcTADLEUfMlg0IIa2hznAimBXdU6yTle8HgTI/0a5fNJreROBBASV\n\tfQvQeCGtt1Qn4wH8ErtqyQvPgXKQUJLt/uGNYn6sDrLXGEMTkEH9BZ6DxoeKqDVd11o9UQieu1h\n\tIpLA8KiOkhq6jf1Q/j/EKAfj0285MQS0T9/9Teiaue0sNqPOKgLqFqmy0/aGdzSw7Vq1O2nfdGV\n\tkY6pZee3bAccvsmGd+SNoJ8Uw64Bq86BGSwoerpVO0/Rocct+PHp4rVdl+/G+0Yc7v7ZFOggBc6\n\tWtVreSNpCbRD1RcurlGd6VgVJWF4B+lL028e2dloJffstebvD9KofxtLkYhgF+HsNlMOA2YLCRP\n\t7mBUcQD9dK1n4XVDzofW24c/AmpsforNT+jeVWRXus/2bmI3vfnpgzobdr8QKSAPJvo36948i1h\n\tJGWLQi0suA6MEhPQYovgKZrvwEj6w=","X-Received":"by 2002:a17:90b:4d81:b0:35d:a412:3c79 with SMTP id\n 98e67ed59e1d1-35dc7079cb6mr6805318a91.30.1775135280985;\n        Thu, 02 Apr 2026 06:08:00 -0700 (PDT)","Date":"Thu, 2 Apr 2026 13:07:45 +0000","From":"Hangbin Liu <liuhangbin@gmail.com>","To":"David Laight <david.laight.linux@gmail.com>","Cc":"Richard Henderson <richard.henderson@linaro.org>,\n\tMatt Turner <mattst88@gmail.com>,\n\tMagnus Lindholm <linmag7@gmail.com>,\n\tVineet Gupta <vgupta@kernel.org>, Brian Cain <bcain@kernel.org>,\n\t\"James E.J. Bottomley\" <James.Bottomley@hansenpartnership.com>,\n\tHelge Deller <deller@gmx.de>,\n\tMadhavan Srinivasan <maddy@linux.ibm.com>,\n\tMichael Ellerman <mpe@ellerman.id.au>,\n\tNicholas Piggin <npiggin@gmail.com>,\n\t\"Christophe Leroy (CS GROUP)\" <chleroy@kernel.org>,\n\tPaul Walmsley <pjw@kernel.org>, Palmer Dabbelt <palmer@dabbelt.com>,\n\tAlbert Ou <aou@eecs.berkeley.edu>, Alexandre Ghiti <alex@ghiti.fr>,\n\tYoshinori Sato <ysato@users.sourceforge.jp>,\n\tRich Felker <dalias@libc.org>,\n\tJohn Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,\n\t\"David S. Miller\" <davem@davemloft.net>,\n\tAndreas Larsson <andreas@gaisler.com>,\n\tThomas Gleixner <tglx@kernel.org>, Ingo Molnar <mingo@redhat.com>,\n\tBorislav Petkov <bp@alien8.de>,\n\tDave Hansen <dave.hansen@linux.intel.com>, x86@kernel.org,\n\t\"H. Peter Anvin\" <hpa@zytor.com>, Chris Zankel <chris@zankel.net>,\n\tMax Filippov <jcmvbkbc@gmail.com>, linux-alpha@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n\tlinux-hexagon@vger.kernel.org, linux-parisc@vger.kernel.org,\n\tlinuxppc-dev@lists.ozlabs.org, linux-riscv@lists.infradead.org,\n\tlinux-sh@vger.kernel.org, sparclinux@vger.kernel.org,\n\tJakub Kicinski <kuba@kernel.org>","Subject":"Re: [PATCH] cmpxchg: allow const-qualified old value in cmpxchg()","Message-ID":"<ac5qIUS5azbWAc9q@fedora>","References":"<20260402-cmpxchg-v1-1-4561e2c05d2c@gmail.com>\n <20260402095747.6efbd456@pumpkin>","X-Mailing-List":"linuxppc-dev@lists.ozlabs.org","List-Id":"<linuxppc-dev.lists.ozlabs.org>","List-Help":"<mailto:linuxppc-dev+help@lists.ozlabs.org>","List-Owner":"<mailto:linuxppc-dev+owner@lists.ozlabs.org>","List-Post":"<mailto:linuxppc-dev@lists.ozlabs.org>","List-Archive":"<https://lore.kernel.org/linuxppc-dev/>,\n  <https://lists.ozlabs.org/pipermail/linuxppc-dev/>","List-Subscribe":"<mailto:linuxppc-dev+subscribe@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-digest@lists.ozlabs.org>,\n  <mailto:linuxppc-dev+subscribe-nomail@lists.ozlabs.org>","List-Unsubscribe":"<mailto:linuxppc-dev+unsubscribe@lists.ozlabs.org>","Precedence":"list","MIME-Version":"1.0","Content-Type":"text/plain; charset=us-ascii","Content-Disposition":"inline","In-Reply-To":"<20260402095747.6efbd456@pumpkin>","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIM_SIGNED,DKIM_VALID,\n\tDKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,RCVD_IN_DNSWL_NONE,\n\tSPF_HELO_NONE,SPF_PASS autolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]