[{"id":3673486,"web_url":"http://patchwork.ozlabs.org/comment/3673486/","msgid":"<CAJZ5v0hRKyPesMGKGoDZEMDCX-GVw6Z-dxMLhNhwy6Kjz=7MCQ@mail.gmail.com>","date":"2026-04-04T17:11:59","subject":"Re: [PATCH v4 0/9] driver core: Fix some race conditions","submitter":{"id":64267,"url":"http://patchwork.ozlabs.org/api/people/64267/","name":"Rafael J. Wysocki","email":"rafael@kernel.org"},"content":"On Sat, Apr 4, 2026 at 2:07 AM Douglas Anderson <dianders@chromium.org> wrote:\n>\n> The main goal of this series is to fix the observed bug talked about\n> in the first patch (\"driver core: Don't let a device probe until it's\n> ready\"). That patch fixes a problem that has been observed in the real\n> world and could land even if the rest of the patches are found\n> unacceptable or need to be spun.\n>\n> That said, during patch review Danilo correctly pointed out that many\n> of the bitfield accesses in \"struct device\" are unsafe. I added a\n> bunch of patches in the series to address each one.\n>\n> Danilo said he's most worried about \"can_match\", so I put that one\n> first. After that, I tried to transition bitfields to flags in reverse\n> order to when the bitfield was added.\n>\n> Even if transitioning from bitfields to flags isn't truly needed for\n> correctness, it seems silly (and wasteful of space in struct device)\n> to have some in bitfields and some as flags. Thus I didn't spend time\n> for each bitfield showing that it's truly needed for correctness.\n>\n> Transition was done semi manually. Presumably someone skilled at\n> coccinelle could do a better job, but I just used sed in a heavy-\n> handed manner and then reviewed/fixed the results, undoing anything my\n> script got wrong. My terrible/ugly script was:\n>\n> var=can_match\n> caps=\"${var^^}\"\n> for f in $(git grep -l \"[>\\.]${var}[^1-9_a-zA-Z\\[]\"); do\n>   echo $f\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = true/set_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = true/dev_set_${caps}(\\&\\\\1)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = false/clear_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = false/dev_clear_${caps}(\\&\\\\1)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var} = \\([^;]*\\)/assign_bit(DEV_FLAG_${caps}, \\&\\\\1->flags, \\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var} = \\([^;]*\\)/dev_assign_${caps}(\\&\\\\1, \\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)->${var}\\([^1-9_a-zA-Z\\[]\\)/test_bit(DEV_FLAG_${caps}, \\&\\\\1->flags)\\\\2/\" \"$f\"\n>   sed -i~ -e \"s/\\([a-zA-Z_0-9\\.>()-][a-zA-Z_0-9\\.>()-]*\\)\\.${var}\\([^1-9_a-zA-Z\\[]\\)/dev_${caps}(\\&\\\\1)\\\\2/\" \"$f\"\n> done\n>\n> From v3 to v4, I transitioned to accessor functions with another ugly\n> sed script. I had git format the old patches, then transformed them\n> with:\n>\n> for f in *.patch; do\n>   echo $f\n>   sed -i~ -e \"s/test_and_set_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_test_and_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/test_and_set_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_test_and_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/test_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/test_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/set_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/set_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_set_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/clear_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags)/dev_clear_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/clear_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags)/dev_clear_\\\\L\\\\1(\\\\2)/\" \"$f\"\n>   sed -i~ -e \"s/assign_bit(DEV_FLAG_\\([^,]*\\), \\&\\(.*\\)->flags, \\(.*\\))/dev_assign_\\\\L\\\\1(\\\\2, \\\\3)/\" \"$f\"\n>   sed -i~ -e \"s/assign_bit(DEV_FLAG_\\([^,]*\\), \\(.*\\)\\.flags, \\(.*\\))/dev_assign_\\\\L\\\\1(\\\\2, \\\\3)/\" \"$f\"\n> done\n>\n> ...and then did a few manual touchups for spacing.\n>\n> NOTE: one potentially \"controversial\" choice I made in some patches\n> was to always reserve a flag ID even if a flag is only used under\n> certain CONFIG_ settings. This is a change from how things were\n> before. Keeping the numbering consistent and allowing easy\n> compile-testing of both CONFIG settings seemed worth it, especially\n> since it won't take up any extra space until we've added a lot more\n> flags.\n>\n> I only marked the first patch as a \"Fix\" since it is the only one\n> fixing observed problems. Other patches could be considered fixes too\n> if folks want.\n>\n> I tested the first patch in the series backported to kernel 6.6 on the\n> Pixel phone that was experiencing the race. I added extra printouts to\n> make sure that the problem was hitting / addressed. The rest of the\n> patches are tested with allmodconfig with arm32, arm64, ppc, and\n> x86. I boot tested on an arm64 Chromebook running mainline.\n>\n> Changes in v4:\n> - Use accessor functions for flags\n>\n> Changes in v3:\n> - Use a new \"flags\" bitfield\n> - Add missing \\n in probe error message\n>\n> Changes in v2:\n> - Instead of adjusting the ordering, use \"ready_to_probe\" flag\n>\n> Douglas Anderson (9):\n>   driver core: Don't let a device probe until it's ready\n>   driver core: Replace dev->can_match with dev_can_match()\n>   driver core: Replace dev->dma_iommu with dev_dma_iommu()\n>   driver core: Replace dev->dma_skip_sync with dev_dma_skip_sync()\n>   driver core: Replace dev->dma_ops_bypass with dev_dma_ops_bypass()\n>   driver core: Replace dev->state_synced with dev_state_synced()\n>   driver core: Replace dev->dma_coherent with dev_dma_coherent()\n>   driver core: Replace dev->of_node_reused with dev_of_node_reused()\n>   driver core: Replace dev->offline + ->offline_disabled with accessors\n>\n>  arch/arc/mm/dma.c                             |   4 +-\n>  arch/arm/mach-highbank/highbank.c             |   2 +-\n>  arch/arm/mach-mvebu/coherency.c               |   2 +-\n>  arch/arm/mm/dma-mapping-nommu.c               |   4 +-\n>  arch/arm/mm/dma-mapping.c                     |  28 ++--\n>  arch/arm64/kernel/cpufeature.c                |   2 +-\n>  arch/arm64/mm/dma-mapping.c                   |   2 +-\n>  arch/mips/mm/dma-noncoherent.c                |   2 +-\n>  arch/powerpc/kernel/dma-iommu.c               |   8 +-\n>  .../platforms/pseries/hotplug-memory.c        |   4 +-\n>  arch/riscv/mm/dma-noncoherent.c               |   2 +-\n>  drivers/acpi/scan.c                           |   2 +-\n>  drivers/base/core.c                           |  53 +++++---\n>  drivers/base/cpu.c                            |   4 +-\n>  drivers/base/dd.c                             |  28 ++--\n>  drivers/base/memory.c                         |   2 +-\n>  drivers/base/pinctrl.c                        |   2 +-\n>  drivers/base/platform.c                       |   2 +-\n>  drivers/dma/ti/k3-udma-glue.c                 |   6 +-\n>  drivers/dma/ti/k3-udma.c                      |   6 +-\n>  drivers/iommu/dma-iommu.c                     |   9 +-\n>  drivers/iommu/iommu.c                         |   5 +-\n>  drivers/net/pcs/pcs-xpcs-plat.c               |   2 +-\n>  drivers/of/device.c                           |   6 +-\n>  drivers/pci/of.c                              |   2 +-\n>  drivers/pci/pwrctrl/core.c                    |   2 +-\n>  drivers/regulator/bq257xx-regulator.c         |   2 +-\n>  drivers/regulator/rk808-regulator.c           |   2 +-\n>  drivers/tty/serial/serial_base_bus.c          |   2 +-\n>  drivers/usb/gadget/udc/aspeed-vhub/dev.c      |   2 +-\n>  include/linux/device.h                        | 120 ++++++++++++------\n>  include/linux/dma-map-ops.h                   |   6 +-\n>  include/linux/dma-mapping.h                   |   2 +-\n>  include/linux/iommu-dma.h                     |   3 +-\n>  kernel/cpu.c                                  |   4 +-\n>  kernel/dma/mapping.c                          |  12 +-\n>  mm/hmm.c                                      |   2 +-\n>  37 files changed, 206 insertions(+), 142 deletions(-)\n>\n> --\n\nFor the whole set\n\nReviewed-by: Rafael J. Wysocki (Intel) <rafael@kernel.org>","headers":{"Return-Path":"\n <linuxppc-dev+bounces-19322-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=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=GcgJMoZ0;\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-19322-incoming=patchwork.ozlabs.org@lists.ozlabs.org;\n receiver=patchwork.ozlabs.org)","lists.ozlabs.org;\n arc=none smtp.remote-ip=\"2600:3c0a:e001:78e:0:1991:8:25\"","lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org","lists.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=GcgJMoZ0;\n\tdkim-atps=neutral","lists.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=kernel.org\n (client-ip=2600:3c0a:e001:78e:0:1991:8:25; helo=sea.source.kernel.org;\n envelope-from=rafael@kernel.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)\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4fp2Ft0qRGz1xtJ\n\tfor <incoming@patchwork.ozlabs.org>; Sun, 05 Apr 2026 03:12:17 +1000 (AEST)","from boromir.ozlabs.org (localhost [127.0.0.1])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 4fp2Fr48LGz2ypW;\n\tSun, 05 Apr 2026 03:12:16 +1000 (AEST)","from sea.source.kernel.org (sea.source.kernel.org\n [IPv6:2600:3c0a:e001:78e:0:1991:8:25])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange x25519)\n\t(No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 4fp2Fq4xjMz2ynn\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sun, 05 Apr 2026 03:12:15 +1000 (AEST)","from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58])\n\tby sea.source.kernel.org (Postfix) with ESMTP id 66BA54455F\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sat,  4 Apr 2026 17:12:13 +0000 (UTC)","by smtp.kernel.org (Postfix) with ESMTPSA id 09AA4C2BCC6\n\tfor <linuxppc-dev@lists.ozlabs.org>; Sat,  4 Apr 2026 17:12:13 +0000 (UTC)","by mail-oa1-f48.google.com with SMTP id\n 586e51a60fabf-4042905015cso1753039fac.0\n        for <linuxppc-dev@lists.ozlabs.org>;\n Sat, 04 Apr 2026 10:12:12 -0700 (PDT)"],"ARC-Seal":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1775322736;\n\tcv=none;\n b=Y79N00UHL5slBDgk9uvxczcEzkFnDkDn4csbN2tQLB57PIwptuOcv9aj1bljFzrmH5EFjnW1dGpDipZTmvc7Aoppvx5kfxgAcYvF8DiVsY2cPB0LvNyYvqBwq0sT6Gz4v0kyijHf5rZCsU0MbWWn9YqwDHrbU8OkMm8k9PO98Az8YQfZZuA284kDQUQ0vXbfYN43Z/3Rvjj2lZXiwvhW5QmrwxfNfT5Psje613/5TorO/T0bitkXfXep/yb4yoU21gnpB+bLhjed109zNJsYz15nfo1Ge9ZMCK8zxBVBX233PKcDdD05NLuCUuHjIyzCG/OcHUX7p1tWgp1ekaGfQg==","ARC-Message-Signature":"i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707;\n\tt=1775322736; c=relaxed/relaxed;\n\tbh=rjMH1/SsUECEYlZino7gffNjLbrHGi2A1dFabhVdjMs=;\n\th=MIME-Version:References:In-Reply-To:From:Date:Message-ID:Subject:\n\t To:Cc:Content-Type;\n b=E+P2OlbzKlZBTOz8mIE5m/NZpMeriZXQdrprHVFNt/neUXAxJcSc5sbXkthTZLaDiu8HdOeF9GzIVMrHEUKyzfWIyeBoy9T+f19gzHiaNbeNLwf3b8Cre/Kcsm882+nP8boPMPahcKPNUurUS+8b7uMbRsQSqgtfpRZUCeWPqmU+O/qDKG8M9sXRRpzuVA56fXpeQW8ABFTpFBZek3AflbMdZExjiu3seJReN+fQ1yDccsZaCg6ar9PGK9YL5PJmFmvyrBUqhJmz/iS8o3H1nbL663Da6/1zxvX3PfS4jOMTi2J6Gk9q3QWXNQVYQXRXtOXyxF/qamiMaw15Tbb2PQ==","ARC-Authentication-Results":"i=1; lists.ozlabs.org;\n dmarc=pass (p=quarantine dis=none) header.from=kernel.org;\n dkim=pass (2048-bit key;\n unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256\n header.s=k20201202 header.b=GcgJMoZ0; dkim-atps=neutral;\n spf=pass (client-ip=2600:3c0a:e001:78e:0:1991:8:25;\n helo=sea.source.kernel.org; envelope-from=rafael@kernel.org;\n receiver=lists.ozlabs.org) smtp.mailfrom=kernel.org","DKIM-Signature":"v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org;\n\ts=k20201202; t=1775322733;\n\tbh=6HWbdXTvY5ARCKQw/mJejk6jJkYYvhLGzuFZu/CMKrk=;\n\th=References:In-Reply-To:From:Date:Subject:To:Cc:From;\n\tb=GcgJMoZ0JuCk1oE2p1uOznAEPZR6CrHmU63ZoUxVtxnX8mJab0r4uPFFxlAmTqcZA\n\t myj15f5ytltHO0slbfE7HO6gmrYbw3URX3zm5Ch5rWSlVdR401ec5dfg7RfsH5oBN4\n\t PnqK3oN/0RY4LZWR+knx2bZtXfIc8cep3MmTai8iVDgIiE9nPWWVN8CVFPKdI3F70S\n\t gC8kQiqGR2CuAUPcJ/9Yaydp3RzrBUC+10/bPsY353+aL5ufFQEdpAgg8xvos3Up3I\n\t owNuHEnPhFIkScgSgy7tm8cpYaSl2vK6VDp57FI0G+Yzb2m579C7WS8lt58GdxocpN\n\t fGfJdiBZK7yLg==","X-Forwarded-Encrypted":"i=1;\n AJvYcCUhe1U5lOIRIhexUa3kBifCAshGGvejgQJpSpu+jTe4PMvr326hZEf+VdF/wo+SD1R6vTyotKfZAqTGmqo=@lists.ozlabs.org","X-Gm-Message-State":"AOJu0Yyv72mgAqa8CHRlsGPqTy43tfqQkfMiBe0iTpRBPwfSdz6Clcur\n\tx1+pi3fw+ERnEgpSzglAJ+fzJqre0/01Mzmx5ExOyUdCWVniMFqIw6OYbYmBmghd+g9+1PCCcEa\n\tBstX5ZxVLVeAQrhEElZn7zpXpPp9ji6Q=","X-Received":"by 2002:a05:6871:581e:b0:422:cd76:929d with SMTP id\n 586e51a60fabf-4230fd2d9e4mr3996409fac.18.1775322730928; Sat, 04 Apr 2026\n 10:12:10 -0700 (PDT)","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","References":"<20260404000644.522677-1-dianders@chromium.org>","In-Reply-To":"<20260404000644.522677-1-dianders@chromium.org>","From":"\"Rafael J. Wysocki\" <rafael@kernel.org>","Date":"Sat, 4 Apr 2026 19:11:59 +0200","X-Gmail-Original-Message-ID":"\n <CAJZ5v0hRKyPesMGKGoDZEMDCX-GVw6Z-dxMLhNhwy6Kjz=7MCQ@mail.gmail.com>","X-Gm-Features":"AQROBzCS1sK1yep87rT-2xolltVfQ4j4qlt-9lHai0wQJnu4V3tzUHOX8_7jVCo","Message-ID":"\n <CAJZ5v0hRKyPesMGKGoDZEMDCX-GVw6Z-dxMLhNhwy6Kjz=7MCQ@mail.gmail.com>","Subject":"Re: [PATCH v4 0/9] driver core: Fix some race conditions","To":"Douglas Anderson <dianders@chromium.org>","Cc":"Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n \"Rafael J . Wysocki\" <rafael@kernel.org>,\n\tDanilo Krummrich <dakr@kernel.org>, Alan Stern <stern@rowland.harvard.edu>,\n\tSaravana Kannan <saravanak@kernel.org>, Christoph Hellwig <hch@lst.de>,\n Eric Dumazet <edumazet@google.com>,\n\tJohan Hovold <johan@kernel.org>, Leon Romanovsky <leon@kernel.org>,\n\tAlexander Lobakin <aleksander.lobakin@intel.com>,\n Alexey Kardashevskiy <aik@ozlabs.ru>,\n\tRobin Murphy <robin.murphy@arm.com>,\n Andrew Morton <akpm@linux-foundation.org>, Frank.Li@kernel.org,\n\tJason Gunthorpe <jgg@ziepe.ca>, alex@ghiti.fr,\n alexander.stein@ew.tq-group.com,\n\tandre.przywara@arm.com, andrew@codeconstruct.com.au, andrew@lunn.ch,\n\tandriy.shevchenko@linux.intel.com, aou@eecs.berkeley.edu, ardb@kernel.org,\n\tbhelgaas@google.com, brgl@kernel.org, broonie@kernel.org,\n\tcatalin.marinas@arm.com, chleroy@kernel.org, davem@davemloft.net,\n\tdavid@kernel.org, devicetree@vger.kernel.org, dmaengine@vger.kernel.org,\n\tdriver-core@lists.linux.dev, gbatra@linux.ibm.com,\n\tgregory.clement@bootlin.com, hkallweit1@gmail.com, iommu@lists.linux.dev,\n\tjirislaby@kernel.org, joel@jms.id.au, joro@8bytes.org, kees@kernel.org,\n\tkevin.brodsky@arm.com, kuba@kernel.org, lenb@kernel.org, lgirdwood@gmail.com,\n\tlinux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org,\n\tlinux-aspeed@lists.ozlabs.org, linux-cxl@vger.kernel.org,\n\tlinux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-mm@kvack.org,\n\tlinux-pci@vger.kernel.org, linux-riscv@lists.infradead.org,\n\tlinux-serial@vger.kernel.org, linux-snps-arc@lists.infradead.org,\n\tlinux-usb@vger.kernel.org, linux@armlinux.org.uk,\n\tlinuxppc-dev@lists.ozlabs.org, m.szyprowski@samsung.com, maddy@linux.ibm.com,\n\tmani@kernel.org, maz@kernel.org, miko.lenczewski@arm.com, mpe@ellerman.id.au,\n\tnetdev@vger.kernel.org, npiggin@gmail.com, osalvador@suse.de,\n\toupton@kernel.org, pabeni@redhat.com, palmer@dabbelt.com,\n\tpeter.ujfalusi@gmail.com, peterz@infradead.org, pjw@kernel.org,\n\trobh@kernel.org, sebastian.hesselbarth@gmail.com, tglx@kernel.org,\n\ttsbogend@alpha.franken.de, vgupta@kernel.org, vkoul@kernel.org,\n\twill@kernel.org, willy@infradead.org, yangyicong@hisilicon.com,\n\tyeoreum.yun@arm.com","Content-Type":"text/plain; charset=\"UTF-8\"","Content-Transfer-Encoding":"quoted-printable","X-Spam-Status":"No, score=-0.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED,\n\tDKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS\n\tautolearn=disabled version=4.0.1 OzLabs 8","X-Spam-Checker-Version":"SpamAssassin 4.0.1 (2024-03-25) on lists.ozlabs.org"}}]